diff options
Diffstat (limited to 'src/core/extensions/extensions_browser_client_qt.cpp')
-rw-r--r-- | src/core/extensions/extensions_browser_client_qt.cpp | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp index a91127192..1b2bb51f4 100644 --- a/src/core/extensions/extensions_browser_client_qt.cpp +++ b/src/core/extensions/extensions_browser_client_qt.cpp @@ -63,13 +63,13 @@ #include "extensions/browser/event_router.h" #include "extensions/browser/extension_host_delegate.h" #include "extensions/browser/extension_protocols.h" +#include "extensions/browser/extensions_browser_interface_binders.h" #include "extensions/browser/mojo/interface_registration.h" #include "extensions/browser/url_request_util.h" #include "extensions/common/file_util.h" #include "mojo/public/cpp/bindings/strong_binding.h" #include "net/base/completion_once_callback.h" #include "net/base/mime_util.h" -#include "net/url_request/url_request_simple_job.h" #include "services/network/public/cpp/resource_response.h" #include "services/network/public/mojom/url_loader.mojom.h" #include "third_party/zlib/google/compression_utils.h" @@ -79,7 +79,6 @@ #include "extension_system_factory_qt.h" #include "extension_web_contents_observer_qt.h" #include "extensions_api_client_qt.h" -#include "extensions_browser_api_provider_qt.h" #include "extensions_browser_client_qt.h" #include "web_engine_library_info.h" @@ -144,9 +143,11 @@ scoped_refptr<base::RefCountedMemory> GetResource(int resource_id, const std::st class ResourceBundleFileLoader : public network::mojom::URLLoader { public: - static void CreateAndStart(const network::ResourceRequest &request, network::mojom::URLLoaderRequest loader, - network::mojom::URLLoaderClientPtrInfo client_info, const base::FilePath &filename, - int resource_id, const std::string &content_security_policy, bool send_cors_header) + static void CreateAndStart(const network::ResourceRequest &request, + mojo::PendingReceiver<network::mojom::URLLoader> loader, + mojo::PendingRemote<network::mojom::URLLoaderClient> client_info, + const base::FilePath &filename, int resource_id, + const std::string &content_security_policy, bool send_cors_header) { // Owns itself. Will live as long as its URLLoader and URLLoaderClientPtr // bindings are alive - essentially until either the client gives up or all @@ -174,10 +175,12 @@ private: } ~ResourceBundleFileLoader() override = default; - void Start(const network::ResourceRequest &request, network::mojom::URLLoaderRequest loader, - network::mojom::URLLoaderClientPtrInfo client_info, const base::FilePath &filename, int resource_id) + void Start(const network::ResourceRequest &request, + mojo::PendingReceiver<network::mojom::URLLoader> loader, + mojo::PendingRemote<network::mojom::URLLoaderClient> client_info_remote, + const base::FilePath &filename, int resource_id) { - client_.Bind(std::move(client_info)); + client_.Bind(std::move(client_info_remote)); binding_.Bind(std::move(loader)); binding_.set_connection_error_handler( base::BindOnce(&ResourceBundleFileLoader::OnBindingError, base::Unretained(this))); @@ -270,7 +273,6 @@ ExtensionsBrowserClientQt::ExtensionsBrowserClientQt() , resource_manager_(new ComponentExtensionResourceManagerQt) { AddAPIProvider(std::make_unique<CoreExtensionsBrowserAPIProvider>()); - AddAPIProvider(std::make_unique<ExtensionsBrowserAPIProviderQt>()); } ExtensionsBrowserClientQt::~ExtensionsBrowserClientQt() @@ -364,14 +366,14 @@ base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::R // Creates and starts a URLLoader to load an extension resource from the // embedder's resource bundle (.pak) files. Used for component extensions. void ExtensionsBrowserClientQt::LoadResourceFromResourceBundle(const network::ResourceRequest &request, - network::mojom::URLLoaderRequest loader, + mojo::PendingReceiver<network::mojom::URLLoader> loader, const base::FilePath &resource_relative_path, int resource_id, const std::string &content_security_policy, - network::mojom::URLLoaderClientPtr client, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, bool send_cors_header) { - ResourceBundleFileLoader::CreateAndStart(request, std::move(loader), client.PassInterface(), resource_relative_path, + ResourceBundleFileLoader::CreateAndStart(request, std::move(loader), std::move(client), resource_relative_path, resource_id, content_security_policy, send_cors_header); } @@ -447,12 +449,6 @@ ExtensionSystemProvider *ExtensionsBrowserClientQt::GetExtensionSystemFactory() return ExtensionSystemFactoryQt::GetInstance(); } -// void ExtensionsBrowserClientQt::RegisterExtensionFunctions(ExtensionFunctionRegistry *registry) const -//{ -// // Register core extension-system APIs. -// api::GeneratedFunctionRegistry::RegisterAll(registry); -//} - void ExtensionsBrowserClientQt::RegisterExtensionInterfaces(service_manager::BinderRegistryWithArgs<content::RenderFrameHost *> *registry, content::RenderFrameHost *render_frame_host, const Extension *extension) const @@ -460,6 +456,14 @@ void ExtensionsBrowserClientQt::RegisterExtensionInterfaces(service_manager::Bin RegisterInterfacesForExtension(registry, render_frame_host, extension); } +void ExtensionsBrowserClientQt::RegisterBrowserInterfaceBindersForFrame( + service_manager::BinderMapWithContext<content::RenderFrameHost*> *binder_map, + content::RenderFrameHost* render_frame_host, + const Extension* extension) const +{ + PopulateExtensionFrameBinders(binder_map, render_frame_host, extension); +} + std::unique_ptr<RuntimeAPIDelegate> ExtensionsBrowserClientQt::CreateRuntimeAPIDelegate(content::BrowserContext *context) const { // TODO(extensions): Implement to support Apps. |