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

Side by Side Diff: Source/core/css/StyleRuleImport.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: Created 6 years, 10 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 13 matching lines...) Expand all
24 24
25 #include "FetchInitiatorTypeNames.h" 25 #include "FetchInitiatorTypeNames.h"
26 #include "core/css/StyleSheetContents.h" 26 #include "core/css/StyleSheetContents.h"
27 #include "core/dom/Document.h" 27 #include "core/dom/Document.h"
28 #include "core/fetch/CSSStyleSheetResource.h" 28 #include "core/fetch/CSSStyleSheetResource.h"
29 #include "core/fetch/FetchRequest.h" 29 #include "core/fetch/FetchRequest.h"
30 #include "core/fetch/ResourceFetcher.h" 30 #include "core/fetch/ResourceFetcher.h"
31 31
32 namespace WebCore { 32 namespace WebCore {
33 33
34 PassRefPtrWillBeRawPtr<StyleRuleImport> StyleRuleImport::create(const String& hr ef, PassRefPtr<MediaQuerySet> media) 34 PassRefPtrWillBeRawPtr<StyleRuleImport> StyleRuleImport::create(const String& hr ef, PassRefPtrWillBeRawPtr<MediaQuerySet> media)
35 { 35 {
36 return adoptRefCountedWillBeRefCountedGarbageCollected(new StyleRuleImport(h ref, media)); 36 return adoptRefCountedWillBeRefCountedGarbageCollected(new StyleRuleImport(h ref, media));
37 } 37 }
38 38
39 StyleRuleImport::StyleRuleImport(const String& href, PassRefPtr<MediaQuerySet> m edia) 39 StyleRuleImport::StyleRuleImport(const String& href, PassRefPtrWillBeRawPtr<Medi aQuerySet> media)
40 : StyleRuleBase(Import) 40 : StyleRuleBase(Import)
41 , m_parentStyleSheet(0) 41 , m_parentStyleSheet(0)
42 , m_styleSheetClient(this) 42 , m_styleSheetClient(this)
43 , m_strHref(href) 43 , m_strHref(href)
44 , m_mediaQueries(media) 44 , m_mediaQueries(media)
45 , m_resource(0) 45 , m_resource(0)
46 , m_loading(false) 46 , m_loading(false)
47 { 47 {
48 if (!m_mediaQueries) 48 if (!m_mediaQueries)
49 m_mediaQueries = MediaQuerySet::create(String()); 49 m_mediaQueries = MediaQuerySet::create(String());
50 } 50 }
51 51
52 StyleRuleImport::~StyleRuleImport() 52 StyleRuleImport::~StyleRuleImport()
53 { 53 {
54 if (m_styleSheet) 54 if (m_styleSheet)
55 m_styleSheet->clearOwnerRule(); 55 m_styleSheet->clearOwnerRule();
56 if (m_resource) 56 if (m_resource)
57 m_resource->removeClient(&m_styleSheetClient); 57 m_resource->removeClient(&m_styleSheetClient);
58 } 58 }
59 59
60 void StyleRuleImport::traceAfterDispatch(Visitor* visitor) 60 void StyleRuleImport::traceAfterDispatch(Visitor* visitor)
61 { 61 {
62 visitor->trace(m_parentStyleSheet); 62 visitor->trace(m_parentStyleSheet);
63 visitor->trace(m_mediaQueries);
63 visitor->trace(m_styleSheet); 64 visitor->trace(m_styleSheet);
64 StyleRuleBase::traceAfterDispatch(visitor); 65 StyleRuleBase::traceAfterDispatch(visitor);
65 } 66 }
66 67
67 void StyleRuleImport::setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CSSStyleSheetResource* cachedStyleSheet) 68 void StyleRuleImport::setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CSSStyleSheetResource* cachedStyleSheet)
68 { 69 {
69 if (m_styleSheet) 70 if (m_styleSheet)
70 m_styleSheet->clearOwnerRule(); 71 m_styleSheet->clearOwnerRule();
71 72
72 CSSParserContext context = m_parentStyleSheet ? m_parentStyleSheet->parserCo ntext() : strictCSSParserContext(); 73 CSSParserContext context = m_parentStyleSheet ? m_parentStyleSheet->parserCo ntext() : strictCSSParserContext();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // removed from the pending sheet count, so let the doc know 129 // removed from the pending sheet count, so let the doc know
129 // the sheet being imported is pending. 130 // the sheet being imported is pending.
130 if (m_parentStyleSheet && m_parentStyleSheet->loadCompleted() && rootShe et == m_parentStyleSheet) 131 if (m_parentStyleSheet && m_parentStyleSheet->loadCompleted() && rootShe et == m_parentStyleSheet)
131 m_parentStyleSheet->startLoadingDynamicSheet(); 132 m_parentStyleSheet->startLoadingDynamicSheet();
132 m_loading = true; 133 m_loading = true;
133 m_resource->addClient(&m_styleSheetClient); 134 m_resource->addClient(&m_styleSheetClient);
134 } 135 }
135 } 136 }
136 137
137 } // namespace WebCore 138 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698