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

Side by Side Diff: Source/core/html/imports/HTMLImportsController.cpp

Issue 234063004: Refactoring: Get rid of HTMLImportRoot. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/html/imports/HTMLImportsController.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 void HTMLImportsController::provideTo(Document& master) 44 void HTMLImportsController::provideTo(Document& master)
45 { 45 {
46 DEFINE_STATIC_LOCAL(const char*, name, ("HTMLImportsController")); 46 DEFINE_STATIC_LOCAL(const char*, name, ("HTMLImportsController"));
47 OwnPtr<HTMLImportsController> controller = adoptPtr(new HTMLImportsControlle r(master)); 47 OwnPtr<HTMLImportsController> controller = adoptPtr(new HTMLImportsControlle r(master));
48 master.setImportsController(controller.get()); 48 master.setImportsController(controller.get());
49 DocumentSupplement::provideTo(master, name, controller.release()); 49 DocumentSupplement::provideTo(master, name, controller.release());
50 } 50 }
51 51
52 HTMLImportsController::HTMLImportsController(Document& master) 52 HTMLImportsController::HTMLImportsController(Document& master)
53 : m_master(&master) 53 : HTMLImport(HTMLImport::Sync)
54 , m_master(&master)
54 , m_recalcTimer(this, &HTMLImportsController::recalcTimerFired) 55 , m_recalcTimer(this, &HTMLImportsController::recalcTimerFired)
55 { 56 {
56 recalcTreeState(this); // This recomputes initial state. 57 recalcTreeState(this); // This recomputes initial state.
57 } 58 }
58 59
59 HTMLImportsController::~HTMLImportsController() 60 HTMLImportsController::~HTMLImportsController()
60 { 61 {
61 ASSERT(!m_master); 62 ASSERT(!m_master);
62 } 63 }
63 64
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 ResourceFetcher* HTMLImportsController::fetcher() const 138 ResourceFetcher* HTMLImportsController::fetcher() const
138 { 139 {
139 return m_master->fetcher(); 140 return m_master->fetcher();
140 } 141 }
141 142
142 LocalFrame* HTMLImportsController::frame() const 143 LocalFrame* HTMLImportsController::frame() const
143 { 144 {
144 return m_master->frame(); 145 return m_master->frame();
145 } 146 }
146 147
147 HTMLImportRoot* HTMLImportsController::root()
148 {
149 return this;
150 }
151
152 Document* HTMLImportsController::document() const 148 Document* HTMLImportsController::document() const
153 { 149 {
154 return m_master; 150 return m_master;
155 } 151 }
156 152
157 bool HTMLImportsController::shouldBlockScriptExecution(const Document& document) const 153 bool HTMLImportsController::shouldBlockScriptExecution(const Document& document) const
158 { 154 {
159 ASSERT(document.importsController() == this); 155 ASSERT(document.importsController() == this);
160 if (HTMLImportLoader* loader = loaderFor(document)) 156 if (HTMLImportLoader* loader = loaderFor(document))
161 return loader->firstImport()->state().shouldBlockScriptExecution(); 157 return loader->firstImport()->state().shouldBlockScriptExecution();
(...skipping 10 matching lines...) Expand all
172 bool HTMLImportsController::hasLoader() const 168 bool HTMLImportsController::hasLoader() const
173 { 169 {
174 return true; 170 return true;
175 } 171 }
176 172
177 bool HTMLImportsController::isDone() const 173 bool HTMLImportsController::isDone() const
178 { 174 {
179 return !m_master->parsing() && m_master->styleEngine()->haveStylesheetsLoade d(); 175 return !m_master->parsing() && m_master->styleEngine()->haveStylesheetsLoade d();
180 } 176 }
181 177
178 void HTMLImportsController::stateWillChange()
179 {
180 scheduleRecalcState();
181 }
182
182 void HTMLImportsController::stateDidChange() 183 void HTMLImportsController::stateDidChange()
183 { 184 {
184 HTMLImport::stateDidChange(); 185 HTMLImport::stateDidChange();
185 186
186 if (!state().isReady()) 187 if (!state().isReady())
187 return; 188 return;
188 if (LocalFrame* frame = m_master->frame()) 189 if (LocalFrame* frame = m_master->frame())
189 frame->loader().checkCompleted(); 190 frame->loader().checkCompleted();
190 } 191 }
191 192
(...skipping 24 matching lines...) Expand all
216 { 217 {
217 for (size_t i = 0; i < m_loaders.size(); ++i) { 218 for (size_t i = 0; i < m_loaders.size(); ++i) {
218 if (m_loaders[i]->document() == &document) 219 if (m_loaders[i]->document() == &document)
219 return m_loaders[i].get(); 220 return m_loaders[i].get();
220 } 221 }
221 222
222 return 0; 223 return 0;
223 } 224 }
224 225
225 } // namespace WebCore 226 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/html/imports/HTMLImportsController.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698