Commit 7f956b92 authored by Lukasz Anforowicz's avatar Lukasz Anforowicz Committed by Commit Bot

Expose NonNetworkURLLoaderFactoryBase via //content/public API.

NonNetworkURLLoaderFactoryBase is needed outside of //content internals
to support the following factories: ExternalFileURLLoaderFactory (CrOS),
ContentDirectoryLoaderFactory (Fuchsia), ExtensionURLLoaderFactory,
FileURLLoaderFactory (the one with ChildProcessSecurityPolicy-based
access checks in //chrome/browser/chrome_content_browser_client.cc).

Bug: 1106995
Change-Id: Iaac2693242b5daf3673fd8347a652e15757ca639
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2357431
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#807577}
parent 832fee08
......@@ -1066,8 +1066,6 @@ source_set("browser") {
"loader/navigation_url_loader_factory.h",
"loader/navigation_url_loader_impl.cc",
"loader/navigation_url_loader_impl.h",
"loader/non_network_url_loader_factory_base.cc",
"loader/non_network_url_loader_factory_base.h",
"loader/prefetch_url_loader.cc",
"loader/prefetch_url_loader.h",
"loader/prefetch_url_loader_service.cc",
......
......@@ -6,7 +6,7 @@
#define CONTENT_BROWSER_ABOUT_URL_LOADER_FACTORY_H_
#include "base/macros.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
......
......@@ -8,8 +8,8 @@
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/sequenced_task_runner.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/common/content_export.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
......
......@@ -6,7 +6,7 @@
#define CONTENT_BROWSER_DATA_URL_LOADER_FACTORY_H_
#include "base/macros.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
......
......@@ -22,9 +22,9 @@
#include "build/build_config.h"
#include "components/services/filesystem/public/mojom/types.mojom.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/child_process_host.h"
......
......@@ -10,8 +10,8 @@
#include "base/memory/ref_counted.h"
#include "base/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/common/content_export.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
......
......@@ -16,7 +16,6 @@
#include "content/browser/bad_message.h"
#include "content/browser/blob_storage/blob_internals_url_loader.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/webui/network_error_url_loader.h"
......@@ -24,6 +23,7 @@
#include "content/browser/webui/url_data_source_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
#include "mojo/public/cpp/bindings/message.h"
......
......@@ -244,6 +244,8 @@ source_set("browser_sources") {
"network_context_client_base.h",
"network_quality_observer_factory.h",
"network_service_instance.h",
"non_network_url_loader_factory_base.cc",
"non_network_url_loader_factory_base.h",
"notification_database_data.cc",
"notification_database_data.h",
"notification_details.h",
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/loader/non_network_url_loader_factory_base.h"
#include "content/public/browser/non_network_url_loader_factory_base.h"
#include <utility>
......
......@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_LOADER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
#define CONTENT_BROWSER_LOADER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
#ifndef CONTENT_PUBLIC_BROWSER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
#define CONTENT_PUBLIC_BROWSER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
#include "base/macros.h"
#include "base/threading/thread_checker.h"
#include "content/common/content_export.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
......@@ -27,7 +28,8 @@ namespace content {
// - TODO(lukasza): Responding with file contents: duplicated across
// FileURLLoaderFactory, ContentURLLoaderFactory (with some additional
// code sharing probably possible with ExtensionURLLoaderFactory).
class NonNetworkURLLoaderFactoryBase : public network::mojom::URLLoaderFactory {
class CONTENT_EXPORT NonNetworkURLLoaderFactoryBase
: public network::mojom::URLLoaderFactory {
protected:
// Constructs NonNetworkURLLoaderFactoryBase object that will self-delete once
// all receivers disconnect (including |factory_receiver| below as well as
......@@ -54,4 +56,4 @@ class NonNetworkURLLoaderFactoryBase : public network::mojom::URLLoaderFactory {
} // namespace content
#endif // CONTENT_BROWSER_LOADER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
#endif // CONTENT_PUBLIC_BROWSER_NON_NETWORK_URL_LOADER_FACTORY_BASE_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment