diff options
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.cc | 46 |
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 |