diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-02-04 16:20:37 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-23 00:24:51 +0000 |
commit | 5c6201f6c393967e9284bb9841281d286126541d (patch) | |
tree | 24339c13b833cae3d8f6f0115bade06df342b9fc /src/core/renderer/content_renderer_client_qt.cpp | |
parent | f3f3279bec367bf3816377ac31a75c042648068f (diff) |
Adaptations for Chromium 72
Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/renderer/content_renderer_client_qt.cpp')
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index f68370a24..a166186a5 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -68,6 +68,8 @@ #include "media/base/key_system_properties.h" #include "media/media_buildflags.h" #include "net/base/net_errors.h" +#include "services/service_manager/public/cpp/connector.h" +#include "services/service_manager/public/cpp/interface_provider.h" #include "services/service_manager/public/cpp/service_context.h" #include "third_party/blink/public/platform/web_url_error.h" #include "third_party/blink/public/platform/web_url_request.h" @@ -112,6 +114,7 @@ namespace QtWebEngineCore { static const char kHttpErrorDomain[] = "http"; ContentRendererClientQt::ContentRendererClientQt() + : m_serviceBinding(this) { #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ExtensionsClient::Set(extensions::ExtensionsClientQt::GetInstance()); @@ -149,7 +152,7 @@ void ContentRendererClientQt::RenderThreadStarted() blink::WebURL qrc(blink::KURL("qrc:")); blink::WebString file(blink::WebString::FromASCII("file")); blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(qrc, file, blink::WebString(), true, - network::mojom::CORSOriginAccessMatchPriority::kDefaultPriority); + network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority); #if BUILDFLAG(ENABLE_EXTENSIONS) ExtensionsRendererClientQt::GetInstance()->RenderThreadStarted(); #endif @@ -237,23 +240,23 @@ bool ContentRendererClientQt::ShouldSuppressErrorPage(content::RenderFrame *fram // To tap into the chromium localized strings. Ripped from the chrome layer (highly simplified). void ContentRendererClientQt::PrepareErrorPage(content::RenderFrame* renderFrame, const blink::WebURLRequest &failedRequest, const blink::WebURLError &web_error, - std::string *errorHtml, base::string16 *errorDescription) + std::string *errorHtml) { GetNavigationErrorStringsInternal(renderFrame, failedRequest, error_page::Error::NetError(web_error.url(), web_error.reason(), web_error.has_copy_in_cache()), - errorHtml, errorDescription); + errorHtml); } void ContentRendererClientQt::PrepareErrorPageForHttpStatusError(content::RenderFrame* renderFrame, const blink::WebURLRequest& failedRequest, const GURL& unreachable_url, int http_status, - std::string* errorHtml, base::string16* errorDescription) + std::string* errorHtml) { GetNavigationErrorStringsInternal(renderFrame, failedRequest, error_page::Error::HttpError(unreachable_url, http_status), - errorHtml, errorDescription); + errorHtml); } -void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderFrame *renderFrame, const blink::WebURLRequest &failedRequest, const error_page::Error &error, std::string *errorHtml, base::string16 *errorDescription) +void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderFrame *renderFrame, const blink::WebURLRequest &failedRequest, const error_page::Error &error, std::string *errorHtml) { Q_UNUSED(renderFrame) const bool isPost = QByteArray::fromStdString(failedRequest.HttpMethod().Utf8()) == QByteArrayLiteral("POST"); @@ -271,7 +274,7 @@ void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderF error.reason(), error.domain(), error.url(), isPost, error.stale_copy_in_cache(), false, false, error_page::LocalizedError::OfflineContentOnNetErrorFeatureState::kDisabled, - locale, std::unique_ptr<error_page::ErrorPageParams>(), &errorStrings); + false, locale, std::unique_ptr<error_page::ErrorPageParams>(), &errorStrings); resourceId = IDR_NET_ERROR_HTML; const base::StringPiece template_html(ui::ResourceBundle::GetSharedInstance().GetRawDataResource(resourceId)); @@ -280,9 +283,6 @@ void ContentRendererClientQt::GetNavigationErrorStringsInternal(content::RenderF else // "t" is the id of the templates root node. *errorHtml = webui::GetTemplatesHtml(template_html, &errorStrings, "t"); } - - if (errorDescription) - *errorDescription = error_page::LocalizedError::GetErrorDetails(error.domain(), error.reason(), isPost); } unsigned long long ContentRendererClientQt::VisitedLinkHash(const char *canonicalUrl, size_t length) @@ -323,11 +323,6 @@ content::BrowserPluginDelegate* ContentRendererClientQt::CreateBrowserPluginDele #endif } -void ContentRendererClientQt::OnStart() -{ - context()->connector()->BindConnectorRequest(std::move(m_connectorRequest)); -} - void ContentRendererClientQt::OnBindInterface(const service_manager::BindSourceInfo &remote_info, const std::string& name, mojo::ScopedMessagePipeHandle handle) @@ -338,11 +333,9 @@ void ContentRendererClientQt::OnBindInterface(const service_manager::BindSourceI void ContentRendererClientQt::GetInterface(const std::string &interface_name, mojo::ScopedMessagePipeHandle interface_pipe) { - if (!m_connector) - return; - m_connector->BindInterface(service_manager::Identity("qtwebengine"), - interface_name, - std::move(interface_pipe)); + m_serviceBinding.GetConnector()->BindInterface( + service_manager::ServiceFilter::ByName("qtwebengine"), + interface_name, std::move(interface_pipe)); } // The following is based on chrome/renderer/media/chrome_key_systems.cc: @@ -568,16 +561,13 @@ void ContentRendererClientQt::WillSendRequest(blink::WebLocalFrame *frame, void ContentRendererClientQt::CreateRendererService(service_manager::mojom::ServiceRequest service_request) { - m_serviceContext = std::make_unique<service_manager::ServiceContext>( - std::make_unique<service_manager::ForwardingService>(this), - std::move(service_request)); + DCHECK(!m_serviceBinding.is_bound()); + m_serviceBinding.Bind(std::move(service_request)); } service_manager::Connector* ContentRendererClientQt::GetConnector() { - if (!m_connector) - m_connector = service_manager::Connector::Create(&m_connectorRequest); - return m_connector.get(); + return m_serviceBinding.GetConnector(); } } // namespace |