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

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

Issue 273843003: [Oilpan]: Make StylePropertySet fully garbage collected. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 } // namespace 99 } // namespace
100 100
101 namespace WebCore { 101 namespace WebCore {
102 102
103 using namespace HTMLNames; 103 using namespace HTMLNames;
104 104
105 RenderStyle* StyleResolver::s_styleNotYetAvailable; 105 RenderStyle* StyleResolver::s_styleNotYetAvailable;
106 106
107 static StylePropertySet* leftToRightDeclaration() 107 static StylePropertySet* leftToRightDeclaration()
108 { 108 {
109 #if ENABLE(OILPAN)
110 DEFINE_STATIC_LOCAL(Persistent<MutableStylePropertySet>, leftToRightDecl, (M utableStylePropertySet::create()));
haraken 2014/05/08 11:43:45 You can avoid #if by using DEFINE_STATIC_REF_WILL_
wibling-chromium 2014/05/08 12:38:55 Done.
111 #else
109 DEFINE_STATIC_REF(MutableStylePropertySet, leftToRightDecl, (MutableStylePro pertySet::create())); 112 DEFINE_STATIC_REF(MutableStylePropertySet, leftToRightDecl, (MutableStylePro pertySet::create()));
113 #endif
110 if (leftToRightDecl->isEmpty()) 114 if (leftToRightDecl->isEmpty())
111 leftToRightDecl->setProperty(CSSPropertyDirection, CSSValueLtr); 115 leftToRightDecl->setProperty(CSSPropertyDirection, CSSValueLtr);
112 return leftToRightDecl; 116 return leftToRightDecl;
113 } 117 }
114 118
115 static StylePropertySet* rightToLeftDeclaration() 119 static StylePropertySet* rightToLeftDeclaration()
116 { 120 {
121 #if ENABLE(OILPAN)
122 DEFINE_STATIC_LOCAL(Persistent<MutableStylePropertySet>, rightToLeftDecl, (M utableStylePropertySet::create()));
haraken 2014/05/08 11:43:45 You can avoid #if by using DEFINE_STATIC_REF_WILL_
wibling-chromium 2014/05/08 12:38:55 Done.
123 #else
117 DEFINE_STATIC_REF(MutableStylePropertySet, rightToLeftDecl, (MutableStylePro pertySet::create())); 124 DEFINE_STATIC_REF(MutableStylePropertySet, rightToLeftDecl, (MutableStylePro pertySet::create()));
125 #endif
118 if (rightToLeftDecl->isEmpty()) 126 if (rightToLeftDecl->isEmpty())
119 rightToLeftDecl->setProperty(CSSPropertyDirection, CSSValueRtl); 127 rightToLeftDecl->setProperty(CSSPropertyDirection, CSSValueRtl);
120 return rightToLeftDecl; 128 return rightToLeftDecl;
121 } 129 }
122 130
123 static void addFontFaceRule(Document* document, CSSFontSelector* cssFontSelector , const StyleRuleFontFace* fontFaceRule) 131 static void addFontFaceRule(Document* document, CSSFontSelector* cssFontSelector , const StyleRuleFontFace* fontFaceRule)
124 { 132 {
125 RefPtrWillBeRawPtr<FontFace> fontFace = FontFace::create(document, fontFaceR ule); 133 RefPtrWillBeRawPtr<FontFace> fontFace = FontFace::create(document, fontFaceR ule);
126 if (fontFace) 134 if (fontFace)
127 cssFontSelector->fontFaceCache()->add(cssFontSelector, fontFaceRule, fon tFace); 135 cssFontSelector->fontFaceCache()->add(cssFontSelector, fontFaceRule, fon tFace);
(...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 for (unsigned i = 0; i < m_viewportDependentMediaQueryResults.size(); ++i) { 1496 for (unsigned i = 0; i < m_viewportDependentMediaQueryResults.size(); ++i) {
1489 if (m_medium->eval(&m_viewportDependentMediaQueryResults[i]->m_expressio n) != m_viewportDependentMediaQueryResults[i]->m_result) 1497 if (m_medium->eval(&m_viewportDependentMediaQueryResults[i]->m_expressio n) != m_viewportDependentMediaQueryResults[i]->m_result)
1490 return true; 1498 return true;
1491 } 1499 }
1492 return false; 1500 return false;
1493 } 1501 }
1494 1502
1495 void StyleResolver::trace(Visitor* visitor) 1503 void StyleResolver::trace(Visitor* visitor)
1496 { 1504 {
1497 visitor->trace(m_keyframesRuleMap); 1505 visitor->trace(m_keyframesRuleMap);
1506 visitor->trace(m_matchedPropertiesCache);
1498 visitor->trace(m_viewportDependentMediaQueryResults); 1507 visitor->trace(m_viewportDependentMediaQueryResults);
1499 visitor->trace(m_viewportStyleResolver); 1508 visitor->trace(m_viewportStyleResolver);
1500 visitor->trace(m_siblingRuleSet); 1509 visitor->trace(m_siblingRuleSet);
1501 visitor->trace(m_uncommonAttributeRuleSet); 1510 visitor->trace(m_uncommonAttributeRuleSet);
1502 visitor->trace(m_watchedSelectorsRules); 1511 visitor->trace(m_watchedSelectorsRules);
1503 visitor->trace(m_treeBoundaryCrossingRules); 1512 visitor->trace(m_treeBoundaryCrossingRules);
1504 visitor->trace(m_pendingStyleSheets); 1513 visitor->trace(m_pendingStyleSheets);
1505 CSSFontSelectorClient::trace(visitor); 1514 CSSFontSelectorClient::trace(visitor);
1506 } 1515 }
1507 1516
1508 } // namespace WebCore 1517 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698