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.
michael@0 | 1 | |
michael@0 | 2 | /* |
michael@0 | 3 | * Copyright 2011 Google Inc. |
michael@0 | 4 | * |
michael@0 | 5 | * Use of this source code is governed by a BSD-style license that can be |
michael@0 | 6 | * found in the LICENSE file. |
michael@0 | 7 | */ |
michael@0 | 8 | #ifndef SkAnimatorScript2_DEFINED |
michael@0 | 9 | #define SkAnimatorScript2_DEFINED |
michael@0 | 10 | |
michael@0 | 11 | #include "SkDisplayable.h" |
michael@0 | 12 | #include "SkScript2.h" |
michael@0 | 13 | #include "SkTypedArray.h" |
michael@0 | 14 | |
michael@0 | 15 | class SkAnimateMaker; |
michael@0 | 16 | struct SkMemberInfo; |
michael@0 | 17 | |
michael@0 | 18 | #ifndef SkAnimatorScript_DEFINED |
michael@0 | 19 | struct SkDisplayEnumMap { |
michael@0 | 20 | SkDisplayTypes fType; |
michael@0 | 21 | const char* fValues; |
michael@0 | 22 | }; |
michael@0 | 23 | #endif |
michael@0 | 24 | |
michael@0 | 25 | class SkAnimatorScript2 : public SkScriptEngine2 { |
michael@0 | 26 | public: |
michael@0 | 27 | SkAnimatorScript2(SkAnimateMaker& , SkDisplayable* working, SkDisplayTypes type); |
michael@0 | 28 | ~SkAnimatorScript2(); |
michael@0 | 29 | bool evalMemberCommon(const SkMemberInfo* info, |
michael@0 | 30 | SkDisplayable* displayable, SkOperand2* value); |
michael@0 | 31 | SkAnimateMaker& getMaker() { return fMaker; } |
michael@0 | 32 | SkDisplayable* getWorking() { return fWorking; } |
michael@0 | 33 | static bool MapEnums(const char* ptr, const char* match, size_t len, int* value); |
michael@0 | 34 | static const SkDisplayEnumMap& GetEnumValues(SkDisplayTypes type); |
michael@0 | 35 | static SkDisplayTypes ToDisplayType(SkOperand2::OpType type); |
michael@0 | 36 | static SkOperand2::OpType ToOpType(SkDisplayTypes type); |
michael@0 | 37 | private: |
michael@0 | 38 | SkAnimateMaker& fMaker; |
michael@0 | 39 | SkDisplayable* fWorking; |
michael@0 | 40 | friend class SkDump; |
michael@0 | 41 | friend struct SkScriptNAnswer; |
michael@0 | 42 | // illegal |
michael@0 | 43 | SkAnimatorScript2& operator=(const SkAnimatorScript2&); |
michael@0 | 44 | #ifdef SK_DEBUG |
michael@0 | 45 | public: |
michael@0 | 46 | static void UnitTest(); |
michael@0 | 47 | #endif |
michael@0 | 48 | }; |
michael@0 | 49 | |
michael@0 | 50 | #endif // SkAnimatorScript2_DEFINED |