summaryrefslogtreecommitdiffstats
path: root/src/core/extensions/extensions_browser_client_qt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/extensions/extensions_browser_client_qt.cpp')
-rw-r--r--src/core/extensions/extensions_browser_client_qt.cpp65
1 files changed, 28 insertions, 37 deletions
diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp
index 1b2bb51f4..b285aadd8 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);
};
@@ -379,7 +377,7 @@ void ExtensionsBrowserClientQt::LoadResourceFromResourceBundle(const network::Re
bool ExtensionsBrowserClientQt::AllowCrossRendererResourceLoad(const GURL &url,
- content::ResourceType resource_type,
+ blink::mojom::ResourceType resource_type,
ui::PageTransition page_transition,
int child_id,
bool is_incognito,
@@ -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,