Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp

Issue 1850413002: Improve DEFINE_STATIC_LOCAL()'s handling of Blink GCed objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address compilation failure Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } // namespace 134 } // namespace
135 135
136 namespace blink { 136 namespace blink {
137 137
138 using namespace HTMLNames; 138 using namespace HTMLNames;
139 139
140 ComputedStyle* StyleResolver::s_styleNotYetAvailable; 140 ComputedStyle* StyleResolver::s_styleNotYetAvailable;
141 141
142 static StylePropertySet* leftToRightDeclaration() 142 static StylePropertySet* leftToRightDeclaration()
143 { 143 {
144 DEFINE_STATIC_REF_WILL_BE_PERSISTENT(MutableStylePropertySet, leftToRightDec l, (MutableStylePropertySet::create(HTMLQuirksMode))); 144 DEFINE_STATIC_LOCAL(MutableStylePropertySet, leftToRightDecl, (MutableStyleP ropertySet::create(HTMLQuirksMode)));
145 if (leftToRightDecl->isEmpty()) 145 if (leftToRightDecl.isEmpty())
146 leftToRightDecl->setProperty(CSSPropertyDirection, CSSValueLtr); 146 leftToRightDecl.setProperty(CSSPropertyDirection, CSSValueLtr);
147 return leftToRightDecl; 147 return &leftToRightDecl;
148 } 148 }
149 149
150 static StylePropertySet* rightToLeftDeclaration() 150 static StylePropertySet* rightToLeftDeclaration()
151 { 151 {
152 DEFINE_STATIC_REF_WILL_BE_PERSISTENT(MutableStylePropertySet, rightToLeftDec l, (MutableStylePropertySet::create(HTMLQuirksMode))); 152 DEFINE_STATIC_LOCAL(MutableStylePropertySet, rightToLeftDecl, (MutableStyleP ropertySet::create(HTMLQuirksMode)));
153 if (rightToLeftDecl->isEmpty()) 153 if (rightToLeftDecl.isEmpty())
154 rightToLeftDecl->setProperty(CSSPropertyDirection, CSSValueRtl); 154 rightToLeftDecl.setProperty(CSSPropertyDirection, CSSValueRtl);
155 return rightToLeftDecl; 155 return &rightToLeftDecl;
156 } 156 }
157 157
158 static void collectScopedResolversForHostedShadowTrees(const Element& element, H eapVector<Member<ScopedStyleResolver>, 8>& resolvers) 158 static void collectScopedResolversForHostedShadowTrees(const Element& element, H eapVector<Member<ScopedStyleResolver>, 8>& resolvers)
159 { 159 {
160 ElementShadow* shadow = element.shadow(); 160 ElementShadow* shadow = element.shadow();
161 if (!shadow) 161 if (!shadow)
162 return; 162 return;
163 163
164 // Adding scoped resolver for active shadow roots for shadow host styling. 164 // Adding scoped resolver for active shadow roots for shadow host styling.
165 for (ShadowRoot* shadowRoot = &shadow->youngestShadowRoot(); shadowRoot; sha dowRoot = shadowRoot->olderShadowRoot()) { 165 for (ShadowRoot* shadowRoot = &shadow->youngestShadowRoot(); shadowRoot; sha dowRoot = shadowRoot->olderShadowRoot()) {
(...skipping 1570 matching lines...) Expand 10 before | Expand all | Expand 10 after
1736 visitor->trace(m_uncommonAttributeRuleSet); 1736 visitor->trace(m_uncommonAttributeRuleSet);
1737 visitor->trace(m_watchedSelectorsRules); 1737 visitor->trace(m_watchedSelectorsRules);
1738 visitor->trace(m_treeBoundaryCrossingScopes); 1738 visitor->trace(m_treeBoundaryCrossingScopes);
1739 visitor->trace(m_styleSharingLists); 1739 visitor->trace(m_styleSharingLists);
1740 visitor->trace(m_pendingStyleSheets); 1740 visitor->trace(m_pendingStyleSheets);
1741 visitor->trace(m_document); 1741 visitor->trace(m_document);
1742 #endif 1742 #endif
1743 } 1743 }
1744 1744
1745 } // namespace blink 1745 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698