diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-06-03 16:01:24 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-09 15:19:07 +0200 |
commit | cd61343ceb4a3de8ce16082917a2f197b2481d08 (patch) | |
tree | ae88767edf6b3dc07b8dcf54c97a779eb2812768 /src/core/extensions | |
parent | fc3893ea80296bd17e1797d5caf4479e0be4afd1 (diff) |
Chromium 81-based adaptations
Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/extensions')
-rw-r--r-- | src/core/extensions/extension_system_qt.cpp | 9 | ||||
-rw-r--r-- | src/core/extensions/extension_system_qt.h | 2 | ||||
-rw-r--r-- | src/core/extensions/extensions_browser_client_qt.cpp | 63 | ||||
-rw-r--r-- | src/core/extensions/extensions_browser_client_qt.h | 5 |
4 files changed, 34 insertions, 45 deletions
diff --git a/src/core/extensions/extension_system_qt.cpp b/src/core/extensions/extension_system_qt.cpp index a66051fbd..96532d9f6 100644 --- a/src/core/extensions/extension_system_qt.cpp +++ b/src/core/extensions/extension_system_qt.cpp @@ -91,10 +91,9 @@ #include "extensions/common/manifest_constants.h" #include "extensions/common/manifest_handlers/mime_types_handler.h" #include "extensions/common/manifest_url_handlers.h" -#include "ui/base/resource/resource_bundle.h" -#include "chrome/grit/component_extension_resources.h" -#include "chrome/grit/browser_resources.h" #include "net/base/mime_util.h" +#include "qtwebengine/grit/qt_webengine_resources.h" +#include "ui/base/resource/resource_bundle.h" using content::BrowserThread; @@ -405,7 +404,7 @@ void ExtensionSystemQt::InstallUpdate(const std::string &extension_id, #endif void ExtensionSystemQt::RegisterExtensionWithRequestContexts(const Extension *extension, - const base::Closure &callback) + base::OnceClosure callback) { base::Time install_time = base::Time::Now(); @@ -417,7 +416,7 @@ void ExtensionSystemQt::RegisterExtensionWithRequestContexts(const Extension *ex base::Bind(&InfoMap::AddExtension, info_map(), base::RetainedRef(extension), install_time, incognito_enabled, notifications_disabled), - callback); + std::move(callback)); } void ExtensionSystemQt::UnregisterExtensionWithRequestContexts(const std::string &extension_id, diff --git a/src/core/extensions/extension_system_qt.h b/src/core/extensions/extension_system_qt.h index 04bffb74d..e3762e8a6 100644 --- a/src/core/extensions/extension_system_qt.h +++ b/src/core/extensions/extension_system_qt.h @@ -98,7 +98,7 @@ public: AppSorting *app_sorting() override; void RegisterExtensionWithRequestContexts(const Extension *extension, - const base::Closure &callback) override; + base::OnceClosure callback) override; void UnregisterExtensionWithRequestContexts(const std::string &extension_id, const UnloadedExtensionReason reason) override; diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp index 1b2bb51f4..08ce07da8 100644 --- a/src/core/extensions/extensions_browser_client_qt.cpp +++ b/src/core/extensions/extensions_browser_client_qt.cpp @@ -64,14 +64,12 @@ #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 "services/network/public/cpp/resource_response.h" #include "services/network/public/mojom/url_loader.mojom.h" +#include "services/network/public/mojom/url_response_head.mojom.h" #include "third_party/zlib/google/compression_utils.h" #include "ui/base/resource/resource_bundle.h" @@ -169,7 +167,7 @@ public: void ResumeReadingBodyFromNet() override {} private: - ResourceBundleFileLoader(const std::string &content_security_policy, bool send_cors_header) : binding_(this) + ResourceBundleFileLoader(const std::string &content_security_policy, bool send_cors_header) { response_headers_ = extensions::BuildHttpHeaders(content_security_policy, send_cors_header, base::Time()); } @@ -181,11 +179,11 @@ private: const base::FilePath &filename, int resource_id) { client_.Bind(std::move(client_info_remote)); - binding_.Bind(std::move(loader)); - binding_.set_connection_error_handler( - base::BindOnce(&ResourceBundleFileLoader::OnBindingError, base::Unretained(this))); - client_.set_connection_error_handler( - base::BindOnce(&ResourceBundleFileLoader::OnConnectionError, base::Unretained(this))); + receiver_.Bind(std::move(loader)); + receiver_.set_disconnect_handler(base::BindOnce( + &ResourceBundleFileLoader::OnReceiverError, base::Unretained(this))); + client_.set_disconnect_handler(base::BindOnce( + &ResourceBundleFileLoader::OnMojoDisconnect, base::Unretained(this))); auto data = GetResource(resource_id, request.url.host()); std::string *read_mime_type = new std::string; @@ -198,12 +196,12 @@ private: void OnMimeTypeRead(scoped_refptr<base::RefCountedMemory> data, std::string *read_mime_type, bool read_result) { - network::ResourceResponseHead head; - head.request_start = base::TimeTicks::Now(); - head.response_start = base::TimeTicks::Now(); - head.content_length = data->size(); - head.mime_type = *read_mime_type; - DetermineCharset(head.mime_type, data.get(), &head.charset); + auto head = network::mojom::URLResponseHead::New(); + head->request_start = base::TimeTicks::Now(); + head->response_start = base::TimeTicks::Now(); + head->content_length = data->size(); + head->mime_type = *read_mime_type; + DetermineCharset(head->mime_type, data.get(), &head->charset); mojo::DataPipe pipe(data->size()); if (!pipe.consumer_handle.is_valid()) { client_->OnComplete(network::URLLoaderCompletionStatus(net::ERR_FAILED)); @@ -211,14 +209,14 @@ private: MaybeDeleteSelf(); return; } - head.headers = response_headers_; - head.headers->AddHeader(base::StringPrintf("%s: %s", net::HttpRequestHeaders::kContentLength, - base::NumberToString(head.content_length).c_str())); - if (!head.mime_type.empty()) { - head.headers->AddHeader( - base::StringPrintf("%s: %s", net::HttpRequestHeaders::kContentType, head.mime_type.c_str())); + head->headers = response_headers_; + head->headers->AddHeader(base::StringPrintf("%s: %s", net::HttpRequestHeaders::kContentLength, + base::NumberToString(head->content_length).c_str())); + if (!head->mime_type.empty()) { + head->headers->AddHeader( + base::StringPrintf("%s: %s", net::HttpRequestHeaders::kContentType, head->mime_type.c_str())); } - client_->OnReceiveResponse(head); + client_->OnReceiveResponse(std::move(head)); client_->OnStartLoadingResponseBody(std::move(pipe.consumer_handle)); uint32_t write_size = data->size(); @@ -226,21 +224,21 @@ private: OnFileWritten(result); } - void OnConnectionError() + void OnMojoDisconnect() { client_.reset(); MaybeDeleteSelf(); } - void OnBindingError() + void OnReceiverError() { - binding_.Close(); + receiver_.reset(); MaybeDeleteSelf(); } void MaybeDeleteSelf() { - if (!binding_.is_bound() && !client_.is_bound()) + if (!receiver_.is_bound() && !client_.is_bound()) delete this; } @@ -256,10 +254,10 @@ private: MaybeDeleteSelf(); } - mojo::Binding<network::mojom::URLLoader> binding_; - network::mojom::URLLoaderClientPtr client_; + mojo::Receiver<network::mojom::URLLoader> receiver_{this}; + mojo::Remote<network::mojom::URLLoaderClient> client_; scoped_refptr<net::HttpResponseHeaders> response_headers_; - base::WeakPtrFactory<ResourceBundleFileLoader> weak_factory_{ this }; + base::WeakPtrFactory<ResourceBundleFileLoader> weak_factory_{this}; DISALLOW_COPY_AND_ASSIGN(ResourceBundleFileLoader); }; @@ -449,13 +447,6 @@ ExtensionSystemProvider *ExtensionsBrowserClientQt::GetExtensionSystemFactory() return ExtensionSystemFactoryQt::GetInstance(); } -void ExtensionsBrowserClientQt::RegisterExtensionInterfaces(service_manager::BinderRegistryWithArgs<content::RenderFrameHost *> *registry, - content::RenderFrameHost *render_frame_host, - const Extension *extension) const -{ - RegisterInterfacesForExtension(registry, render_frame_host, extension); -} - void ExtensionsBrowserClientQt::RegisterBrowserInterfaceBindersForFrame( service_manager::BinderMapWithContext<content::RenderFrameHost*> *binder_map, content::RenderFrameHost* render_frame_host, diff --git a/src/core/extensions/extensions_browser_client_qt.h b/src/core/extensions/extensions_browser_client_qt.h index 97da83240..f57165fcf 100644 --- a/src/core/extensions/extensions_browser_client_qt.h +++ b/src/core/extensions/extensions_browser_client_qt.h @@ -47,6 +47,8 @@ #include "base/compiler_specific.h" #include "extensions/browser/extensions_browser_client.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" namespace extensions { @@ -94,9 +96,6 @@ public: void RegisterBrowserInterfaceBindersForFrame(service_manager::BinderMapWithContext<content::RenderFrameHost*> *, content::RenderFrameHost *, const extensions::Extension *) const override; std::unique_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate(content::BrowserContext *context) const override; - void RegisterExtensionInterfaces(service_manager::BinderRegistryWithArgs<content::RenderFrameHost *> *registry, - content::RenderFrameHost *render_frame_host, - const Extension *extension) const override; const ComponentExtensionResourceManager * GetComponentExtensionResourceManager() override; void BroadcastEventToRenderers(events::HistogramValue histogram_value, |