gfx/skia/trunk/src/animator/SkDrawGroup.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 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

mercurial