Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
2 /*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
10 #ifndef SkDrawBitmap_DEFINED
11 #define SkDrawBitmap_DEFINED
13 #include "SkBoundable.h"
14 #include "SkBase64.h"
15 #include "SkBitmap.h"
16 // #include "SkImageDecoder.h"
17 #include "SkMemberInfo.h"
19 class SkBaseBitmap : public SkBoundable {
20 DECLARE_MEMBER_INFO(BaseBitmap);
21 SkBaseBitmap();
22 virtual ~SkBaseBitmap();
23 virtual bool draw(SkAnimateMaker& );
24 protected:
25 SkBitmap fBitmap;
26 SkScalar x;
27 SkScalar y;
28 private:
29 friend class SkDrawTo;
30 friend class SkDrawBitmapShader;
31 typedef SkBoundable INHERITED;
32 };
34 class SkDrawBitmap : public SkBaseBitmap {
35 DECLARE_DRAW_MEMBER_INFO(Bitmap);
36 SkDrawBitmap();
37 virtual ~SkDrawBitmap();
38 #ifdef SK_DUMP_ENABLED
39 virtual void dump(SkAnimateMaker* );
40 #endif
41 virtual void onEndElement(SkAnimateMaker& );
42 virtual bool setProperty(int index, SkScriptValue& value);
43 protected:
44 int /*SkBitmap::Config*/ format;
45 int32_t height;
46 int32_t rowBytes;
47 int32_t width;
48 SkColor fColor;
49 SkBool fColorSet;
50 typedef SkBaseBitmap INHERITED;
51 };
53 class SkImageBaseBitmap : public SkBaseBitmap {
54 DECLARE_MEMBER_INFO(ImageBaseBitmap);
55 SkImageBaseBitmap();
56 virtual ~SkImageBaseBitmap();
57 virtual SkDisplayable* deepCopy(SkAnimateMaker* );
58 virtual void dirty();
59 virtual bool draw(SkAnimateMaker& );
60 virtual bool getProperty(int index, SkScriptValue* value) const;
61 virtual void onEndElement(SkAnimateMaker& maker);
62 private:
63 void resolve() const { (const_cast<SkImageBaseBitmap*>(this))->resolve(); }
64 void resolve();
65 protected:
66 SkBase64 base64;
67 SkString src;
68 SkString fLast; // cache of src so that stream isn't unnecessarily decoded
69 SkBool fDirty;
70 const char* fUriBase;
71 typedef SkBaseBitmap INHERITED;
72 };
74 #endif // SkDrawBitmap_DEFINED