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 SkPathParts_DEFINED
11 #define SkPathParts_DEFINED
13 #include "SkDisplayable.h"
14 #include "SkMemberInfo.h"
15 #include "SkPath.h"
17 class SkDrawPath;
18 class SkDrawMatrix;
20 class SkPathPart : public SkDisplayable {
21 public:
22 SkPathPart();
23 virtual bool add() = 0;
24 virtual void dirty();
25 virtual SkDisplayable* getParent() const;
26 virtual bool setParent(SkDisplayable* parent);
27 #ifdef SK_DEBUG
28 virtual bool isPathPart() const { return true; }
29 #endif
30 protected:
31 SkDrawPath* fPath;
32 };
34 class SkMoveTo : public SkPathPart {
35 DECLARE_MEMBER_INFO(MoveTo);
36 SkMoveTo();
37 virtual bool add();
38 protected:
39 SkScalar x;
40 SkScalar y;
41 };
43 class SkRMoveTo : public SkMoveTo {
44 DECLARE_MEMBER_INFO(RMoveTo);
45 virtual bool add();
46 private:
47 typedef SkMoveTo INHERITED;
48 };
50 class SkLineTo : public SkPathPart {
51 DECLARE_MEMBER_INFO(LineTo);
52 SkLineTo();
53 virtual bool add();
54 protected:
55 SkScalar x;
56 SkScalar y;
57 };
59 class SkRLineTo : public SkLineTo {
60 DECLARE_MEMBER_INFO(RLineTo);
61 virtual bool add();
62 private:
63 typedef SkLineTo INHERITED;
64 };
66 class SkQuadTo : public SkPathPart {
67 DECLARE_MEMBER_INFO(QuadTo);
68 SkQuadTo();
69 virtual bool add();
70 protected:
71 SkScalar x1;
72 SkScalar y1;
73 SkScalar x2;
74 SkScalar y2;
75 };
77 class SkRQuadTo : public SkQuadTo {
78 DECLARE_MEMBER_INFO(RQuadTo);
79 virtual bool add();
80 private:
81 typedef SkQuadTo INHERITED;
82 };
84 class SkCubicTo : public SkPathPart {
85 DECLARE_MEMBER_INFO(CubicTo);
86 SkCubicTo();
87 virtual bool add();
88 protected:
89 SkScalar x1;
90 SkScalar y1;
91 SkScalar x2;
92 SkScalar y2;
93 SkScalar x3;
94 SkScalar y3;
95 };
97 class SkRCubicTo : public SkCubicTo {
98 DECLARE_MEMBER_INFO(RCubicTo);
99 virtual bool add();
100 private:
101 typedef SkCubicTo INHERITED;
102 };
104 class SkClose : public SkPathPart {
105 DECLARE_EMPTY_MEMBER_INFO(Close);
106 virtual bool add();
107 };
109 class SkAddGeom : public SkPathPart {
110 DECLARE_PRIVATE_MEMBER_INFO(AddGeom);
111 SkAddGeom();
112 protected:
113 int /*SkPath::Direction*/ direction;
114 };
116 class SkAddRect : public SkAddGeom {
117 DECLARE_MEMBER_INFO(AddRect);
118 SkAddRect();
119 virtual bool add();
120 protected:
121 SkRect fRect;
122 private:
123 typedef SkAddGeom INHERITED;
124 };
126 class SkAddOval : public SkAddRect {
127 DECLARE_MEMBER_INFO(AddOval);
128 virtual bool add();
129 private:
130 typedef SkAddRect INHERITED;
131 };
133 class SkAddCircle : public SkAddGeom {
134 DECLARE_MEMBER_INFO(AddCircle);
135 SkAddCircle();
136 virtual bool add();
137 private:
138 SkScalar radius;
139 SkScalar x;
140 SkScalar y;
141 typedef SkAddGeom INHERITED;
142 };
144 class SkAddRoundRect : public SkAddRect {
145 DECLARE_MEMBER_INFO(AddRoundRect);
146 SkAddRoundRect();
147 virtual bool add();
148 private:
149 SkScalar rx;
150 SkScalar ry;
151 typedef SkAddRect INHERITED;
152 };
154 class SkAddPath : public SkPathPart {
155 DECLARE_MEMBER_INFO(AddPath);
156 SkAddPath();
157 virtual bool add();
158 private:
159 typedef SkPathPart INHERITED;
160 SkDrawMatrix* matrix;
161 SkDrawPath* path;
162 };
164 #endif // SkPathParts_DEFINED