summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc b/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc
new file mode 100644
index 00000000000..204f81362f7
--- /dev/null
+++ b/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/web_url_loader_factory.cc
@@ -0,0 +1,46 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/public/platform/web_url_loader_factory.h"
+
+#include "third_party/blink/public/platform/web_back_forward_cache_loader_helper.h"
+#include "third_party/blink/public/platform/web_url_loader.h"
+
+using blink::scheduler::WebResourceLoadingTaskRunnerHandle;
+
+namespace blink {
+
+WebURLLoaderFactory::WebURLLoaderFactory(
+ scoped_refptr<network::SharedURLLoaderFactory> loader_factory,
+ const WebVector<WebString>& cors_exempt_header_list,
+ base::WaitableEvent* terminate_sync_load_event)
+ : loader_factory_(std::move(loader_factory)),
+ cors_exempt_header_list_(cors_exempt_header_list),
+ terminate_sync_load_event_(terminate_sync_load_event) {
+ DCHECK(loader_factory_);
+}
+
+WebURLLoaderFactory::WebURLLoaderFactory() = default;
+
+WebURLLoaderFactory::~WebURLLoaderFactory() = default;
+
+std::unique_ptr<WebURLLoader> WebURLLoaderFactory::CreateURLLoader(
+ const WebURLRequest& request,
+ std::unique_ptr<WebResourceLoadingTaskRunnerHandle>
+ freezable_task_runner_handle,
+ std::unique_ptr<WebResourceLoadingTaskRunnerHandle>
+ unfreezable_task_runner_handle,
+ CrossVariantMojoRemote<mojom::KeepAliveHandleInterfaceBase>
+ keep_alive_handle,
+ WebBackForwardCacheLoaderHelper back_forward_cache_loader_helper) {
+ DCHECK(freezable_task_runner_handle);
+ DCHECK(unfreezable_task_runner_handle);
+ return std::make_unique<WebURLLoader>(
+ cors_exempt_header_list_, terminate_sync_load_event_,
+ std::move(freezable_task_runner_handle),
+ std::move(unfreezable_task_runner_handle), loader_factory_,
+ std::move(keep_alive_handle), back_forward_cache_loader_helper);
+}
+
+} // namespace blink