gfx/skia/trunk/src/animator/SkAnimateBase.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

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 SkAnimateBase_DEFINED
    11 #define SkAnimateBase_DEFINED
    13 #include "SkDisplayable.h"
    14 #include "SkMath.h"
    15 #include "SkMemberInfo.h"
    16 #include "SkTypedArray.h"
    18 class SkApply;
    19 class SkDrawable;
    21 class SkAnimateBase : public SkDisplayable {
    22 public:
    23     DECLARE_MEMBER_INFO(AnimateBase);
    24     SkAnimateBase();
    25     virtual ~SkAnimateBase();
    26     virtual int components();
    27     virtual SkDisplayable* deepCopy(SkAnimateMaker* );
    28     virtual void dirty();
    29 #ifdef SK_DUMP_ENABLED
    30     virtual void dump(SkAnimateMaker* );
    31 #endif
    32     int entries() { return fValues.count() / components(); }
    33     virtual bool hasExecute() const;
    34     bool isDynamic() const { return SkToBool(fDynamic); }
    35     virtual SkDisplayable* getParent() const;
    36     virtual bool getProperty(int index, SkScriptValue* value) const;
    37     SkMSec getStart() const { return fStart; }
    38     SkOperand* getValues() { return fValues.begin(); }
    39     SkDisplayTypes getValuesType() { return fValues.getType(); }
    40     virtual void onEndElement(SkAnimateMaker& );
    41     void packARGB(SkScalar [], int count, SkTDOperandArray* );
    42     virtual void refresh(SkAnimateMaker& );
    43     void setChanged(bool changed) { fChanged = changed; }
    44     void setHasEndEvent() { fHasEndEvent = true; }
    45     virtual bool setParent(SkDisplayable* );
    46     virtual bool setProperty(int index, SkScriptValue& value);
    47     void setTarget(SkAnimateMaker& );
    48     virtual bool targetNeedsInitialization() const;
    49 protected:
    50     SkMSec begin;
    51     SkTDScalarArray blend;
    52     SkMSec dur;
    53     // !!! make field part of a union with fFieldInfo, or fValues, something known later?
    54     SkString field; // temporary; once target is known, this is reset
    55     SkString formula;
    56     SkString from;
    57     SkString lval;
    58     SkScalar repeat;
    59     SkString target;    // temporary; once target is known, this is reset
    60     SkString to;
    61     SkApply* fApply;
    62     const SkMemberInfo* fFieldInfo;
    63     int fFieldOffset;
    64     SkMSec fStart;  // corrected time when this apply was enabled
    65     SkDrawable* fTarget;
    66     SkTypedArray fValues;
    67     unsigned fChanged : 1; // true when value referenced by script has changed
    68     unsigned fDelayed : 1;  // enabled, but undrawn pending delay
    69     unsigned fDynamic : 1;
    70     unsigned fHasEndEvent : 1;
    71     unsigned fHasValues : 1;        // set if 'values' passed instead of 'to'
    72     unsigned fMirror : 1;
    73     unsigned fReset : 1;
    74     unsigned fResetPending : 1;
    75     unsigned fTargetIsScope : 1;
    76 private:
    77     typedef SkDisplayable INHERITED;
    78     friend class SkActive;
    79     friend class SkApply;
    80     friend class SkDisplayList;
    81 };
    83 #endif // SkAnimateBase_DEFINED

mercurial