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

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: Fix mac build 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 DEFINE_STATIC_REF(MutableStylePropertySet, leftToRightDecl, (MutableStylePro pertySet::create())); 109 DEFINE_STATIC_REF_WILL_BE_PERSISTENT(MutableStylePropertySet, leftToRightDec l, (MutableStylePropertySet::create()));
110 if (leftToRightDecl->isEmpty()) 110 if (leftToRightDecl->isEmpty())
111 leftToRightDecl->setProperty(CSSPropertyDirection, CSSValueLtr); 111 leftToRightDecl->setProperty(CSSPropertyDirection, CSSValueLtr);
112 return leftToRightDecl; 112 return leftToRightDecl;
113 } 113 }
114 114
115 static StylePropertySet* rightToLeftDeclaration() 115 static StylePropertySet* rightToLeftDeclaration()
116 { 116 {
117 DEFINE_STATIC_REF(MutableStylePropertySet, rightToLeftDecl, (MutableStylePro pertySet::create())); 117 DEFINE_STATIC_REF_WILL_BE_PERSISTENT(MutableStylePropertySet, rightToLeftDec l, (MutableStylePropertySet::create()));
118 if (rightToLeftDecl->isEmpty()) 118 if (rightToLeftDecl->isEmpty())
119 rightToLeftDecl->setProperty(CSSPropertyDirection, CSSValueRtl); 119 rightToLeftDecl->setProperty(CSSPropertyDirection, CSSValueRtl);
120 return rightToLeftDecl; 120 return rightToLeftDecl;
121 } 121 }
122 122
123 static void addFontFaceRule(Document* document, CSSFontSelector* cssFontSelector , const StyleRuleFontFace* fontFaceRule) 123 static void addFontFaceRule(Document* document, CSSFontSelector* cssFontSelector , const StyleRuleFontFace* fontFaceRule)
124 { 124 {
125 RefPtrWillBeRawPtr<FontFace> fontFace = FontFace::create(document, fontFaceR ule); 125 RefPtrWillBeRawPtr<FontFace> fontFace = FontFace::create(document, fontFaceR ule);
126 if (fontFace) 126 if (fontFace)
127 cssFontSelector->fontFaceCache()->add(cssFontSelector, fontFaceRule, fon tFace); 127 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) { 1488 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) 1489 if (m_medium->eval(&m_viewportDependentMediaQueryResults[i]->m_expressio n) != m_viewportDependentMediaQueryResults[i]->m_result)
1490 return true; 1490 return true;
1491 } 1491 }
1492 return false; 1492 return false;
1493 } 1493 }
1494 1494
1495 void StyleResolver::trace(Visitor* visitor) 1495 void StyleResolver::trace(Visitor* visitor)
1496 { 1496 {
1497 visitor->trace(m_keyframesRuleMap); 1497 visitor->trace(m_keyframesRuleMap);
1498 visitor->trace(m_matchedPropertiesCache);
1498 visitor->trace(m_viewportDependentMediaQueryResults); 1499 visitor->trace(m_viewportDependentMediaQueryResults);
1499 visitor->trace(m_viewportStyleResolver); 1500 visitor->trace(m_viewportStyleResolver);
1500 visitor->trace(m_siblingRuleSet); 1501 visitor->trace(m_siblingRuleSet);
1501 visitor->trace(m_uncommonAttributeRuleSet); 1502 visitor->trace(m_uncommonAttributeRuleSet);
1502 visitor->trace(m_watchedSelectorsRules); 1503 visitor->trace(m_watchedSelectorsRules);
1503 visitor->trace(m_treeBoundaryCrossingRules); 1504 visitor->trace(m_treeBoundaryCrossingRules);
1504 visitor->trace(m_pendingStyleSheets); 1505 visitor->trace(m_pendingStyleSheets);
1505 CSSFontSelectorClient::trace(visitor); 1506 CSSFontSelectorClient::trace(visitor);
1506 } 1507 }
1507 1508
1508 } // namespace WebCore 1509 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698