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 SkDrawGroup_DEFINED
11 #define SkDrawGroup_DEFINED
13 #include "SkDrawable.h"
14 #include "SkIntArray.h"
15 #include "SkMemberInfo.h"
17 class SkGroup : public SkDrawable { //interface for schema element <g>
18 public:
19 DECLARE_MEMBER_INFO(Group);
20 SkGroup();
21 virtual ~SkGroup();
22 virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE;
23 virtual bool contains(SkDisplayable* );
24 SkGroup* copy();
25 SkBool copySet(int index);
26 virtual SkDisplayable* deepCopy(SkAnimateMaker* );
27 virtual bool doEvent(SkDisplayEvent::Kind , SkEventState* state );
28 virtual bool draw(SkAnimateMaker& );
29 #ifdef SK_DUMP_ENABLED
30 virtual void dump(SkAnimateMaker* );
31 virtual void dumpDrawables(SkAnimateMaker* );
32 virtual void dumpEvents();
33 #endif
34 int findGroup(SkDrawable* drawable, SkTDDrawableArray** list,
35 SkGroup** parent, SkGroup** found, SkTDDrawableArray** grandList);
36 virtual bool enable(SkAnimateMaker& );
37 SkTDDrawableArray* getChildren() { return &fChildren; }
38 SkGroup* getOriginal() { return fOriginal; }
39 virtual bool hasEnable() const;
40 virtual void initialize();
41 SkBool isACopy() { return fOriginal != NULL; }
42 void markCopyClear(int index);
43 void markCopySet(int index);
44 void markCopySize(int index);
45 bool markedForDelete(int index) const { return (fCopies[index >> 5] & 1 << (index & 0x1f)) == 0; }
46 void reset();
47 bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* );
48 virtual void setSteps(int steps);
49 #ifdef SK_DEBUG
50 virtual void validate();
51 #endif
52 protected:
53 bool ifCondition(SkAnimateMaker& maker, SkDrawable* drawable,
54 SkString& conditionString);
55 SkString condition;
56 SkString enableCondition;
57 SkTDDrawableArray fChildren;
58 SkTDDrawableArray* fParentList;
59 SkTDIntArray fCopies;
60 SkGroup* fOriginal;
61 private:
62 typedef SkDrawable INHERITED;
63 };
65 class SkSave: public SkGroup {
66 DECLARE_MEMBER_INFO(Save);
67 virtual bool draw(SkAnimateMaker& );
68 private:
69 typedef SkGroup INHERITED;
70 };
72 #endif // SkDrawGroup_DEFINED