| Index: Source/core/html/HTMLImportsController.cpp
|
| diff --git a/Source/core/html/HTMLImportsController.cpp b/Source/core/html/HTMLImportsController.cpp
|
| index 0bdf7ce84eec686edcca0fc70260d75e120508c4..ffb2c91475020815addd03d2fde07a152bc05f7d 100644
|
| --- a/Source/core/html/HTMLImportsController.cpp
|
| +++ b/Source/core/html/HTMLImportsController.cpp
|
| @@ -33,6 +33,8 @@
|
|
|
| #include "core/dom/Document.h"
|
| #include "core/html/HTMLImportLoader.h"
|
| +#include "core/html/HTMLImportLoaderClient.h"
|
| +#include "core/loader/cache/ResourceFetcher.h"
|
|
|
| namespace WebCore {
|
|
|
| @@ -64,10 +66,19 @@ void HTMLImportsController::clear()
|
| m_master = 0;
|
| }
|
|
|
| -PassRefPtr<HTMLImportLoader> HTMLImportsController::createLoader(HTMLImport* parent, const KURL& url, const ResourcePtr<CachedRawResource>& resource)
|
| +PassRefPtr<HTMLImportLoader> HTMLImportsController::createLoader(HTMLImport* parent, FetchRequest request)
|
| {
|
| - ASSERT(!url.isEmpty() && url.isValid());
|
| - RefPtr<HTMLImportLoader> loader = adoptRef(new HTMLImportLoader(parent, url, resource));
|
| + ASSERT(!request.url().isEmpty() && request.url().isValid());
|
| +
|
| + if (RefPtr<HTMLImportLoader> found = findLinkFor(request.url()))
|
| + return found.release();
|
| +
|
| + request.setPotentiallyCrossOriginEnabled(securityOrigin(), DoNotAllowStoredCredentials);
|
| + ResourcePtr<CachedRawResource> resource = parent->document()->fetcher()->requestImport(request);
|
| + if (!resource)
|
| + return 0;
|
| +
|
| + RefPtr<HTMLImportLoader> loader = adoptRef(new HTMLImportLoader(parent, request.url(), resource));
|
| parent->appendChild(loader.get());
|
| m_imports.append(loader);
|
| return loader.release();
|
|
|