Index: third_party/WebKit/Source/core/loader/ThreadableLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp b/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp |
index bf836d3d8de9c0974f9523e72bb32f0c5922450c..eae5fad9875b312db3bc4fc43049d2264de93363 100644 |
--- a/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/ThreadableLoader.cpp |
@@ -34,8 +34,16 @@ |
#include "core/dom/ExecutionContext.h" |
#include "core/loader/DocumentThreadableLoader.h" |
#include "core/loader/ThreadableLoadingContext.h" |
+#include "core/loader/WorkerFetchContext.h" |
#include "core/loader/WorkerThreadableLoader.h" |
#include "core/workers/WorkerGlobalScope.h" |
+#include "platform/RuntimeEnabledFeatures.h" |
+#include "platform/exported/WrappedResourceRequest.h" |
+#include "platform/loader/fetch/FetchParameters.h" |
+#include "platform/loader/fetch/RawResource.h" |
+#include "public/platform/Platform.h" |
+#include "public/platform/WebURLLoader.h" |
+#include "public/platform/WebURLLoaderClient.h" |
namespace blink { |
@@ -47,6 +55,15 @@ ThreadableLoader* ThreadableLoader::Create( |
DCHECK(client); |
if (context.IsWorkerGlobalScope()) { |
+ if (RuntimeEnabledFeatures::offMainThreadFetchEnabled()) { |
+ WorkerFetchContext* worker_fetch_contrext = |
+ ToWorkerGlobalScope(&context)->FetchContext(); |
+ if (worker_fetch_contrext) { |
+ return DocumentThreadableLoader::Create( |
+ *ThreadableLoadingContext::Create(*ToWorkerGlobalScope(&context)), |
+ client, options, resource_loader_options); |
+ } |
+ } |
return WorkerThreadableLoader::Create(ToWorkerGlobalScope(context), client, |
options, resource_loader_options); |
} |