summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/browser_accessibility_qt.cpp2
-rw-r--r--src/core/browsing_data_remover_delegate_qt.cpp17
-rw-r--r--src/core/browsing_data_remover_delegate_qt.h6
-rw-r--r--src/core/certificate_error_controller.cpp4
-rw-r--r--src/core/certificate_error_controller_p.h2
-rw-r--r--src/core/common/extensions/extensions_client_qt.cpp14
-rw-r--r--src/core/common/extensions/extensions_client_qt.h9
-rw-r--r--src/core/compositor/delegated_frame_node.cpp22
-rw-r--r--src/core/content_browser_client_qt.cpp66
-rw-r--r--src/core/content_browser_client_qt.h14
-rw-r--r--src/core/devtools_frontend_qt.cpp2
-rw-r--r--src/core/extensions/component_extension_resource_manager_qt.cpp18
-rw-r--r--src/core/extensions/component_extension_resource_manager_qt.h10
-rw-r--r--src/core/extensions/extensions_browser_client_qt.cpp31
-rw-r--r--src/core/extensions/extensions_browser_client_qt.h9
-rw-r--r--src/core/net/url_request_custom_job.cpp2
-rw-r--r--src/core/permission_manager_qt.cpp58
-rw-r--r--src/core/permission_manager_qt.h29
-rw-r--r--src/core/profile_io_data_qt.cpp32
-rw-r--r--src/core/qtwebengine.gni4
-rw-r--r--src/core/render_widget_host_view_qt.cpp21
-rw-r--r--src/core/render_widget_host_view_qt.h8
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp13
-rw-r--r--src/core/renderer/render_frame_observer_qt.cpp12
-rw-r--r--src/core/renderer/render_frame_observer_qt.h9
-rw-r--r--src/core/renderer/render_view_observer_qt.cpp11
-rw-r--r--src/core/renderer/render_view_observer_qt.h10
-rw-r--r--src/core/renderer/web_channel_ipc_transport.cpp4
-rw-r--r--src/core/web_contents_delegate_qt.cpp19
-rw-r--r--src/core/web_contents_delegate_qt.h3
-rw-r--r--src/core/web_engine_context.cpp17
-rw-r--r--src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro1
-rwxr-xr-xtools/scripts/take_snapshot.py8
-rw-r--r--tools/scripts/version_resolver.py4
34 files changed, 247 insertions, 244 deletions
diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp
index f7e9c1c4f..abf1c1154 100644
--- a/src/core/browser_accessibility_qt.cpp
+++ b/src/core/browser_accessibility_qt.cpp
@@ -730,7 +730,7 @@ void BrowserAccessibilityQt::scrollToSubstring(int startIndex, int endIndex)
int count = characterCount();
if (startIndex < endIndex && endIndex < count)
manager()->ScrollToMakeVisible(*this,
- GetRootFrameRangeBoundsRect(
+ GetRootFrameHypertextRangeBoundsRect(
startIndex,
endIndex - startIndex,
ui::AXClippingBehavior::kUnclipped));
diff --git a/src/core/browsing_data_remover_delegate_qt.cpp b/src/core/browsing_data_remover_delegate_qt.cpp
index 005a9820d..344ba817f 100644
--- a/src/core/browsing_data_remover_delegate_qt.cpp
+++ b/src/core/browsing_data_remover_delegate_qt.cpp
@@ -50,28 +50,31 @@ namespace QtWebEngineCore {
bool DoesOriginMatchEmbedderMask(int origin_type_mask,
const url::Origin &origin,
- storage::SpecialStoragePolicy *policy) {
+ storage::SpecialStoragePolicy *policy)
+{
Q_UNUSED(origin_type_mask);
Q_UNUSED(origin);
Q_UNUSED(policy);
return true;
}
-content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher BrowsingDataRemoverDelegateQt::GetOriginTypeMatcher() const {
+content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher BrowsingDataRemoverDelegateQt::GetOriginTypeMatcher()
+{
return base::BindRepeating(&DoesOriginMatchEmbedderMask);
}
-bool BrowsingDataRemoverDelegateQt::MayRemoveDownloadHistory() const {
+bool BrowsingDataRemoverDelegateQt::MayRemoveDownloadHistory()
+{
return true;
}
-void BrowsingDataRemoverDelegateQt::RemoveEmbedderData(
- const base::Time &delete_begin,
+void BrowsingDataRemoverDelegateQt::RemoveEmbedderData(const base::Time &delete_begin,
const base::Time &delete_end,
int remove_mask,
- const content::BrowsingDataFilterBuilder& filter_builder,
+ content::BrowsingDataFilterBuilder *filter_builder,
int origin_type_mask,
- base::OnceClosure callback) {
+ base::OnceClosure callback)
+{
Q_UNUSED(delete_begin);
Q_UNUSED(delete_end);
Q_UNUSED(filter_builder);
diff --git a/src/core/browsing_data_remover_delegate_qt.h b/src/core/browsing_data_remover_delegate_qt.h
index fa99cdf90..dc2761ffc 100644
--- a/src/core/browsing_data_remover_delegate_qt.h
+++ b/src/core/browsing_data_remover_delegate_qt.h
@@ -50,13 +50,13 @@ public:
BrowsingDataRemoverDelegateQt() {}
~BrowsingDataRemoverDelegateQt() override {}
- content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher GetOriginTypeMatcher() const override;
- bool MayRemoveDownloadHistory() const override;
+ content::BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher GetOriginTypeMatcher() override;
+ bool MayRemoveDownloadHistory() override;
void RemoveEmbedderData(
const base::Time &delete_begin,
const base::Time &delete_end,
int remove_mask,
- const content::BrowsingDataFilterBuilder &filter_builder,
+ content::BrowsingDataFilterBuilder *filter_builder,
int origin_type_mask,
base::OnceClosure callback) override;
};
diff --git a/src/core/certificate_error_controller.cpp b/src/core/certificate_error_controller.cpp
index 89c2980e3..bc83ed802 100644
--- a/src/core/certificate_error_controller.cpp
+++ b/src/core/certificate_error_controller.cpp
@@ -78,14 +78,14 @@ void CertificateErrorControllerPrivate::accept(bool accepted)
CertificateErrorControllerPrivate::CertificateErrorControllerPrivate(int cert_error,
const net::SSLInfo& ssl_info,
const GURL &request_url,
- content::ResourceType resource_type,
+ bool main_frame,
bool fatal_error,
bool strict_enforcement,
const base::Callback<void(content::CertificateRequestResultType)>& cb
)
: certError(CertificateErrorController::CertificateError(cert_error))
, requestUrl(toQt(request_url))
- , resourceType(CertificateErrorController::ResourceType(resource_type))
+ , resourceType(main_frame ? CertificateErrorController::ResourceTypeMainFrame : CertificateErrorController::ResourceTypeOther)
, fatalError(fatal_error)
, strictEnforcement(strict_enforcement)
, callback(cb)
diff --git a/src/core/certificate_error_controller_p.h b/src/core/certificate_error_controller_p.h
index d51a559d0..a11f2b6f0 100644
--- a/src/core/certificate_error_controller_p.h
+++ b/src/core/certificate_error_controller_p.h
@@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE
class CertificateErrorControllerPrivate {
public:
- CertificateErrorControllerPrivate(int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, content::ResourceType resource_type, bool fatal_error, bool strict_enforcement, const base::Callback<void(content::CertificateRequestResultType)>& callback);
+ CertificateErrorControllerPrivate(int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, bool main_frame, bool fatal_error, bool strict_enforcement, const base::Callback<void(content::CertificateRequestResultType)>& callback);
void accept(bool accepted);
diff --git a/src/core/common/extensions/extensions_client_qt.cpp b/src/core/common/extensions/extensions_client_qt.cpp
index 6c6200eb0..dd1de1483 100644
--- a/src/core/common/extensions/extensions_client_qt.cpp
+++ b/src/core/common/extensions/extensions_client_qt.cpp
@@ -135,20 +135,6 @@ bool ExtensionsClientQt::IsScriptableURL(const GURL &url, std::string *error) co
return true;
}
-// Determines if certain fatal extensions errors should be surpressed
-// (i.e., only logged) or allowed (i.e., logged before crashing).
-bool ExtensionsClientQt::ShouldSuppressFatalErrors() const
-{
- return true;
-}
-
-// Records that a fatal error was caught and suppressed. It is expected that
-// embedders will only do so if ShouldSuppressFatalErrors at some point
-// returned true.
-void ExtensionsClientQt::RecordDidSuppressFatalError()
-{
-}
-
// Returns the base webstore URL prefix.
const GURL &ExtensionsClientQt::GetWebstoreBaseURL() const
{
diff --git a/src/core/common/extensions/extensions_client_qt.h b/src/core/common/extensions/extensions_client_qt.h
index 657487277..e689f76b7 100644
--- a/src/core/common/extensions/extensions_client_qt.h
+++ b/src/core/common/extensions/extensions_client_qt.h
@@ -102,15 +102,6 @@ public:
// Returns false if content scripts are forbidden from running on |url|.
bool IsScriptableURL(const GURL &url, std::string *error) const override;
- // Determines if certain fatal extensions errors should be surpressed
- // (i.e., only logged) or allowed (i.e., logged before crashing).
- bool ShouldSuppressFatalErrors() const override;
-
- // Records that a fatal error was caught and suppressed. It is expected that
- // embedders will only do so if ShouldSuppressFatalErrors at some point
- // returned true.
- void RecordDidSuppressFatalError() override;
-
// Returns the base webstore URL prefix.
const GURL &GetWebstoreBaseURL() const override;
diff --git a/src/core/compositor/delegated_frame_node.cpp b/src/core/compositor/delegated_frame_node.cpp
index 19e8d1b82..2a0df3acd 100644
--- a/src/core/compositor/delegated_frame_node.cpp
+++ b/src/core/compositor/delegated_frame_node.cpp
@@ -570,10 +570,10 @@ static bool areRenderPassStructuresEqual(const viz::CompositorFrame *frameData,
if (quad->material != prevQuad->material)
return false;
#ifndef QT_NO_OPENGL
- if (quad->material == viz::DrawQuad::YUV_VIDEO_CONTENT)
+ if (quad->material == viz::DrawQuad::Material::kYuvVideoContent)
return false;
#ifdef GL_OES_EGL_image_external
- if (quad->material == viz::DrawQuad::STREAM_VIDEO_CONTENT)
+ if (quad->material == viz::DrawQuad::Material::kStreamVideoContent)
return false;
#endif // GL_OES_EGL_image_external
#endif // QT_NO_OPENGL
@@ -840,7 +840,7 @@ void DelegatedFrameNode::handleQuad(
RenderWidgetHostViewQtDelegate *apiDelegate)
{
switch (quad->material) {
- case viz::DrawQuad::RENDER_PASS: {
+ case viz::DrawQuad::Material::kRenderPass: {
const viz::RenderPassDrawQuad *renderPassQuad = viz::RenderPassDrawQuad::MaterialCast(quad);
if (!renderPassQuad->mask_texture_size.IsEmpty()) {
const CompositorResource *resource = findAndHoldResource(renderPassQuad->mask_resource_id(), resourceTracker);
@@ -854,7 +854,7 @@ void DelegatedFrameNode::handleQuad(
break;
}
- case viz::DrawQuad::TEXTURE_CONTENT: {
+ case viz::DrawQuad::Material::kTextureContent: {
const viz::TextureDrawQuad *tquad = viz::TextureDrawQuad::MaterialCast(quad);
const CompositorResource *resource = findAndHoldResource(tquad->resource_id(), resourceTracker);
QSGTexture *texture =
@@ -872,7 +872,7 @@ void DelegatedFrameNode::handleQuad(
currentLayerChain);
break;
}
- case viz::DrawQuad::SOLID_COLOR: {
+ case viz::DrawQuad::Material::kSolidColor: {
const viz::SolidColorDrawQuad *scquad = viz::SolidColorDrawQuad::MaterialCast(quad);
// Qt only supports MSAA and this flag shouldn't be needed.
// If we ever want to use QSGRectangleNode::setAntialiasing for this we should
@@ -882,7 +882,7 @@ void DelegatedFrameNode::handleQuad(
break;
#ifndef QT_NO_OPENGL
}
- case viz::DrawQuad::DEBUG_BORDER: {
+ case viz::DrawQuad::Material::kDebugBorder: {
const viz::DebugBorderDrawQuad *dbquad = viz::DebugBorderDrawQuad::MaterialCast(quad);
QSGGeometry *geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 4);
@@ -905,7 +905,7 @@ void DelegatedFrameNode::handleQuad(
break;
#endif
}
- case viz::DrawQuad::TILED_CONTENT: {
+ case viz::DrawQuad::Material::kTiledContent: {
const viz::TileDrawQuad *tquad = viz::TileDrawQuad::MaterialCast(quad);
const CompositorResource *resource = findAndHoldResource(tquad->resource_id(), resourceTracker);
nodeHandler->setupTextureContentNode(
@@ -915,7 +915,7 @@ void DelegatedFrameNode::handleQuad(
break;
#ifndef QT_NO_OPENGL
}
- case viz::DrawQuad::YUV_VIDEO_CONTENT: {
+ case viz::DrawQuad::Material::kYuvVideoContent: {
const viz::YUVVideoDrawQuad *vquad = viz::YUVVideoDrawQuad::MaterialCast(quad);
const CompositorResource *yResource =
findAndHoldResource(vquad->y_plane_resource_id(), resourceTracker);
@@ -941,7 +941,7 @@ void DelegatedFrameNode::handleQuad(
break;
#ifdef GL_OES_EGL_image_external
}
- case viz::DrawQuad::STREAM_VIDEO_CONTENT: {
+ case viz::DrawQuad::Material::kStreamVideoContent: {
const viz::StreamVideoDrawQuad *squad = viz::StreamVideoDrawQuad::MaterialCast(quad);
const CompositorResource *resource = findAndHoldResource(squad->resource_id(), resourceTracker);
MailboxTexture *texture = static_cast<MailboxTexture *>(
@@ -954,10 +954,10 @@ void DelegatedFrameNode::handleQuad(
#endif // GL_OES_EGL_image_external
#endif // QT_NO_OPENGL
}
- case viz::DrawQuad::SURFACE_CONTENT:
+ case viz::DrawQuad::Material::kSurfaceContent:
Q_UNREACHABLE();
default:
- qWarning("Unimplemented quad material: %d", quad->material);
+ qWarning("Unimplemented quad material: %d", (int)quad->material);
}
}
diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
index 71ba33957..69df2232a 100644
--- a/src/core/content_browser_client_qt.cpp
+++ b/src/core/content_browser_client_qt.cpp
@@ -76,6 +76,7 @@
#include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
#include "printing/buildflags/buildflags.h"
#include "qtwebengine/browser/qtwebengine_content_browser_overlay_manifest.h"
#include "qtwebengine/browser/qtwebengine_content_renderer_overlay_manifest.h"
@@ -150,6 +151,11 @@
#include "renderer_host/resource_dispatcher_host_delegate_qt.h"
#endif
+#if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
+#include "media/mojo/interfaces/constants.mojom.h"
+#include "media/mojo/services/media_service_factory.h"
+#endif
+
#include <QGuiApplication>
#include <QLocale>
#ifndef QT_NO_OPENGL
@@ -249,7 +255,6 @@ void ShareGroupQtQuick::AboutToAddFirstContext()
}
ContentBrowserClientQt::ContentBrowserClientQt()
- : m_browserMainParts(0)
{
}
@@ -257,10 +262,9 @@ ContentBrowserClientQt::~ContentBrowserClientQt()
{
}
-content::BrowserMainParts *ContentBrowserClientQt::CreateBrowserMainParts(const content::MainFunctionParams&)
+std::unique_ptr<content::BrowserMainParts> ContentBrowserClientQt::CreateBrowserMainParts(const content::MainFunctionParams&)
{
- m_browserMainParts = new BrowserMainPartsQt();
- return m_browserMainParts;
+ return std::make_unique<BrowserMainPartsQt>();
}
void ContentBrowserClientQt::RenderProcessWillLaunch(content::RenderProcessHost* host,
@@ -291,16 +295,16 @@ void ContentBrowserClientQt::RenderProcessWillLaunch(content::RenderProcessHost*
host->GetChannel()->GetRemoteAssociatedInterface(&renderer_configuration);
renderer_configuration->SetInitialConfiguration(is_incognito_process);
- service_manager::mojom::ServicePtr service;
- *service_request = mojo::MakeRequest(&service);
- service_manager::mojom::PIDReceiverPtr pid_receiver;
+ mojo::PendingRemote<service_manager::mojom::Service> service;
+ *service_request = service.InitWithNewPipeAndPassReceiver();
service_manager::Identity renderer_identity = host->GetChildIdentity();
+ mojo::Remote<service_manager::mojom::ProcessMetadata> metadata;
ServiceQt::GetInstance()->connector()->RegisterServiceInstance(
service_manager::Identity("qtwebengine_renderer",
renderer_identity.instance_group(),
renderer_identity.instance_id(),
base::Token::CreateRandom()),
- std::move(service), mojo::MakeRequest(&pid_receiver));
+ std::move(service), metadata.BindNewPipeAndPassReceiver());
}
void ContentBrowserClientQt::ResourceDispatcherHostCreated()
@@ -380,7 +384,7 @@ void ContentBrowserClientQt::AllowCertificateError(content::WebContents *webCont
int cert_error,
const net::SSLInfo &ssl_info,
const GURL &request_url,
- content::ResourceType resource_type,
+ bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)> &callback)
@@ -393,7 +397,7 @@ void ContentBrowserClientQt::AllowCertificateError(content::WebContents *webCont
cert_error,
ssl_info,
request_url,
- resource_type,
+ is_main_frame_request,
IsCertErrorFatal(cert_error),
strict_enforcement,
callback)));
@@ -558,37 +562,45 @@ void ContentBrowserClientQt::BindInterfaceRequestFromFrame(content::RenderFrameH
m_frameInterfaces->TryBindInterface(interface_name, &interface_pipe);
}
-void ContentBrowserClientQt::RegisterIOThreadServiceHandlers(content::ServiceManagerConnection *connection)
+void ContentBrowserClientQt::RunServiceInstance(const service_manager::Identity &identity,
+ mojo::PendingReceiver<service_manager::mojom::Service> *receiver)
{
- connection->AddServiceRequestHandler(
- "qtwebengine",
- ServiceQt::GetInstance()->CreateServiceQtRequestHandler());
+#if BUILDFLAG(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
+ if (identity.name() == media::mojom::kMediaServiceName) {
+ service_manager::Service::RunAsyncUntilTermination(media::CreateMediaService(std::move(*receiver)));
+ return;
+ }
+#endif
+
+ content::ContentBrowserClient::RunServiceInstance(identity, receiver);
}
-void ContentBrowserClientQt::RegisterOutOfProcessServices(content::ContentBrowserClient::OutOfProcessServiceMap *services)
+void ContentBrowserClientQt::RunServiceInstanceOnIOThread(const service_manager::Identity &identity,
+ mojo::PendingReceiver<service_manager::mojom::Service> *receiver)
{
- (*services)[proxy_resolver::mojom::kProxyResolverServiceName] =
- base::BindRepeating(&base::ASCIIToUTF16, "V8 Proxy Resolver");
+ if (identity.name() == "qtwebengine") {
+ ServiceQt::GetInstance()->CreateServiceQtRequestHandler().Run(std::move(*receiver));
+ return;
+ }
+
+ content::ContentBrowserClient::RunServiceInstance(identity, receiver);
}
base::Optional<service_manager::Manifest> ContentBrowserClientQt::GetServiceManifestOverlay(base::StringPiece name)
{
- if (name == content::mojom::kBrowserServiceName) {
+ if (name == content::mojom::kBrowserServiceName)
return GetQtWebEngineContentBrowserOverlayManifest();
- } else if (name == content::mojom::kPackagedServicesServiceName) {
- service_manager::Manifest overlay;
- overlay.packaged_services = GetQtWebEnginePackagedServiceManifests();
- return overlay;
- } else if (name == content::mojom::kRendererServiceName) {
+ else if (name == content::mojom::kRendererServiceName)
return GetQtWebEngineContentRendererOverlayManifest();
- }
return base::nullopt;
}
std::vector<service_manager::Manifest> ContentBrowserClientQt::GetExtraServiceManifests()
{
- return std::vector<service_manager::Manifest>{GetQtWebEngineRendererManifest()};
+ auto manifests = GetQtWebEnginePackagedServiceManifests();
+ manifests.push_back(GetQtWebEngineRendererManifest());
+ return manifests;
}
bool ContentBrowserClientQt::CanCreateWindow(
@@ -748,16 +760,12 @@ bool ContentBrowserClientQt::HandleExternalProtocol(
bool is_main_frame,
ui::PageTransition page_transition,
bool has_user_gesture,
- const std::string &method,
- const net::HttpRequestHeaders &headers,
network::mojom::URLLoaderFactoryRequest *factory_request,
network::mojom::URLLoaderFactory *&out_factory)
{
Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
Q_UNUSED(child_id);
Q_UNUSED(navigation_data);
- Q_UNUSED(method);
- Q_UNUSED(headers);
base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&LaunchURL,
diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h
index d0771cc4b..7201bb0df 100644
--- a/src/core/content_browser_client_qt.h
+++ b/src/core/content_browser_client_qt.h
@@ -83,7 +83,7 @@ class ContentBrowserClientQt : public content::ContentBrowserClient {
public:
ContentBrowserClientQt();
~ContentBrowserClientQt();
- content::BrowserMainParts* CreateBrowserMainParts(const content::MainFunctionParams&) override;
+ std::unique_ptr<content::BrowserMainParts> CreateBrowserMainParts(const content::MainFunctionParams&) override;
void RenderProcessWillLaunch(content::RenderProcessHost *host,
service_manager::mojom::ServiceRequest* service_request) override;
void ResourceDispatcherHostCreated() override;
@@ -98,7 +98,7 @@ public:
int cert_error,
const net::SSLInfo &ssl_info,
const GURL &request_url,
- content::ResourceType resource_type,
+ bool is_main_frame_request,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)> &callback) override;
@@ -120,8 +120,11 @@ public:
void BindInterfaceRequestFromFrame(content::RenderFrameHost* render_frame_host,
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) override;
- void RegisterIOThreadServiceHandlers(content::ServiceManagerConnection *connection) override;
- void RegisterOutOfProcessServices(OutOfProcessServiceMap* services) override;
+ void RunServiceInstance(const service_manager::Identity &identity,
+ mojo::PendingReceiver<service_manager::mojom::Service> *receiver) override;
+ void RunServiceInstanceOnIOThread(const service_manager::Identity &identity,
+ mojo::PendingReceiver<service_manager::mojom::Service> *receiver) override;
+
std::vector<service_manager::Manifest> GetExtraServiceManifests() override;
base::Optional<service_manager::Manifest> GetServiceManifestOverlay(base::StringPiece name) override;
bool CanCreateWindow(content::RenderFrameHost *opener,
@@ -202,8 +205,6 @@ public:
bool is_main_frame,
ui::PageTransition page_transition,
bool has_user_gesture,
- const std::string &method,
- const net::HttpRequestHeaders &headers,
network::mojom::URLLoaderFactoryRequest *factory_request,
network::mojom::URLLoaderFactory *&out_factory) override;
@@ -226,7 +227,6 @@ private:
void InitFrameInterfaces();
void AddNetworkHintsMessageFilter(int render_process_id, net::URLRequestContext *context);
- BrowserMainPartsQt* m_browserMainParts;
std::unique_ptr<content::ResourceDispatcherHostDelegate> m_resourceDispatcherHostDelegate;
scoped_refptr<ShareGroupQtQuick> m_shareGroupQtQuick;
std::unique_ptr<service_manager::BinderRegistry> m_frameInterfaces;
diff --git a/src/core/devtools_frontend_qt.cpp b/src/core/devtools_frontend_qt.cpp
index d3f46f648..1dcbd1e9d 100644
--- a/src/core/devtools_frontend_qt.cpp
+++ b/src/core/devtools_frontend_qt.cpp
@@ -103,7 +103,7 @@ std::unique_ptr<base::DictionaryValue> BuildObjectForResponse(const net::HttpRes
static std::string GetFrontendURL()
{
- return "chrome-devtools://devtools/bundled/devtools_app.html";
+ return "devtools://devtools/bundled/devtools_app.html";
}
} // namespace
diff --git a/src/core/extensions/component_extension_resource_manager_qt.cpp b/src/core/extensions/component_extension_resource_manager_qt.cpp
index 09311c764..f83fcc51c 100644
--- a/src/core/extensions/component_extension_resource_manager_qt.cpp
+++ b/src/core/extensions/component_extension_resource_manager_qt.cpp
@@ -46,6 +46,9 @@
#include "base/logging.h"
#include "base/path_service.h"
+#include "base/stl_util.h"
+#include "base/values.h"
+
#include "chrome/grit/component_extension_resources_map.h"
namespace extensions {
@@ -60,7 +63,7 @@ ComponentExtensionResourceManagerQt::~ComponentExtensionResourceManagerQt() {}
bool ComponentExtensionResourceManagerQt::IsComponentExtensionResource(const base::FilePath &extension_path,
const base::FilePath &resource_path,
- ComponentExtensionResourceInfo* resource_info) const
+ int *resource_id) const
{
base::FilePath directory_path = extension_path;
base::FilePath resources_dir;
@@ -73,9 +76,9 @@ bool ComponentExtensionResourceManagerQt::IsComponentExtensionResource(const bas
relative_path = relative_path.Append(resource_path);
relative_path = relative_path.NormalizePathSeparators();
- auto entry = path_to_resource_info_.find(relative_path);
- if (entry != path_to_resource_info_.end()) {
- *resource_info = entry->second;
+ auto entry = path_to_resource_id_.find(relative_path);
+ if (entry != path_to_resource_id_.end()) {
+ *resource_id = entry->second;
return true;
}
@@ -87,15 +90,14 @@ const ui::TemplateReplacements *ComponentExtensionResourceManagerQt::GetTemplate
return nullptr;
}
-void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const GzippedGritResourceMap *entries, size_t size)
+void ComponentExtensionResourceManagerQt::AddComponentResourceEntries(const GritResourceMap *entries, size_t size)
{
for (size_t i = 0; i < size; ++i) {
base::FilePath resource_path = base::FilePath().AppendASCII(entries[i].name);
resource_path = resource_path.NormalizePathSeparators();
- DCHECK(!base::ContainsKey(path_to_resource_info_, resource_path));
- path_to_resource_info_[resource_path] = { entries[i].value,
- entries[i].gzipped };
+ DCHECK(!base::ContainsKey(path_to_resource_id_, resource_path));
+ path_to_resource_id_[resource_path] = entries[i].value;
}
}
diff --git a/src/core/extensions/component_extension_resource_manager_qt.h b/src/core/extensions/component_extension_resource_manager_qt.h
index c44c23439..b719c8960 100644
--- a/src/core/extensions/component_extension_resource_manager_qt.h
+++ b/src/core/extensions/component_extension_resource_manager_qt.h
@@ -49,7 +49,7 @@
#include "base/files/file_path.h"
#include "extensions/browser/component_extension_resource_manager.h"
-struct GzippedGritResourceMap;
+struct GritResourceMap;
namespace extensions {
@@ -62,15 +62,15 @@ public:
// Overridden from ComponentExtensionResourceManager:
bool IsComponentExtensionResource(const base::FilePath &extension_path,
const base::FilePath &resource_path,
- ComponentExtensionResourceInfo *resource_info) const override;
- const ui::TemplateReplacements *GetTemplateReplacementsForExtension(const std::string& extension_id) const override;
+ int *resource_id) const override;
+ const ui::TemplateReplacements *GetTemplateReplacementsForExtension(const std::string &extension_id) const override;
private:
- void AddComponentResourceEntries(const GzippedGritResourceMap* entries, size_t size);
+ void AddComponentResourceEntries(const GritResourceMap *entries, size_t size);
// A map from a resource path to the resource ID. Used by
// IsComponentExtensionResource.
- std::map<base::FilePath, ComponentExtensionResourceInfo> path_to_resource_info_;
+ std::map<base::FilePath, int> path_to_resource_id_;
DISALLOW_COPY_AND_ASSIGN(ComponentExtensionResourceManagerQt);
};
diff --git a/src/core/extensions/extensions_browser_client_qt.cpp b/src/core/extensions/extensions_browser_client_qt.cpp
index fc1def3ca..eb8c12bff 100644
--- a/src/core/extensions/extensions_browser_client_qt.cpp
+++ b/src/core/extensions/extensions_browser_client_qt.cpp
@@ -109,12 +109,12 @@ public:
URLRequestResourceBundleJob(net::URLRequest *request,
net::NetworkDelegate *network_delegate,
const base::FilePath &filename,
- const extensions::ComponentExtensionResourceInfo &resource_info,
+ int resource_id,
const std::string &content_security_policy,
bool send_cors_header)
: net::URLRequestSimpleJob(request, network_delegate)
, filename_(filename)
- , resource_info_(resource_info)
+ , resource_id_(resource_id)
, weak_factory_(this)
{
// Leave cache headers out of resource bundle requests.
@@ -126,7 +126,7 @@ public:
net::CompletionOnceCallback callback) const override
{
const ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
- *data = rb.LoadDataResourceBytes(resource_info_.resource_id);
+ *data = rb.LoadDataResourceBytes(resource_id_);
// Add the Content-Length header now that we know the resource length.
response_info_.headers->AddHeader(
@@ -173,7 +173,7 @@ private:
base::FilePath filename_;
// The resource to load.
- const extensions::ComponentExtensionResourceInfo resource_info_;
+ int resource_id_;
net::HttpResponseInfo response_info_;
@@ -267,14 +267,14 @@ net::URLRequestJob *ExtensionsBrowserClientQt::MaybeCreateResourceBundleRequestJ
// extension relative path against resources_path.
resources_path.AppendRelativePath(directory_path, &relative_path)) {
base::FilePath request_path = extensions::file_util::ExtensionURLToRelativeFilePath(request->url());
- ComponentExtensionResourceInfo resource_info;
- if (GetComponentExtensionResourceManager()->IsComponentExtensionResource(directory_path, request_path, &resource_info)) {
+ int resource_id = 0;
+ if (GetComponentExtensionResourceManager()->IsComponentExtensionResource(directory_path, request_path, &resource_id)) {
relative_path = relative_path.Append(request_path);
relative_path = relative_path.NormalizePathSeparators();
return new URLRequestResourceBundleJob(request,
network_delegate,
relative_path,
- resource_info,
+ resource_id,
content_security_policy,
send_cors_header);
}
@@ -285,9 +285,9 @@ net::URLRequestJob *ExtensionsBrowserClientQt::MaybeCreateResourceBundleRequestJ
// Return the resource relative path and id for the given request.
base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::ResourceRequest &request,
const base::FilePath &extension_resources_path,
- ComponentExtensionResourceInfo *resource_info) const
+ int *resource_id) const
{
- *resource_info = {};
+ *resource_id = 0;
// |chrome_resources_path| corresponds to src/chrome/browser/resources in
// source tree.
base::FilePath resources_path;
@@ -304,10 +304,10 @@ base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::R
const base::FilePath request_relative_path =
extensions::file_util::ExtensionURLToRelativeFilePath(request.url);
if (!ExtensionsBrowserClient::Get()->GetComponentExtensionResourceManager()->IsComponentExtensionResource(
- extension_resources_path, request_relative_path, resource_info)) {
+ extension_resources_path, request_relative_path, resource_id)) {
return base::FilePath();
}
- DCHECK_NE(0, resource_info->resource_id);
+ DCHECK_NE(0, *resource_id);
return request_relative_path;
}
@@ -317,7 +317,7 @@ base::FilePath ExtensionsBrowserClientQt::GetBundleResourcePath(const network::R
void ExtensionsBrowserClientQt::LoadResourceFromResourceBundle(const network::ResourceRequest &request,
network::mojom::URLLoaderRequest loader,
const base::FilePath &resource_relative_path,
- const ComponentExtensionResourceInfo &resource_info,
+ int resource_id,
const std::string &content_security_policy,
network::mojom::URLLoaderClientPtr client,
bool send_cors_header)
@@ -356,7 +356,7 @@ PrefService *ExtensionsBrowserClientQt::GetPrefServiceForContext(BrowserContext
}
void ExtensionsBrowserClientQt::GetEarlyExtensionPrefsObservers(content::BrowserContext *context,
- std::vector<ExtensionPrefsObserver *> *observers) const
+ std::vector<EarlyExtensionPrefsObserver *> *observers) const
{
}
@@ -432,11 +432,6 @@ void ExtensionsBrowserClientQt::BroadcastEventToRenderers(events::HistogramValue
// histogram_value, event_name, std::move(args), GURL());
}
-net::NetLog *ExtensionsBrowserClientQt::GetNetLog()
-{
- return nullptr;
-}
-
ExtensionCache *ExtensionsBrowserClientQt::GetExtensionCache()
{
// Only used by Chrome via ExtensionService.
diff --git a/src/core/extensions/extensions_browser_client_qt.h b/src/core/extensions/extensions_browser_client_qt.h
index aa478461f..056e65c9e 100644
--- a/src/core/extensions/extensions_browser_client_qt.h
+++ b/src/core/extensions/extensions_browser_client_qt.h
@@ -87,8 +87,8 @@ public:
const ExtensionSet &extensions,
const ProcessMap &process_map) override;
PrefService *GetPrefServiceForContext(content::BrowserContext *context) override;
- void GetEarlyExtensionPrefsObservers(content::BrowserContext *context, std::vector<ExtensionPrefsObserver *> *observers) const
- override;
+ void GetEarlyExtensionPrefsObservers(content::BrowserContext *context,
+ std::vector<EarlyExtensionPrefsObserver *> *observers) const override;
ProcessManagerDelegate *GetProcessManagerDelegate() const override;
std::unique_ptr<ExtensionHostDelegate>
CreateExtensionHostDelegate() override;
@@ -107,7 +107,6 @@ public:
void BroadcastEventToRenderers(events::HistogramValue histogram_value,
const std::string &event_name,
std::unique_ptr<base::ListValue> args) override;
- net::NetLog *GetNetLog() override;
ExtensionCache *GetExtensionCache() override;
bool IsBackgroundUpdateAllowed() override;
bool IsMinBrowserVersionSupported(const std::string &min_version) override;
@@ -124,14 +123,14 @@ public:
// Return the resource relative path and id for the given request.
base::FilePath GetBundleResourcePath(const network::ResourceRequest &request,
const base::FilePath &extension_resources_path,
- ComponentExtensionResourceInfo *resource_info) const override;
+ int *resource_id) const override;
// Creates and starts a URLLoader to load an extension resource from the
// embedder's resource bundle (.pak) files. Used for component extensions.
void LoadResourceFromResourceBundle(const network::ResourceRequest &request,
network::mojom::URLLoaderRequest loader,
const base::FilePath &resource_relative_path,
- const ComponentExtensionResourceInfo& resource_info,
+ int resource_id,
const std::string &content_security_policy,
network::mojom::URLLoaderClientPtr client,
bool send_cors_header) override;
diff --git a/src/core/net/url_request_custom_job.cpp b/src/core/net/url_request_custom_job.cpp
index dd213d4f8..56ba79f35 100644
--- a/src/core/net/url_request_custom_job.cpp
+++ b/src/core/net/url_request_custom_job.cpp
@@ -159,7 +159,7 @@ void URLRequestCustomJob::GetResponseInfo(HttpResponseInfo* info)
headers += "Access-Control-Allow-Credentials: true\n";
}
- info->headers = new HttpResponseHeaders(HttpUtil::AssembleRawHeaders(headers.c_str(), headers.size()));
+ info->headers = new HttpResponseHeaders(HttpUtil::AssembleRawHeaders(headers));
}
bool URLRequestCustomJob::IsRedirectResponse(GURL* location, int* http_status_code, bool* /*insecure_scheme_was_upgraded*/)
diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
index be4d6e598..e2b959ebc 100644
--- a/src/core/permission_manager_qt.cpp
+++ b/src/core/permission_manager_qt.cpp
@@ -104,15 +104,15 @@ void PermissionManagerQt::permissionRequestReply(const QUrl &origin, ProfileAdap
auto it = m_requests.begin();
while (it != m_requests.end()) {
if (it->origin == origin && it->type == type) {
- it->callback.Run(status);
+ std::move(it->callback).Run(status);
it = m_requests.erase(it);
} else
++it;
}
}
- for (const RequestOrSubscription &subscriber : qAsConst(m_subscribers)) {
- if (subscriber.origin == origin && subscriber.type == type)
- subscriber.callback.Run(status);
+ for (const auto &it: m_subscribers) {
+ if (it.second.origin == origin && it.second.type == type)
+ it.second.callback.Run(status);
}
auto it = m_multiRequests.begin();
@@ -139,7 +139,7 @@ void PermissionManagerQt::permissionRequestReply(const QUrl &origin, ProfileAdap
result.push_back(blink::mojom::PermissionStatus::DENIED);
}
if (answerable) {
- it->callback.Run(result);
+ std::move(it->callback).Run(result);
it = m_multiRequests.erase(it);
continue;
}
@@ -158,7 +158,7 @@ int PermissionManagerQt::RequestPermission(content::PermissionType permission,
content::RenderFrameHost *frameHost,
const GURL& requesting_origin,
bool /*user_gesture*/,
- const base::Callback<void(blink::mojom::PermissionStatus)>& callback)
+ base::OnceCallback<void(blink::mojom::PermissionStatus)> callback)
{
WebContentsDelegateQt *contentsDelegate = static_cast<WebContentsDelegateQt *>(
content::WebContents::FromRenderFrameHost(frameHost)->GetDelegate());
@@ -166,15 +166,15 @@ int PermissionManagerQt::RequestPermission(content::PermissionType permission,
ProfileAdapter::PermissionType permissionType = toQt(permission);
if (permissionType == ProfileAdapter::UnsupportedPermission) {
- callback.Run(blink::mojom::PermissionStatus::DENIED);
+ std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
return content::PermissionController::kNoPendingOperation;
} else if (permissionType == ProfileAdapter::ClipboardRead) {
WebEngineSettings *settings = contentsDelegate->webEngineSettings();
if (settings->testAttribute(WebEngineSettings::JavascriptCanAccessClipboard)
&& settings->testAttribute(WebEngineSettings::JavascriptCanPaste))
- callback.Run(blink::mojom::PermissionStatus::GRANTED);
+ std::move(callback).Run(blink::mojom::PermissionStatus::GRANTED);
else
- callback.Run(blink::mojom::PermissionStatus::DENIED);
+ std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
return content::PermissionController::kNoPendingOperation;
}
// Audio and video-capture should not come this way currently
@@ -182,16 +182,12 @@ int PermissionManagerQt::RequestPermission(content::PermissionType permission,
&& permissionType != ProfileAdapter::VideoCapturePermission);
int request_id = ++m_requestIdCount;
- RequestOrSubscription request = {
- permissionType,
- toQt(requesting_origin),
- callback
- };
- m_requests.insert(request_id, request);
+ auto requestOrigin = toQt(requesting_origin);
+ m_requests.push_back({ request_id, permissionType, requestOrigin, std::move(callback) });
if (permissionType == ProfileAdapter::GeolocationPermission)
- contentsDelegate->requestGeolocationPermission(request.origin);
+ contentsDelegate->requestGeolocationPermission(requestOrigin);
else if (permissionType == ProfileAdapter::NotificationPermission)
- contentsDelegate->requestUserNotificationPermission(request.origin);
+ contentsDelegate->requestUserNotificationPermission(requestOrigin);
return request_id;
}
@@ -200,7 +196,7 @@ int PermissionManagerQt::RequestPermissions(const std::vector<content::Permissio
content::RenderFrameHost* frameHost,
const GURL& requesting_origin,
bool /*user_gesture*/,
- const base::Callback<void(const std::vector<blink::mojom::PermissionStatus>&)>& callback)
+ base::OnceCallback<void(const std::vector<blink::mojom::PermissionStatus>&)> callback)
{
WebContentsDelegateQt *contentsDelegate = static_cast<WebContentsDelegateQt *>(
content::WebContents::FromRenderFrameHost(frameHost)->GetDelegate());
@@ -226,23 +222,19 @@ int PermissionManagerQt::RequestPermissions(const std::vector<content::Permissio
}
}
if (answerable) {
- callback.Run(result);
+ std::move(callback).Run(result);
return content::PermissionController::kNoPendingOperation;
}
int request_id = ++m_requestIdCount;
- MultiRequest request = {
- permissions,
- toQt(requesting_origin),
- callback
- };
- m_multiRequests.insert(request_id, request);
+ auto requestOrigin = toQt(requesting_origin);
+ m_multiRequests.push_back({ request_id, permissions, requestOrigin, std::move(callback) });
for (content::PermissionType permission : permissions) {
const ProfileAdapter::PermissionType permissionType = toQt(permission);
if (permissionType == ProfileAdapter::GeolocationPermission)
- contentsDelegate->requestGeolocationPermission(request.origin);
+ contentsDelegate->requestGeolocationPermission(requestOrigin);
else if (permissionType == ProfileAdapter::NotificationPermission)
- contentsDelegate->requestUserNotificationPermission(request.origin);
+ contentsDelegate->requestUserNotificationPermission(requestOrigin);
}
return request_id;
}
@@ -304,21 +296,17 @@ int PermissionManagerQt::SubscribePermissionStatusChange(
content::PermissionType permission,
content::RenderFrameHost * /* render_frame_host */,
const GURL& requesting_origin,
- const base::Callback<void(blink::mojom::PermissionStatus)>& callback)
+ base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback)
{
int subscriber_id = ++m_subscriberIdCount;
- RequestOrSubscription subscriber = {
- toQt(permission),
- toQt(requesting_origin),
- callback
- };
- m_subscribers.insert(subscriber_id, subscriber);
+ m_subscribers.insert( { subscriber_id,
+ Subscription { toQt(permission), toQt(requesting_origin), std::move(callback) } });
return subscriber_id;
}
void PermissionManagerQt::UnsubscribePermissionStatusChange(int subscription_id)
{
- if (!m_subscribers.remove(subscription_id))
+ if (!m_subscribers.erase(subscription_id))
LOG(WARNING) << "PermissionManagerQt::UnsubscribePermissionStatusChange called on unknown subscription id" << subscription_id;
}
diff --git a/src/core/permission_manager_qt.h b/src/core/permission_manager_qt.h
index 89eb6cf85..6ab071237 100644
--- a/src/core/permission_manager_qt.h
+++ b/src/core/permission_manager_qt.h
@@ -45,7 +45,7 @@
#include "profile_adapter.h"
-#include <QHash>
+#include <map>
namespace QtWebEngineCore {
@@ -65,7 +65,7 @@ public:
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool user_gesture,
- const base::Callback<void(blink::mojom::PermissionStatus)>& callback) override;
+ base::OnceCallback<void(blink::mojom::PermissionStatus)> callback) override;
blink::mojom::PermissionStatus GetPermissionStatus(
content::PermissionType permission,
@@ -87,32 +87,39 @@ public:
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool user_gesture,
- const base::Callback<void(
- const std::vector<blink::mojom::PermissionStatus>&)>& callback) override;
+ base::OnceCallback<void(
+ const std::vector<blink::mojom::PermissionStatus>&)> callback) override;
int SubscribePermissionStatusChange(
content::PermissionType permission,
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
- const base::Callback<void(blink::mojom::PermissionStatus)>& callback) override;
+ const base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback) override;
void UnsubscribePermissionStatusChange(int subscription_id) override;
private:
QHash<QPair<QUrl, PermissionType>, bool> m_permissions;
- struct RequestOrSubscription {
+ struct Request {
+ int id;
PermissionType type;
QUrl origin;
- base::Callback<void(blink::mojom::PermissionStatus)> callback;
+ base::OnceCallback<void(blink::mojom::PermissionStatus)> callback;
};
struct MultiRequest {
+ int id;
std::vector<content::PermissionType> types;
QUrl origin;
- base::Callback<void(const std::vector<blink::mojom::PermissionStatus>&)> callback;
+ base::OnceCallback<void(const std::vector<blink::mojom::PermissionStatus>&)> callback;
};
- QHash<int, RequestOrSubscription> m_requests;
- QHash<int, RequestOrSubscription> m_subscribers;
- QHash<int, MultiRequest> m_multiRequests;
+ struct Subscription {
+ PermissionType type;
+ QUrl origin;
+ base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback;
+ };
+ std::vector<Request> m_requests;
+ std::vector<MultiRequest> m_multiRequests;
+ std::map<int, Subscription> m_subscribers;
int m_requestIdCount;
int m_subscriberIdCount;
diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp
index eccef0dd5..90016c5a3 100644
--- a/src/core/profile_io_data_qt.cpp
+++ b/src/core/profile_io_data_qt.cpp
@@ -55,6 +55,7 @@
#include "net/cert/ct_log_verifier.h"
#include "net/cert/ct_policy_enforcer.h"
#include "net/cert/multi_log_ct_verifier.h"
+#include "net/cert_net/cert_net_fetcher_impl.h"
#include "net/dns/host_resolver_manager.h"
#include "net/http/http_auth_handler_factory.h"
#include "net/http/http_auth_scheme.h"
@@ -67,8 +68,6 @@
#include "net/proxy_resolution/pac_file_fetcher_impl.h"
#include "net/proxy_resolution/proxy_config_service.h"
#include "net/proxy_resolution/proxy_resolution_service.h"
-#include "net/ssl/channel_id_service.h"
-#include "net/ssl/default_channel_id_store.h"
#include "net/ssl/ssl_config_service_defaults.h"
#include "net/url_request/data_protocol_handler.h"
#include "net/url_request/file_protocol_handler.h"
@@ -104,6 +103,8 @@
namespace QtWebEngineCore {
+static scoped_refptr<net::CertNetFetcherImpl> s_certNetFetcher;
+
static bool doNetworkSessionParamsMatch(const net::HttpNetworkSession::Params &first,
const net::HttpNetworkSession::Params &second)
{
@@ -182,9 +183,10 @@ ProfileIODataQt::~ProfileIODataQt()
#if defined(USE_NSS_CERTS)
net::SetURLRequestContextForNSSHttpIO(nullptr);
#endif
-#if defined(OS_LINUX) ||defined(OS_MACOSX)
- net::ShutdownGlobalCertNetFetcher();
-#endif
+ if (s_certNetFetcher) {
+ s_certNetFetcher->Shutdown();
+ s_certNetFetcher.reset();
+ }
}
if (m_urlRequestContext && m_urlRequestContext->proxy_resolution_service())
@@ -242,7 +244,7 @@ void ProfileIODataQt::initializeOnIOThread()
m_hostResolver = net::HostResolver::CreateStandaloneResolver(nullptr);
m_urlRequestContext.reset(new net::URLRequestContext());
m_urlRequestContext->set_network_delegate(m_networkDelegate.get());
- m_urlRequestContext->set_enable_brotli(base::FeatureList::IsEnabled(features::kBrotliEncoding));
+ m_urlRequestContext->set_enable_brotli(true);
m_urlRequestContext->set_host_resolver(m_hostResolver.get());
// this binds factory to io thread
m_weakPtr = m_weakPtrFactory.GetWeakPtr();
@@ -316,7 +318,7 @@ void ProfileIODataQt::generateStorage()
net::ProxyConfigService *proxyConfigService = m_proxyConfigService.fetchAndStoreAcquire(0);
Q_ASSERT(proxyConfigService);
- std::unique_ptr<net::CertVerifier> cert_verifier = net::CertVerifier::CreateDefault();
+ std::unique_ptr<net::CertVerifier> cert_verifier = net::CertVerifier::CreateDefault(s_certNetFetcher);
net::CertVerifier::Config config;
// Enable revocation checking:
config.enable_rev_checking = true;
@@ -330,8 +332,7 @@ void ProfileIODataQt::generateStorage()
for (const auto &ct_log : certificate_transparency::GetKnownLogs()) {
scoped_refptr<const net::CTLogVerifier> log_verifier =
net::CTLogVerifier::Create(std::string(ct_log.log_key, ct_log.log_key_length),
- ct_log.log_name,
- ct_log.log_dns_domain);
+ ct_log.log_name);
if (!log_verifier)
continue;
ct_logs.push_back(std::move(log_verifier));
@@ -389,9 +390,7 @@ void ProfileIODataQt::generateCookieStore()
const std::lock_guard<QRecursiveMutex> lock(m_mutex);
- // FIXME: Add code to remove the old database.
- m_storage->set_channel_id_service(
- std::make_unique<net::ChannelIDService>(new net::DefaultChannelIDStore(nullptr)));
+// // FIXME: Add code to remove the old channel-id database.
std::unique_ptr<net::CookieStore> cookieStore;
switch (m_persistentCookiesPolicy) {
@@ -425,7 +424,6 @@ void ProfileIODataQt::generateCookieStore()
}
net::CookieMonster * const cookieMonster = static_cast<net::CookieMonster*>(cookieStore.get());
- cookieStore->SetChannelIDServiceID(m_urlRequestContext->channel_id_service()->GetUniqueID());
m_cookieDelegate->setCookieMonster(cookieMonster);
m_storage->set_cookie_store(std::move(cookieStore));
@@ -582,9 +580,9 @@ void ProfileIODataQt::setGlobalCertificateVerification()
// Set request context used by NSS for OCSP requests.
net::SetURLRequestContextForNSSHttpIO(m_urlRequestContext.get());
#endif
-#if defined(OS_LINUX) || defined(OS_MACOSX)
- net::SetGlobalCertNetFetcher(net::CreateCertNetFetcher(m_urlRequestContext.get()));
-#endif
+ if (!s_certNetFetcher)
+ s_certNetFetcher = base::MakeRefCounted<net::CertNetFetcherImpl>();
+ s_certNetFetcher->SetURLRequestContext(m_urlRequestContext.get());
}
}
@@ -765,6 +763,8 @@ void ProfileIODataQt::updateUsedForGlobalCertificateVerification()
{
Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
const std::lock_guard<QRecursiveMutex> lock(m_mutex);
+ if (m_useForGlobalCertificateVerification == m_profileAdapter->isUsedForGlobalCertificateVerification())
+ return;
m_useForGlobalCertificateVerification = m_profileAdapter->isUsedForGlobalCertificateVerification();
if (m_useForGlobalCertificateVerification)
diff --git a/src/core/qtwebengine.gni b/src/core/qtwebengine.gni
index d9e01a5b8..cd8514352 100644
--- a/src/core/qtwebengine.gni
+++ b/src/core/qtwebengine.gni
@@ -65,10 +65,6 @@ if (enable_extensions) {
]
}
-assert_no_deps = [
- "//ui/views/mus",
-]
-
defines = [
"CHROMIUM_VERSION=\"" + chromium_version[0] + "\""
]
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index c98612192..cf02731c7 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -341,6 +341,7 @@ RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost *widget
// May call SetNeedsBeginFrames
host()->SetView(this);
+ host()->GetProcess()->AddObserver(this);
}
RenderWidgetHostViewQt::~RenderWidgetHostViewQt()
@@ -354,6 +355,7 @@ RenderWidgetHostViewQt::~RenderWidgetHostViewQt()
if (text_input_manager_)
text_input_manager_->RemoveObserver(this);
+ host()->GetProcess()->RemoveObserver(this);
m_touchSelectionController.reset();
m_touchSelectionControllerClient.reset();
@@ -694,15 +696,20 @@ void RenderWidgetHostViewQt::ImeCompositionRangeChanged(const gfx::Range&, const
QT_NOT_YET_IMPLEMENTED
}
-void RenderWidgetHostViewQt::RenderProcessGone(base::TerminationStatus terminationStatus,
- int exitCode)
+void RenderWidgetHostViewQt::RenderProcessExited(content::RenderProcessHost *host,
+ const content::ChildProcessTerminationInfo &info)
{
+ Q_UNUSED(host);
// RenderProcessHost::FastShutdownIfPossible results in TERMINATION_STATUS_STILL_RUNNING
- if (m_adapterClient && terminationStatus != base::TERMINATION_STATUS_STILL_RUNNING) {
+ if (m_adapterClient && info.status != base::TERMINATION_STATUS_STILL_RUNNING) {
m_adapterClient->renderProcessTerminated(
- m_adapterClient->renderProcessExitStatus(terminationStatus),
- exitCode);
+ m_adapterClient->renderProcessExitStatus(info.status),
+ info.exit_code);
}
+}
+
+void RenderWidgetHostViewQt::RenderProcessGone()
+{
Destroy();
}
@@ -1010,10 +1017,8 @@ void RenderWidgetHostViewQt::notifyShown()
m_delegatedFrameHost->WasShown(GetLocalSurfaceIdAllocation().local_surface_id(),
m_viewRectInDips.size(),
false /* record_presentation_time */);
- host()->WasShown(false);
- } else {
- host()->WasShown(false);
}
+ host()->WasShown(base::nullopt);
}
void RenderWidgetHostViewQt::notifyHidden()
diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h
index b5f2d65bb..76807b37a 100644
--- a/src/core/render_widget_host_view_qt.h
+++ b/src/core/render_widget_host_view_qt.h
@@ -52,6 +52,7 @@
#include "content/browser/renderer_host/input/mouse_wheel_phase_handler.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/browser/renderer_host/text_input_manager.h"
+#include "content/public/browser/render_process_host_observer.h"
#include "gpu/ipc/common/gpu_messages.h"
#include "ui/events/gesture_detection/filtered_gesture_provider.h"
@@ -101,6 +102,7 @@ struct MultipleMouseClickHelper
class RenderWidgetHostViewQt
: public content::RenderWidgetHostViewBase
+ , public content::RenderProcessHostObserver
, public ui::GestureProviderClient
, public RenderWidgetHostViewQtDelegateClient
, public base::SupportsWeakPtr<RenderWidgetHostViewQt>
@@ -147,7 +149,7 @@ public:
void SetIsLoading(bool) override;
void ImeCancelComposition() override;
void ImeCompositionRangeChanged(const gfx::Range&, const std::vector<gfx::Rect>&) override;
- void RenderProcessGone(base::TerminationStatus, int) override;
+ void RenderProcessGone() override;
void Destroy() override;
void SetTooltipText(const base::string16 &tooltip_text) override;
void DisplayTooltipText(const base::string16& tooltip_text) override;
@@ -174,6 +176,10 @@ public:
void DidStopFlinging() override;
std::unique_ptr<content::SyntheticGestureTarget> CreateSyntheticGestureTarget() override;
+ // RenderProcessHostObserver implementation.
+ void RenderProcessExited(content::RenderProcessHost *host,
+ const content::ChildProcessTerminationInfo &info) override;
+
// Overridden from ui::GestureProviderClient.
void OnGestureEvent(const ui::GestureEventData& gesture) override;
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index 092e6845d..1d2d37898 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -153,14 +153,18 @@ void ContentRendererClientQt::RenderThreadStarted()
// Allow XMLHttpRequests from qrc to file.
blink::WebURL qrc(blink::KURL("qrc:"));
blink::WebString file(blink::WebString::FromASCII("file"));
- blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(qrc, file, blink::WebString(), true,
+ blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(qrc, file, blink::WebString(), 0,
+ network::mojom::CorsDomainMatchMode::kAllowSubdomains,
+ network::mojom::CorsPortMatchMode::kAllowAnyPort,
network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority);
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Allow the pdf viewer extension to access chrome resources
blink::WebURL pdfViewerExtension(blink::KURL("chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai"));
blink::WebString chromeResources(blink::WebString::FromASCII("chrome"));
- blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(pdfViewerExtension, chromeResources, blink::WebString(), true,
+ blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(pdfViewerExtension, chromeResources, blink::WebString(), 0,
+ network::mojom::CorsDomainMatchMode::kAllowSubdomains,
+ network::mojom::CorsPortMatchMode::kAllowAnyPort,
network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority);
ExtensionsRendererClientQt::GetInstance()->RenderThreadStarted();
@@ -170,13 +174,14 @@ void ContentRendererClientQt::RenderThreadStarted()
void ContentRendererClientQt::RenderViewCreated(content::RenderView* render_view)
{
// RenderViewObservers destroy themselves with their RenderView.
- new RenderViewObserverQt(render_view, m_webCacheImpl.data());
+ new RenderViewObserverQt(render_view);
UserResourceController::instance()->renderViewCreated(render_view);
}
void ContentRendererClientQt::RenderFrameCreated(content::RenderFrame* render_frame)
{
- QtWebEngineCore::RenderFrameObserverQt *render_frame_observer = new QtWebEngineCore::RenderFrameObserverQt(render_frame);
+ QtWebEngineCore::RenderFrameObserverQt *render_frame_observer =
+ new QtWebEngineCore::RenderFrameObserverQt(render_frame, m_webCacheImpl.data());
#if QT_CONFIG(webengine_webchannel)
if (render_frame->IsMainFrame())
new WebChannelIPCTransport(render_frame);
diff --git a/src/core/renderer/render_frame_observer_qt.cpp b/src/core/renderer/render_frame_observer_qt.cpp
index 5a630357c..c48ef3b5c 100644
--- a/src/core/renderer/render_frame_observer_qt.cpp
+++ b/src/core/renderer/render_frame_observer_qt.cpp
@@ -46,6 +46,8 @@
#include "base/memory/ptr_util.h"
#include "chrome/renderer/pepper/pepper_shared_memory_message_filter.h"
+#include "components/web_cache/renderer/web_cache_impl.h"
+#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/renderer_ppapi_host.h"
#include "ppapi/host/ppapi_host.h"
@@ -53,10 +55,12 @@
namespace QtWebEngineCore {
-RenderFrameObserverQt::RenderFrameObserverQt(content::RenderFrame* render_frame)
+RenderFrameObserverQt::RenderFrameObserverQt(content::RenderFrame* render_frame,
+ web_cache::WebCacheImpl* web_cache_impl)
: RenderFrameObserver(render_frame)
, RenderFrameObserverTracker<RenderFrameObserverQt>(render_frame)
, m_isFrameDetached(false)
+ , m_web_cache_impl(web_cache_impl)
{
}
@@ -88,4 +92,10 @@ bool RenderFrameObserverQt::isFrameDetached() const
return m_isFrameDetached;
}
+void RenderFrameObserverQt::ReadyToCommitNavigation(blink::WebDocumentLoader *)
+{
+ if (render_frame()->IsMainFrame() && m_web_cache_impl)
+ m_web_cache_impl->ExecutePendingClearCache();
+}
+
} // namespace QtWebEngineCore
diff --git a/src/core/renderer/render_frame_observer_qt.h b/src/core/renderer/render_frame_observer_qt.h
index 4c05422bb..3c54761f3 100644
--- a/src/core/renderer/render_frame_observer_qt.h
+++ b/src/core/renderer/render_frame_observer_qt.h
@@ -50,6 +50,9 @@
namespace content {
class RenderFrame;
}
+namespace web_cache {
+class WebCacheImpl;
+}
namespace QtWebEngineCore {
@@ -58,7 +61,8 @@ class RenderFrameObserverQt
, public content::RenderFrameObserverTracker<RenderFrameObserverQt>
{
public:
- explicit RenderFrameObserverQt(content::RenderFrame* render_frame);
+ explicit RenderFrameObserverQt(content::RenderFrame* render_frame,
+ web_cache::WebCacheImpl* web_cache_impl);
~RenderFrameObserverQt();
#if QT_CONFIG(webengine_pepper_plugins)
@@ -74,8 +78,11 @@ public:
private:
DISALLOW_COPY_AND_ASSIGN(RenderFrameObserverQt);
+ void ReadyToCommitNavigation(blink::WebDocumentLoader *);
+
bool m_isFrameDetached;
service_manager::BinderRegistry registry_;
+ web_cache::WebCacheImpl *m_web_cache_impl;
};
} // namespace QtWebEngineCore
diff --git a/src/core/renderer/render_view_observer_qt.cpp b/src/core/renderer/render_view_observer_qt.cpp
index 2795de4b9..7e7c7bdf8 100644
--- a/src/core/renderer/render_view_observer_qt.cpp
+++ b/src/core/renderer/render_view_observer_qt.cpp
@@ -41,7 +41,6 @@
#include "common/qt_messages.h"
-#include "components/web_cache/renderer/web_cache_impl.h"
#include "content/public/renderer/render_view.h"
#include "third_party/blink/public/web/web_document.h"
#include "third_party/blink/public/web/web_element.h"
@@ -52,10 +51,8 @@
#include "third_party/blink/public/web/web_view.h"
RenderViewObserverQt::RenderViewObserverQt(
- content::RenderView* render_view,
- web_cache::WebCacheImpl* web_cache_impl)
+ content::RenderView* render_view)
: content::RenderViewObserver(render_view)
- , m_web_cache_impl(web_cache_impl)
{
}
@@ -99,9 +96,3 @@ bool RenderViewObserverQt::OnMessageReceived(const IPC::Message& message)
IPC_END_MESSAGE_MAP()
return handled;
}
-
-void RenderViewObserverQt::Navigate(const GURL &)
-{
- if (m_web_cache_impl)
- m_web_cache_impl->ExecutePendingClearCache();
-}
diff --git a/src/core/renderer/render_view_observer_qt.h b/src/core/renderer/render_view_observer_qt.h
index abb472f02..a878eebe8 100644
--- a/src/core/renderer/render_view_observer_qt.h
+++ b/src/core/renderer/render_view_observer_qt.h
@@ -43,14 +43,9 @@
#include <QtGlobal>
-namespace web_cache {
-class WebCacheImpl;
-}
-
class RenderViewObserverQt : public content::RenderViewObserver {
public:
- RenderViewObserverQt(content::RenderView* render_view,
- web_cache::WebCacheImpl* web_cache_impl);
+ RenderViewObserverQt(content::RenderView* render_view);
private:
void onFetchDocumentMarkup(quint64 requestId);
@@ -60,9 +55,6 @@ private:
void OnDestruct() override;
bool OnMessageReceived(const IPC::Message& message) override;
- void Navigate(const GURL& url) override;
-
- web_cache::WebCacheImpl* m_web_cache_impl;
DISALLOW_COPY_AND_ASSIGN(RenderViewObserverQt);
};
diff --git a/src/core/renderer/web_channel_ipc_transport.cpp b/src/core/renderer/web_channel_ipc_transport.cpp
index 745fe8b1e..1bdd1d8c0 100644
--- a/src/core/renderer/web_channel_ipc_transport.cpp
+++ b/src/core/renderer/web_channel_ipc_transport.cpp
@@ -252,8 +252,8 @@ void WebChannelIPCTransport::DispatchWebChannelMessage(const std::vector<uint8_t
v8::Local<v8::Object> messageObject(v8::Object::New(isolate));
v8::Maybe<bool> wasSet = messageObject->DefineOwnProperty(
context,
- v8::String::NewFromUtf8(isolate, "data"),
- v8::String::NewFromUtf8(isolate, json.constData(), v8::String::kNormalString, json.size()),
+ v8::String::NewFromUtf8(isolate, "data").ToLocalChecked(),
+ v8::String::NewFromUtf8(isolate, json.constData(), v8::NewStringType::kNormal, json.size()).ToLocalChecked(),
v8::PropertyAttribute(v8::ReadOnly | v8::DontDelete));
DCHECK(!wasSet.IsNothing() && wasSet.FromJust());
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index 9855e3859..4f8f853b2 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -89,15 +89,17 @@
namespace QtWebEngineCore {
-// Maps the LogSeverity defines in base/logging.h to the web engines message levels.
-static WebContentsAdapterClient::JavaScriptConsoleMessageLevel mapToJavascriptConsoleMessageLevel(int32_t messageLevel)
+static WebContentsAdapterClient::JavaScriptConsoleMessageLevel mapToJavascriptConsoleMessageLevel(blink::mojom::ConsoleMessageLevel log_level)
{
- if (messageLevel < 1)
+ switch (log_level) {
+ case blink::mojom::ConsoleMessageLevel::kVerbose:
+ case blink::mojom::ConsoleMessageLevel::kInfo:
return WebContentsAdapterClient::Info;
- else if (messageLevel > 1)
+ case blink::mojom::ConsoleMessageLevel::kWarning:
+ return WebContentsAdapterClient::Warning;
+ case blink::mojom::ConsoleMessageLevel::kError:
return WebContentsAdapterClient::Error;
-
- return WebContentsAdapterClient::Warning;
+ }
}
WebContentsDelegateQt::WebContentsDelegateQt(content::WebContents *webContents, WebContentsAdapterClient *adapterClient)
@@ -566,10 +568,11 @@ void WebContentsDelegateQt::RunFileChooser(content::RenderFrameHost * /*frameHos
});
}
-bool WebContentsDelegateQt::DidAddMessageToConsole(content::WebContents *source, int32_t level, const base::string16 &message, int32_t line_no, const base::string16 &source_id)
+bool WebContentsDelegateQt::DidAddMessageToConsole(content::WebContents *source, blink::mojom::ConsoleMessageLevel log_level,
+ const base::string16 &message, int32_t line_no, const base::string16 &source_id)
{
Q_UNUSED(source)
- m_viewClient->javaScriptConsoleMessage(mapToJavascriptConsoleMessageLevel(level), toQt(message), static_cast<int>(line_no), toQt(source_id));
+ m_viewClient->javaScriptConsoleMessage(mapToJavascriptConsoleMessageLevel(log_level), toQt(message), static_cast<int>(line_no), toQt(source_id));
return false;
}
diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
index f1d5ed76c..19d1f9d58 100644
--- a/src/core/web_contents_delegate_qt.h
+++ b/src/core/web_contents_delegate_qt.h
@@ -134,7 +134,8 @@ public:
void RunFileChooser(content::RenderFrameHost* render_frame_host,
std::unique_ptr<content::FileSelectListener> listener,
const blink::mojom::FileChooserParams& params) override;
- bool DidAddMessageToConsole(content::WebContents* source, int32_t level, const base::string16& message, int32_t line_no, const base::string16& source_id) override;
+ bool DidAddMessageToConsole(content::WebContents *source, blink::mojom::ConsoleMessageLevel log_level,
+ const base::string16 &message, int32_t line_no, const base::string16 &source_id) override;
void FindReply(content::WebContents *source, int request_id, int number_of_matches, const gfx::Rect& selection_rect, int active_match_ordinal, bool final_update) override;
void RequestMediaAccessPermission(content::WebContents *web_contents,
const content::MediaStreamRequest &request,
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index e570cd7f8..f8a2a7f6e 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -72,7 +72,6 @@
#include "content/public/common/main_function_params.h"
#include "gpu/command_buffer/service/gpu_switches.h"
#include "gpu/command_buffer/service/sync_point_manager.h"
-#include "gpu/ipc/host/gpu_switches.h"
#include "media/audio/audio_manager.h"
#include "media/base/media_switches.h"
#include "mojo/core/embedder/embedder.h"
@@ -91,6 +90,10 @@
#include "content/public/app/sandbox_helper_win.h"
#endif // OS_WIN
+#if defined(Q_OS_MACOS)
+#include "base/mac/foundation_util.h"
+#endif
+
#ifndef QT_NO_ACCESSIBILITY
#include "accessibility_activation_observer.h"
#endif
@@ -390,7 +393,13 @@ WebEngineContext::WebEngineContext()
: m_mainDelegate(new ContentMainDelegateQt)
, m_globalQObject(new QObject())
{
- base::ThreadPool::Create("Browser");
+#if defined(Q_OS_MACOS)
+ // The bundled handling is currently both completely broken in Chromium,
+ // and unnecessary for us.
+ base::mac::SetOverrideAmIBundled(false);
+#endif
+
+ base::ThreadPoolInstance::Create("Browser");
m_contentRunner.reset(content::ContentMainRunner::Create());
m_browserRunner = content::BrowserMainRunner::Create();
@@ -460,8 +469,6 @@ WebEngineContext::WebEngineContext()
parsedCommandLine->AppendSwitch(switches::kDisableAcceleratedVideoDecode);
// Same problem with Pepper using OpenGL images.
parsedCommandLine->AppendSwitch(switches::kDisablePepper3DImageChromium);
- // Same problem with select popups.
- parsedCommandLine->AppendSwitch(switches::kDisableNativeGpuMemoryBuffers);
#endif
#if defined(Q_OS_WIN)
@@ -646,7 +653,7 @@ WebEngineContext::WebEngineContext()
// This block mirrors ContentMainRunnerImpl::RunServiceManager():
m_mainDelegate->PreCreateMainMessageLoop();
- base::MessageLoop::InitMessagePumpForUIFactory(messagePumpFactory);
+ base::MessagePump::OverrideMessagePumpForUIFactory(messagePumpFactory);
content::BrowserTaskExecutor::Create();
m_mainDelegate->PostEarlyInitialization(false);
content::StartBrowserThreadPool();
diff --git a/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro b/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
index 27edd66d8..912c59092 100644
--- a/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
+++ b/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
@@ -32,6 +32,7 @@ win32: DEFINES += NOMINMAX
CHROMIUM_SRC_DIR = $$QTWEBENGINE_ROOT/$$getChromiumSrcDir()
INCLUDEPATH += $$CHROMIUM_SRC_DIR \
+ $$CHROMIUM_SRC_DIR/third_party/boringssl/src/include \
$$OUT_PWD/../../core/$$getConfigDir()/gen
SOURCES += \
diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py
index 3f21dda9c..741979a9e 100755
--- a/tools/scripts/take_snapshot.py
+++ b/tools/scripts/take_snapshot.py
@@ -176,8 +176,9 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('third_party/google_')
or file_path.startswith('third_party/grpc/')
or file_path.startswith('third_party/hunspell_dictionaries')
- or (file_path.startswith('third_party/icu') and file_path.endswith('icudtl_dat.S'))
or file_path.startswith('third_party/icu/android')
+ or file_path.startswith('third_party/icu/cast')
+ or file_path.startswith('third_party/icu/chromeos')
or file_path.startswith('third_party/icu/ios')
or file_path.startswith('third_party/instrumented_libraries')
or file_path.startswith('third_party/jsr-305')
@@ -192,9 +193,8 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('third_party/libwebm/source/webm_parser/fuzzing')
or file_path.startswith('third_party/logilab')
or file_path.startswith('third_party/markdown')
- or (file_path.startswith('third_party/polymer') and
- not file_path.startswith('third_party/polymer/v1_0/components-chromium/'))
or file_path.startswith('third_party/openh264/src/res')
+ or file_path.startswith('third_party/openscreen/src/third_party/boringssl/')
or file_path.startswith('third_party/pdfium/testing/resources')
or file_path.startswith('third_party/pdfium/tools')
or file_path.startswith('third_party/perl')
@@ -206,7 +206,7 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('third_party/sqlite/sqlite-src-')
or file_path.startswith('third_party/speech-dispatcher')
or file_path.startswith('third_party/spirv-cross/')
- or file_path.startswith('third_party/swiftshader/third_party/llvm')
+ or file_path.startswith('third_party/swiftshader/third_party/')
or file_path.startswith('third_party/wayland')
or file_path.startswith('third_party/webgl')
or file_path.startswith('third_party/webrtc/resources/')
diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py
index 532da34e3..716a5ea3b 100644
--- a/tools/scripts/version_resolver.py
+++ b/tools/scripts/version_resolver.py
@@ -38,8 +38,8 @@ import json
import urllib2
import git_submodule as GitSubmodule
-chromium_version = '75.0.3770.56'
-chromium_branch = '3770'
+chromium_version = '76.0.3809.94'
+chromium_branch = '3809'
ninja_version = 'v1.9.0'
json_url = 'http://omahaproxy.appspot.com/all.json'