| Index: sky/engine/core/html/imports/HTMLImportLoader.cpp
|
| diff --git a/sky/engine/core/html/imports/HTMLImportLoader.cpp b/sky/engine/core/html/imports/HTMLImportLoader.cpp
|
| index aeafea991c7f526a6e59dede893de2cd3e2fb60d..84ae5695b3a262c93f4e95f017d28f816fbe7c49 100644
|
| --- a/sky/engine/core/html/imports/HTMLImportLoader.cpp
|
| +++ b/sky/engine/core/html/imports/HTMLImportLoader.cpp
|
| @@ -31,6 +31,7 @@
|
| #include "config.h"
|
| #include "core/html/imports/HTMLImportLoader.h"
|
|
|
| +#include "core/app/Module.h"
|
| #include "core/dom/Document.h"
|
| #include "core/dom/DocumentParser.h"
|
| #include "core/dom/StyleEngine.h"
|
| @@ -64,6 +65,7 @@ void HTMLImportLoader::importDestroyed()
|
| void HTMLImportLoader::clear()
|
| {
|
| m_controller = nullptr;
|
| + m_module.clear();
|
| if (m_document) {
|
| m_document->setImportsController(0);
|
| m_document->cancelParsing();
|
| @@ -94,10 +96,13 @@ void HTMLImportLoader::OnReceivedResponse(mojo::URLResponsePtr response)
|
| HTMLImportLoader::State HTMLImportLoader::startWritingAndParsing(mojo::URLResponsePtr response)
|
| {
|
| ASSERT(!m_imports.isEmpty());
|
| + WeakPtr<Document> contextDocument = m_controller->master()->contextDocument();
|
| + ASSERT(contextDocument.get());
|
| KURL url(ParsedURLString, String::fromUTF8(response->url));
|
| - DocumentInit init = DocumentInit(url, 0, m_controller->master()->contextDocument(), m_controller)
|
| + DocumentInit init = DocumentInit(url, 0, contextDocument, m_controller)
|
| .withRegistrationContext(m_controller->master()->registrationContext());
|
| m_document = HTMLDocument::create(init);
|
| + m_module = Module::create(contextDocument.get(), nullptr, m_document.get(), url.string());
|
| m_document->startParsing();
|
| m_document->parser()->parse(response->body.Pass());
|
| return StateLoading;
|
|
|