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 2011 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8 #include "SkViewPriv.h"
10 //////////////////////////////////////////////////////////////////////
12 void SkView::Artist::draw(SkView* view, SkCanvas* canvas)
13 {
14 SkASSERT(view && canvas);
15 this->onDraw(view, canvas);
16 }
18 void SkView::Artist::inflate(const SkDOM& dom, const SkDOM::Node* node)
19 {
20 SkASSERT(&dom && node);
21 this->onInflate(dom, node);
22 }
24 void SkView::Artist::onInflate(const SkDOM&, const SkDOM::Node*)
25 {
26 // subclass should override this as needed
27 }
29 SkView::Artist* SkView::getArtist() const
30 {
31 Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
32 SkASSERT(rec == NULL || rec->fArtist != NULL);
34 return rec ? rec->fArtist : NULL;
35 }
37 SkView::Artist* SkView::setArtist(Artist* obj)
38 {
39 if (obj == NULL)
40 {
41 this->removeTagList(kViewArtist_SkTagList);
42 }
43 else // add/replace
44 {
45 Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
47 if (rec)
48 SkRefCnt_SafeAssign(rec->fArtist, obj);
49 else
50 this->addTagList(new Artist_SkTagList(obj));
51 }
52 return obj;
53 }
55 ////////////////////////////////////////////////////////////////////////////////
57 void SkView::Layout::layoutChildren(SkView* parent)
58 {
59 SkASSERT(parent);
60 if (parent->width() > 0 && parent->height() > 0)
61 this->onLayoutChildren(parent);
62 }
64 void SkView::Layout::inflate(const SkDOM& dom, const SkDOM::Node* node)
65 {
66 SkASSERT(&dom && node);
67 this->onInflate(dom, node);
68 }
70 void SkView::Layout::onInflate(const SkDOM&, const SkDOM::Node*)
71 {
72 // subclass should override this as needed
73 }
75 SkView::Layout* SkView::getLayout() const
76 {
77 Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
78 SkASSERT(rec == NULL || rec->fLayout != NULL);
80 return rec ? rec->fLayout : NULL;
81 }
83 SkView::Layout* SkView::setLayout(Layout* obj, bool invokeLayoutNow)
84 {
85 if (obj == NULL)
86 {
87 this->removeTagList(kViewLayout_SkTagList);
88 }
89 else // add/replace
90 {
91 Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
93 if (rec)
94 SkRefCnt_SafeAssign(rec->fLayout, obj);
95 else
96 this->addTagList(new Layout_SkTagList(obj));
97 }
99 if (invokeLayoutNow)
100 this->invokeLayout();
102 return obj;
103 }