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

Side by Side Diff: Source/core/css/CSSImportRule.cpp

Issue 170283019: Change various helper classes to transition types to get CSSValue entirely onto the gc heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Review feedback Created 6 years, 9 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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org) 3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2002, 2005, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserved. 4 * Copyright (C) 2002, 2005, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 22 matching lines...) Expand all
33 CSSImportRule::CSSImportRule(StyleRuleImport* importRule, CSSStyleSheet* parent) 33 CSSImportRule::CSSImportRule(StyleRuleImport* importRule, CSSStyleSheet* parent)
34 : CSSRule(parent) 34 : CSSRule(parent)
35 , m_importRule(importRule) 35 , m_importRule(importRule)
36 { 36 {
37 } 37 }
38 38
39 CSSImportRule::~CSSImportRule() 39 CSSImportRule::~CSSImportRule()
40 { 40 {
41 if (m_styleSheetCSSOMWrapper) 41 if (m_styleSheetCSSOMWrapper)
42 m_styleSheetCSSOMWrapper->clearOwnerRule(); 42 m_styleSheetCSSOMWrapper->clearOwnerRule();
43 #if !ENABLE(OILPAN)
44 // MediaList and the parent CSSImportRule are both on the oilpan heap and di e together.
45 // Therefor clearing is not needed nor allowed since it could be touching al ready
46 // finalized memory.
43 if (m_mediaCSSOMWrapper) 47 if (m_mediaCSSOMWrapper)
44 m_mediaCSSOMWrapper->clearParentRule(); 48 m_mediaCSSOMWrapper->clearParentRule();
49 #endif // ENABLE(OILPAN)
45 } 50 }
46 51
47 String CSSImportRule::href() const 52 String CSSImportRule::href() const
48 { 53 {
49 return m_importRule->href(); 54 return m_importRule->href();
50 } 55 }
51 56
52 MediaList* CSSImportRule::media() const 57 MediaList* CSSImportRule::media() const
53 { 58 {
54 if (!m_mediaCSSOMWrapper) 59 if (!m_mediaCSSOMWrapper)
(...skipping 29 matching lines...) Expand all
84 m_styleSheetCSSOMWrapper = CSSStyleSheet::create(m_importRule->styleShee t(), const_cast<CSSImportRule*>(this)); 89 m_styleSheetCSSOMWrapper = CSSStyleSheet::create(m_importRule->styleShee t(), const_cast<CSSImportRule*>(this));
85 return m_styleSheetCSSOMWrapper.get(); 90 return m_styleSheetCSSOMWrapper.get();
86 } 91 }
87 92
88 void CSSImportRule::reattach(StyleRuleBase*) 93 void CSSImportRule::reattach(StyleRuleBase*)
89 { 94 {
90 // FIXME: Implement when enabling caching for stylesheets with import rules. 95 // FIXME: Implement when enabling caching for stylesheets with import rules.
91 ASSERT_NOT_REACHED(); 96 ASSERT_NOT_REACHED();
92 } 97 }
93 98
99 void CSSImportRule::trace(Visitor* visitor)
100 {
101 visitor->trace(m_importRule);
102 visitor->trace(m_mediaCSSOMWrapper);
103 CSSRule::trace(visitor);
104 }
105
94 } // namespace WebCore 106 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698