Update to Chromium version 69.0.3489.0 (#574445)

This commit is contained in:
Marshall Greenblatt 2018-07-13 15:29:20 -04:00
parent 8e9d736cda
commit 96bd993d99
39 changed files with 270 additions and 387 deletions

View File

@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/69.0.3483.0',
'chromium_checkout': 'refs/tags/69.0.3489.0',
}

View File

@ -224,6 +224,13 @@ bool CefBrowserHost::CreateBrowser(
return false;
}
if (windowInfo.windowless_rendering_enabled &&
!CefContext::Get()->settings().windowless_rendering_enabled) {
LOG(ERROR) << "Creating a windowless browser without setting "
"CefSettings.windowless_rendering_enabled may result in "
"reduced performance or runtime errors.";
}
// Create the browser on the UI thread.
CreateBrowserHelper* helper = new CreateBrowserHelper(
windowInfo, client, url, settings, request_context);

View File

@ -16,6 +16,7 @@
#include "components/net_log/chrome_net_log.h"
#include "content/public/common/content_switches.h"
#include "services/network/public/cpp/network_switches.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
ChromeBrowserProcessStub::ChromeBrowserProcessStub()
: initialized_(false),
@ -144,6 +145,12 @@ ChromeBrowserProcessStub::system_request_context() {
return NULL;
}
scoped_refptr<network::SharedURLLoaderFactory>
ChromeBrowserProcessStub::shared_url_loader_factory() {
NOTREACHED();
return NULL;
}
variations::VariationsService* ChromeBrowserProcessStub::variations_service() {
NOTREACHED();
return NULL;

View File

@ -55,6 +55,8 @@ class ChromeBrowserProcessStub : public BrowserProcess,
ProfileManager* profile_manager() override;
PrefService* local_state() override;
net::URLRequestContextGetter* system_request_context() override;
scoped_refptr<network::SharedURLLoaderFactory> shared_url_loader_factory()
override;
variations::VariationsService* variations_service() override;
BrowserProcessPlatformPart* platform_part() override;
extensions::EventRouterForwarder* extension_event_router_forwarder() override;

View File

@ -46,7 +46,7 @@ void CefExtensionWebContentsObserver::RenderFrameCreated(
// are allowed to use chrome://resources/ URLs.
if ((extension->is_extension() || extension->is_platform_app()) &&
Manifest::IsComponentLocation(extension->location())) {
policy->GrantOrigin(
policy->GrantRequestOrigin(
process_id, url::Origin::Create(GURL(content::kChromeUIResourcesURL)));
}
}

View File

@ -350,7 +350,7 @@ net::URLRequestContext* CefURLRequestContextGetterImpl::GetURLRequestContext() {
std::move(system_proxy_service));
io_state_->storage_->set_ssl_config_service(
std::make_unique<net::SSLConfigServiceDefaults>());
new net::SSLConfigServiceDefaults);
std::vector<std::string> supported_schemes;
supported_schemes.push_back("basic");

View File

@ -137,10 +137,9 @@ void CefWebContentsViewOSR::RenderViewCreated(content::RenderViewHost* host) {
void CefWebContentsViewOSR::RenderViewReady() {}
void CefWebContentsViewOSR::RenderFrameSwappedIn(
content::RenderFrameHost* old_host,
content::RenderFrameHost* new_host,
bool is_main_frame) {}
void CefWebContentsViewOSR::RenderViewHostChanged(
content::RenderViewHost* old_host,
content::RenderViewHost* new_host) {}
void CefWebContentsViewOSR::SetOverscrollControllerEnabled(bool enabled) {}

View File

@ -52,9 +52,8 @@ class CefWebContentsViewOSR : public content::WebContentsView,
void SetPageTitle(const base::string16& title) override;
void RenderViewCreated(content::RenderViewHost* host) override;
void RenderViewReady() override;
void RenderFrameSwappedIn(content::RenderFrameHost* old_host,
content::RenderFrameHost* new_host,
bool is_main_frame) override;
void RenderViewHostChanged(content::RenderViewHost* old_host,
content::RenderViewHost* new_host) override;
void SetOverscrollControllerEnabled(bool enabled) override;
#if defined(OS_MACOSX)

View File

@ -31,7 +31,6 @@
#include "content/browser/browser_process_sub_thread.h"
#include "content/public/browser/browser_main_runner.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/main_function_params.h"
#include "extensions/common/constants.h"
@ -244,12 +243,9 @@ bool IsScaleFactorSupported(ui::ScaleFactor scale_factor) {
// Used to run the UI on a separate thread.
class CefUIThread : public base::Thread {
public:
CefUIThread(
const content::MainFunctionParams& main_function_params,
std::unique_ptr<content::BrowserProcessSubThread> service_manager_thread)
CefUIThread(const content::MainFunctionParams& main_function_params)
: base::Thread("CefUIThread"),
main_function_params_(main_function_params),
service_manager_thread_(std::move(service_manager_thread)) {}
main_function_params_(main_function_params) {}
void Init() override {
#if defined(OS_WIN)
@ -261,8 +257,7 @@ class CefUIThread : public base::Thread {
browser_runner_.reset(content::BrowserMainRunner::Create());
// Initialize browser process state. Uses the current thread's mesage loop.
int exit_code = browser_runner_->Initialize(
main_function_params_, std::move(service_manager_thread_));
int exit_code = browser_runner_->Initialize(main_function_params_);
CHECK_EQ(exit_code, -1);
}
@ -279,7 +274,6 @@ class CefUIThread : public base::Thread {
protected:
content::MainFunctionParams main_function_params_;
std::unique_ptr<content::BrowserProcessSubThread> service_manager_thread_;
std::unique_ptr<content::BrowserMainRunner> browser_runner_;
};
@ -441,30 +435,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
switches::kUncaughtExceptionStackSize,
base::IntToString(settings.uncaught_exception_stack_size));
}
std::vector<std::string> disable_features;
if (settings.windowless_rendering_enabled) {
// Disable AsyncWheelEvents when OSR is enabled to avoid DCHECKs in
// MouseWheelEventQueue.
if (features::kAsyncWheelEvents.default_state ==
base::FEATURE_ENABLED_BY_DEFAULT) {
disable_features.push_back(features::kAsyncWheelEvents.name);
}
}
if (!disable_features.empty()) {
DCHECK(!base::FeatureList::GetInstance());
std::string disable_features_str =
command_line->GetSwitchValueASCII(switches::kDisableFeatures);
for (auto feature_str : disable_features) {
if (!disable_features_str.empty())
disable_features_str += ",";
disable_features_str += feature_str;
}
command_line->AppendSwitchASCII(switches::kDisableFeatures,
disable_features_str);
}
}
if (content_client_.application().get()) {
@ -576,13 +546,6 @@ void CefMainDelegate::SandboxInitialized(const std::string& process_type) {
int CefMainDelegate::RunProcess(
const std::string& process_type,
const content::MainFunctionParams& main_function_params) {
return RunProcess(process_type, main_function_params, nullptr);
}
int CefMainDelegate::RunProcess(
const std::string& process_type,
const content::MainFunctionParams& main_function_params,
std::unique_ptr<content::BrowserProcessSubThread> service_manager_thread) {
if (process_type.empty()) {
const CefSettings& settings = CefContext::Get()->settings();
if (!settings.multi_threaded_message_loop) {
@ -592,15 +555,13 @@ int CefMainDelegate::RunProcess(
// Initialize browser process state. Results in a call to
// CefBrowserMain::PreMainMessageLoopStart() which creates the UI message
// loop.
int exit_code = browser_runner_->Initialize(
main_function_params, std::move(service_manager_thread));
int exit_code = browser_runner_->Initialize(main_function_params);
if (exit_code >= 0)
return exit_code;
} else {
// Run the UI on a separate thread.
std::unique_ptr<base::Thread> thread;
thread.reset(new CefUIThread(main_function_params,
std::move(service_manager_thread)));
thread.reset(new CefUIThread(main_function_params));
base::Thread::Options options;
options.message_loop_type = base::MessageLoop::TYPE_UI;
if (!thread->StartWithOptions(options)) {

View File

@ -38,10 +38,6 @@ class CefMainDelegate : public content::ContentMainDelegate {
int RunProcess(
const std::string& process_type,
const content::MainFunctionParams& main_function_params) override;
int RunProcess(const std::string& process_type,
const content::MainFunctionParams& main_function_params,
std::unique_ptr<content::BrowserProcessSubThread>
service_manager_thread) override;
void ProcessExiting(const std::string& process_type) override;
#if defined(OS_LINUX)
void ZygoteForked() override;

View File

@ -49,7 +49,10 @@ patches = [
{
# Revert change on Windows that removes MessageLoop::os_modal_loop().
# https://codereview.chromium.org/1992243003
'name': 'message_loop_443_1992243003',
#
# Revert change that removes MessageLoopForUI constructor.
# https://chromium-review.googlesource.com/751322
'name': 'message_loop',
},
{
# Enable popups in offscreen rendering on OS X.
@ -371,11 +374,6 @@ patches = [
# https://bugs.chromium.org/p/chromium/issues/detail?id=729800#c48
'name': 'net_cookies_729800',
},
{
# Pass BrowserProcessSubThread to ContentMainDelegate::RunProcess.
# https://bitbucket.org/chromiumembedded/cef/issues/2456
'name': 'content_runprocess_2456',
},
{
# Linux: Use poll instead of select to fix crash during startup.
# https://bitbucket.org/chromiumembedded/cef/issues/2466

View File

@ -1,5 +1,5 @@
diff --git tools/clang/scripts/update.py tools/clang/scripts/update.py
index 226c3981a3bb..560a58070883 100755
index 03132fe9ba9b..aee7538e5902 100755
--- tools/clang/scripts/update.py
+++ tools/clang/scripts/update.py
@@ -392,7 +392,10 @@ def GetWinSDKDir():

View File

@ -1,5 +1,5 @@
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
index 2cf5621ae33f..7a5d79ed09e4 100644
index f56ce93c3d5b..716cf8846378 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -312,8 +312,11 @@ void BrowserPluginGuest::InitInternal(
@ -37,10 +37,10 @@ index 2cf5621ae33f..7a5d79ed09e4 100644
attached_ = true;
diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc
index ad9de41d1e3e..a87ec19a5f54 100644
index f839f62061bb..2150ceb6c780 100644
--- content/browser/frame_host/interstitial_page_impl.cc
+++ content/browser/frame_host/interstitial_page_impl.cc
@@ -622,7 +622,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
@@ -619,7 +619,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
WebContentsView* wcv =
static_cast<WebContentsImpl*>(web_contents())->GetView();
RenderWidgetHostViewBase* view =
@ -50,10 +50,10 @@ index ad9de41d1e3e..a87ec19a5f54 100644
render_view_host_->GetMainFrame()->AllowBindings(
BINDINGS_POLICY_DOM_AUTOMATION);
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index 50047c045553..5e9424f62623 100644
index 41e44d5d658a..047c935d8ca2 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -25,7 +25,7 @@ struct ScreenInfo;
@@ -24,7 +24,7 @@ struct ScreenInfo;
// The WebContentsView is an interface that is implemented by the platform-
// dependent web contents views. The WebContents uses this interface to talk to
// them.
@ -62,7 +62,7 @@ index 50047c045553..5e9424f62623 100644
public:
virtual ~WebContentsView() {}
@@ -89,13 +89,9 @@ class WebContentsView {
@@ -88,13 +88,9 @@ class WebContentsView {
// Sets up the View that holds the rendered web page, receives messages for
// it and contains page plugins. The host view should be sized to the current
// size of the WebContents.
@ -79,7 +79,7 @@ index 50047c045553..5e9424f62623 100644
// Creates a new View that holds a popup and receives messages for it.
virtual RenderWidgetHostViewBase* CreateViewForPopupWidget(
diff --git content/browser/web_contents/web_contents_view_aura.cc content/browser/web_contents/web_contents_view_aura.cc
index 4a373e27bea4..684457680888 100644
index 713b17948ef7..8ec3e045783f 100644
--- content/browser/web_contents/web_contents_view_aura.cc
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -781,7 +781,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
@ -101,7 +101,7 @@ index 4a373e27bea4..684457680888 100644
g_create_render_widget_host_view
? g_create_render_widget_host_view(render_widget_host,
diff --git content/browser/web_contents/web_contents_view_aura.h content/browser/web_contents/web_contents_view_aura.h
index 96f23b81caf2..5fb786187b0c 100644
index 058f3e00d6f5..25a3ad4ec991 100644
--- content/browser/web_contents/web_contents_view_aura.h
+++ content/browser/web_contents/web_contents_view_aura.h
@@ -114,7 +114,7 @@ class CONTENT_EXPORT WebContentsViewAura
@ -114,7 +114,7 @@ index 96f23b81caf2..5fb786187b0c 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_child_frame.cc content/browser/web_contents/web_contents_view_child_frame.cc
index 345059d92363..39c376940df7 100644
index 688540cea253..8a143a74ce12 100644
--- content/browser/web_contents/web_contents_view_child_frame.cc
+++ content/browser/web_contents/web_contents_view_child_frame.cc
@@ -84,7 +84,7 @@ void WebContentsViewChildFrame::CreateView(const gfx::Size& initial_size,
@ -127,7 +127,7 @@ index 345059d92363..39c376940df7 100644
}
diff --git content/browser/web_contents/web_contents_view_child_frame.h content/browser/web_contents/web_contents_view_child_frame.h
index b5b3a22747ba..7a4e998d3e16 100644
index e5485f5609c3..589bbb400684 100644
--- content/browser/web_contents/web_contents_view_child_frame.h
+++ content/browser/web_contents/web_contents_view_child_frame.h
@@ -40,7 +40,7 @@ class WebContentsViewChildFrame : public WebContentsView,
@ -140,7 +140,7 @@ index b5b3a22747ba..7a4e998d3e16 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_guest.cc content/browser/web_contents/web_contents_view_guest.cc
index 2b272b7ff3de..cecd81826f7d 100644
index 44c68ed25b66..62026810703a 100644
--- content/browser/web_contents/web_contents_view_guest.cc
+++ content/browser/web_contents/web_contents_view_guest.cc
@@ -67,6 +67,8 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
@ -195,7 +195,7 @@ index 2b272b7ff3de..cecd81826f7d 100644
RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForPopupWidget(
diff --git content/browser/web_contents/web_contents_view_guest.h content/browser/web_contents/web_contents_view_guest.h
index 6f65cc816325..33a396e09671 100644
index 9e3511a9dabc..83dfee968d59 100644
--- content/browser/web_contents/web_contents_view_guest.h
+++ content/browser/web_contents/web_contents_view_guest.h
@@ -58,7 +58,7 @@ class WebContentsViewGuest : public WebContentsView,
@ -208,7 +208,7 @@ index 6f65cc816325..33a396e09671 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
index 15f03bafc0aa..c9418cbfa707 100644
index cf3305f96ddb..a44341905909 100644
--- content/browser/web_contents/web_contents_view_mac.h
+++ content/browser/web_contents/web_contents_view_mac.h
@@ -93,7 +93,7 @@ class WebContentsViewMac : public WebContentsView,
@ -221,10 +221,10 @@ index 15f03bafc0aa..c9418cbfa707 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm
index 4da80f38595f..dfcf88e06b74 100644
index 082b74eff5b2..6f477ecba11e 100644
--- content/browser/web_contents/web_contents_view_mac.mm
+++ content/browser/web_contents/web_contents_view_mac.mm
@@ -348,7 +348,8 @@ void WebContentsViewMac::CreateView(
@@ -345,7 +345,8 @@ void WebContentsViewMac::CreateView(
}
RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
@ -234,7 +234,7 @@ index 4da80f38595f..dfcf88e06b74 100644
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -360,6 +361,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
@@ -357,6 +358,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
render_widget_host->GetView());
}
@ -266,7 +266,7 @@ index d05dd5421458..fa13775f0512 100644
// a BrowserPlugin even when we are using cross process frames for guests. It
// should be removed after resolving https://crbug.com/642826).
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index 5adcb212aaaf..c899de6d9a80 100644
index a2a8e427b231..01d59c063d07 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -193,6 +193,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@ -298,7 +298,7 @@ index 5adcb212aaaf..c899de6d9a80 100644
WebContents* source,
const content::OpenURLParams& params) {
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index adcb0864ba28..f0ba4efc277a 100644
index 2a74abb320d5..16db064fb4a3 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
@@ -108,6 +108,10 @@ class MimeHandlerViewGuest :

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 6de801443eac..f0d38f681077 100644
index a73a10627a5a..b6cf1c0b5608 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
@ -10,7 +10,7 @@ index 6de801443eac..f0d38f681077 100644
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/feed/features.gni")
@@ -1644,6 +1645,7 @@ jumbo_split_static_library("browser") {
@@ -1646,6 +1647,7 @@ jumbo_split_static_library("browser") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc",
@ -18,7 +18,7 @@ index 6de801443eac..f0d38f681077 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1916,6 +1918,10 @@ jumbo_split_static_library("browser") {
@@ -1918,6 +1920,10 @@ jumbo_split_static_library("browser") {
]
}

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 0b312fc03b93..929fca9eaee3 100644
index 0a1e5754bb7a..f21aa63a4b86 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -3,6 +3,7 @@
@ -10,7 +10,7 @@ index 0b312fc03b93..929fca9eaee3 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -113,6 +114,7 @@ static_library("renderer") {
@@ -115,6 +116,7 @@ static_library("renderer") {
defines = []
deps = [
@ -18,7 +18,7 @@ index 0b312fc03b93..929fca9eaee3 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -176,6 +178,10 @@ static_library("renderer") {
@@ -178,6 +180,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git content/app/content_service_manager_main_delegate.h content/app/content_service_manager_main_delegate.h
index 283e1daf6c33..548aa8e71b99 100644
index 6f32f97e3f92..66da6d5cec53 100644
--- content/app/content_service_manager_main_delegate.h
+++ content/app/content_service_manager_main_delegate.h
@@ -18,7 +18,8 @@ namespace content {

View File

@ -1,5 +1,5 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index 03defa1ab778..73be8a2c8253 100644
index 20fa23379c4b..87d8ba911d53 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -494,10 +494,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(

View File

@ -94,7 +94,7 @@ index 201f23b9b422..4664c6b32c22 100644
"WillFailRequest state should come before WillProcessResponse");
return render_frame_host_;
diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc
index 41f2205a0158..e4568812a8e7 100644
index 412fc31e185c..66ee1f2fbd86 100644
--- content/browser/frame_host/render_frame_host_impl.cc
+++ content/browser/frame_host/render_frame_host_impl.cc
@@ -1614,6 +1614,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
@ -105,7 +105,19 @@ index 41f2205a0158..e4568812a8e7 100644
}
frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
@@ -4402,8 +4403,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
@@ -3799,9 +3800,9 @@ void RenderFrameHostImpl::CommitNavigation(
// is used. Currently we have this here to make sure we have non-racy
// situation (https://crbug.com/849929).
DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService));
- auto* storage_partition = static_cast<StoragePartitionImpl*>(
+ auto* storage_partition =
BrowserContext::GetStoragePartition(
- GetSiteInstance()->GetBrowserContext(), GetSiteInstance()));
+ GetSiteInstance()->GetBrowserContext(), GetSiteInstance());
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::BindOnce(&PrefetchURLLoaderService::GetFactory,
@@ -4413,8 +4414,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
RenderFrameDevToolsAgentHost::WillCreateURLLoaderFactory(
this, false /* is_navigation */, false /* is_download */,
&default_factory_request);
@ -116,17 +128,6 @@ index 41f2205a0158..e4568812a8e7 100644
if (g_create_network_factory_callback_for_test.Get().is_null()) {
storage_partition->GetNetworkContext()->CreateURLLoaderFactory(
std::move(default_factory_request), std::move(params));
@@ -4690,8 +4691,8 @@ void RenderFrameHostImpl::ConnectToPrefetchURLLoaderService(
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService));
auto* storage_partition =
- static_cast<StoragePartitionImpl*>(BrowserContext::GetStoragePartition(
- GetSiteInstance()->GetBrowserContext(), GetSiteInstance()));
+ BrowserContext::GetStoragePartition(
+ GetSiteInstance()->GetBrowserContext(), GetSiteInstance());
auto subresource_factories = CloneSubresourceFactories();
// Temporary for https://crbug.com/849929.
CHECK(subresource_factories);
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
index e39784552c5a..f9f520211e48 100644
--- content/browser/frame_host/render_frame_message_filter.cc
@ -284,10 +285,10 @@ index 3009401dac6b..b4c5a9e2db50 100644
};
diff --git content/common/frame_messages.h content/common/frame_messages.h
index 8284a4240b39..c883fa72292a 100644
index 94c3c6bfc0d4..ce424e1eaced 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1382,9 +1382,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -1381,9 +1381,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
// type. If there is no matching plugin, |found| is false.
// |actual_mime_type| is the actual mime type supported by the
// found plugin.
@ -363,10 +364,10 @@ index 2f1f46075b27..94f300dfea5d 100644
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 2deec131e505..a77b188ed948 100644
index 39f42d884dff..e40852fe5b84 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3449,7 +3449,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3471,7 +3471,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -376,7 +377,7 @@ index 2deec131e505..a77b188ed948 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -3814,6 +3815,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
@@ -3836,6 +3837,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
Send(new FrameHostMsg_FrameFocused(routing_id_));
@ -386,7 +387,7 @@ index 2deec131e505..a77b188ed948 100644
void RenderFrameImpl::WillCommitProvisionalLoad() {
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index fc840f2bfbf8..53a7cd6962a8 100644
index ed9ecdafb96e..23e547afaedd 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -866,6 +866,8 @@ void RenderThreadImpl::Init(
@ -399,10 +400,10 @@ index fc840f2bfbf8..53a7cd6962a8 100644
base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index f06027e68086..4b720db48c3a 100644
index e586e93c934c..dcc761353829 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1108,6 +1108,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() {
@@ -1123,6 +1123,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() {
base::MemoryCoordinatorClientRegistry::GetInstance()->PurgeMemory();
}
@ -418,10 +419,10 @@ index f06027e68086..4b720db48c3a 100644
if (!web_database_host_) {
web_database_host_ = blink::mojom::ThreadSafeWebDatabaseHostPtr::Create(
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 464f3bb996e8..d1e15becf2a8 100644
index 11a3acd664b3..1167382c3bd1 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -230,6 +230,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -235,6 +235,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
mojo::ScopedDataPipeConsumerHandle handle) override;
void RequestPurgeMemory() override;

View File

@ -1,102 +0,0 @@
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 1fec0c7876ca..0c8722204b0f 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -589,7 +589,8 @@ int RunBrowserProcessMain(
const MainFunctionParams& main_function_params,
ContentMainDelegate* delegate,
std::unique_ptr<BrowserProcessSubThread> service_manager_thread) {
- int exit_code = delegate->RunProcess("", main_function_params);
+ int exit_code = delegate->RunProcess("", main_function_params,
+ std::move(service_manager_thread));
#if defined(OS_ANDROID)
// In Android's browser process, the negative exit code doesn't mean the
// default behavior should be used as the UI message loop is managed by
diff --git content/browser/browser_main_runner_impl.h content/browser/browser_main_runner_impl.h
index adb084fe27c6..42a6fdc2d67f 100644
--- content/browser/browser_main_runner_impl.h
+++ content/browser/browser_main_runner_impl.h
@@ -42,7 +42,7 @@ class BrowserMainRunnerImpl : public BrowserMainRunner {
// on which ServiceManager is currently running.
int Initialize(
const MainFunctionParams& parameters,
- std::unique_ptr<BrowserProcessSubThread> service_manager_thread);
+ std::unique_ptr<BrowserProcessSubThread> service_manager_thread) override;
private:
// True if we have started to initialize the runner.
diff --git content/public/app/content_main_delegate.cc content/public/app/content_main_delegate.cc
index c4bdfd36ad0c..f6830c35fd1d 100644
--- content/public/app/content_main_delegate.cc
+++ content/public/app/content_main_delegate.cc
@@ -6,6 +6,7 @@
#include "base/logging.h"
#include "build/build_config.h"
+#include "content/browser/browser_process_sub_thread.h"
#include "content/public/gpu/content_gpu_client.h"
#include "content/public/renderer/content_renderer_client.h"
#include "content/public/utility/content_utility_client.h"
@@ -26,6 +27,13 @@ int ContentMainDelegate::RunProcess(
return -1;
}
+int ContentMainDelegate::RunProcess(
+ const std::string& process_type,
+ const MainFunctionParams& main_function_params,
+ std::unique_ptr<BrowserProcessSubThread> service_manager_thread) {
+ return RunProcess(process_type, main_function_params);
+}
+
ui::DataPack* ContentMainDelegate::LoadServiceManifestDataPack() {
return nullptr;
}
diff --git content/public/app/content_main_delegate.h content/public/app/content_main_delegate.h
index 979e25d1c1b9..87ef81c4e913 100644
--- content/public/app/content_main_delegate.h
+++ content/public/app/content_main_delegate.h
@@ -30,6 +30,7 @@ class DataPack;
namespace content {
+class BrowserProcessSubThread;
class ContentBrowserClient;
class ContentGpuClient;
class ContentRendererClient;
@@ -60,6 +61,12 @@ class CONTENT_EXPORT ContentMainDelegate {
const std::string& process_type,
const MainFunctionParams& main_function_params);
+ // Asks the embedder to start a process. Return -1 for the default behavior.
+ virtual int RunProcess(
+ const std::string& process_type,
+ const MainFunctionParams& main_function_params,
+ std::unique_ptr<BrowserProcessSubThread> service_manager_thread);
+
// Called right before the process exits.
virtual void ProcessExiting(const std::string& process_type) {}
diff --git content/public/browser/browser_main_runner.h content/public/browser/browser_main_runner.h
index c01be956eded..8cbd8d894ac5 100644
--- content/public/browser/browser_main_runner.h
+++ content/public/browser/browser_main_runner.h
@@ -10,6 +10,7 @@
namespace content {
+class BrowserProcessSubThread;
struct MainFunctionParams;
// This class is responsible for browser initialization, running and shutdown.
@@ -26,7 +27,10 @@ class CONTENT_EXPORT BrowserMainRunner {
// Initialize all necessary browser state. The |parameters| values will be
// copied. Returning a non-negative value indicates that initialization
// failed, and the returned value is used as the exit code for the process.
- virtual int Initialize(const content::MainFunctionParams& parameters) = 0;
+ virtual int Initialize(const MainFunctionParams& parameters) = 0;
+ virtual int Initialize(
+ const MainFunctionParams& parameters,
+ std::unique_ptr<BrowserProcessSubThread> service_manager_thread) = 0;
#if defined(OS_ANDROID)
// Run all queued startup tasks. Only defined on Android because other

View File

@ -45,7 +45,7 @@ index bcf172e645a2..f879aa745adf 100644
// on the given |command_line|.
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
diff --git chrome_elf/BUILD.gn chrome_elf/BUILD.gn
index a47b2b61fbfa..83936ff6e265 100644
index 1b1823b87cc5..eb70d0f5d587 100644
--- chrome_elf/BUILD.gn
+++ chrome_elf/BUILD.gn
@@ -7,6 +7,7 @@
@ -127,7 +127,7 @@ index fdc51ab22807..cb0a99dd190c 100644
g_crash_helper_enabled = true;
return true;
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
index 76f15cb5b511..7cf4cb636a2e 100644
index a7378204ffaa..7efc255eb1b4 100644
--- components/crash/content/app/breakpad_linux.cc
+++ components/crash/content/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@ -138,7 +138,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
#include "base/files/file_path.h"
#include "base/lazy_instance.h"
#include "base/linux_util.h"
@@ -88,6 +89,7 @@ namespace {
@@ -89,6 +90,7 @@ namespace {
#if !defined(OS_CHROMEOS)
const char kUploadURL[] = "https://clients2.google.com/cr/report";
@ -146,7 +146,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
#endif
bool g_is_crash_reporter_enabled = false;
@@ -686,7 +688,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
@@ -702,7 +704,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
info.process_type_length = 7;
info.distro = base::g_linux_distro;
info.distro_length = my_strlen(base::g_linux_distro);
@ -155,7 +155,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
info.process_start_time = g_process_start_time;
info.oom_size = base::g_oom_size;
info.pid = g_pid;
@@ -1341,7 +1343,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
@@ -1357,7 +1359,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
header_content_encoding,
header_content_type,
post_file,
@ -164,7 +164,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
"--timeout=10", // Set a timeout so we don't hang forever.
"--tries=1", // Don't retry if the upload fails.
"-O", // Output reply to the file descriptor path.
@@ -1681,10 +1683,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1697,10 +1699,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version);
writer.AddBoundary();
@ -186,7 +186,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
if (info.pid > 0) {
char pid_value_buf[kUint64StringSize];
uint64_t pid_value_len = my_uint64_len(info.pid);
@@ -1802,10 +1813,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1817,10 +1828,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
crash_reporter::internal::TransitionalCrashKeyStorage;
CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
const CrashKeyStorage::Entry* entry;
@ -208,7 +208,7 @@ index 76f15cb5b511..7cf4cb636a2e 100644
writer.AddBoundary();
writer.Flush();
}
@@ -2015,6 +2036,17 @@ void SetChannelCrashKey(const std::string& channel) {
@@ -2032,6 +2053,17 @@ void SetChannelCrashKey(const std::string& channel) {
channel_key.Set(channel);
}

View File

@ -27,10 +27,10 @@ index 53c7404ef1f9..ac33df7cfe0e 100644
auto* browser_context = web_contents->GetBrowserContext();
StreamsPrivateAPI* streams_private = GetStreamsPrivateAPI(browser_context);
diff --git content/browser/frame_host/render_frame_host_manager.cc content/browser/frame_host/render_frame_host_manager.cc
index c90c938f566a..a65453d62c47 100644
index 301b0d075284..02109eee22f8 100644
--- content/browser/frame_host/render_frame_host_manager.cc
+++ content/browser/frame_host/render_frame_host_manager.cc
@@ -927,10 +927,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
@@ -922,10 +922,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
// TODO(alexmos): This check should've been enforced earlier in the
// navigation, in chrome::Navigate(). Verify this, and then convert this to
// a CHECK and remove the fallback.
@ -46,7 +46,7 @@ index c90c938f566a..a65453d62c47 100644
return true;
}
@@ -1069,7 +1070,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
@@ -1064,7 +1065,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
// Double-check that the new SiteInstance is associated with the right
// BrowserContext.

View File

@ -12,10 +12,10 @@ index 87fb8815433e..f19fba48f06c 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index f0c7533a016b..93bd97a88cf6 100644
index eca00a816913..d892e01835fe 100644
--- BUILD.gn
+++ BUILD.gn
@@ -193,6 +193,7 @@ group("gn_all") {
@@ -186,6 +186,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [

View File

@ -1,5 +1,5 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index 2c9ca8bbae88..f18ec6b7ffb4 100644
index 15d8fdc55f91..d860b4ad4a8e 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -414,4 +414,11 @@

View File

@ -1,5 +1,5 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 295dabf..e27ae23 100644
index 6e38ad782d38..a384f8b79c04 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -152,7 +152,7 @@ declare_args() {
@ -12,7 +12,7 @@ index 295dabf..e27ae23 100644
}
diff --git chrome/browser/ui/libgtkui/gtk_util.cc chrome/browser/ui/libgtkui/gtk_util.cc
index 96f8c0e..49c462b 100644
index 96f8c0e71472..49c462b37e12 100644
--- chrome/browser/ui/libgtkui/gtk_util.cc
+++ chrome/browser/ui/libgtkui/gtk_util.cc
@@ -237,6 +237,7 @@ float GetDeviceScaleFactor() {
@ -61,7 +61,7 @@ index 96f8c0e..49c462b 100644
ScopedStyleContext child_context(gtk_style_context_new());
gtk_style_context_set_path(child_context, path);
diff --git chrome/browser/ui/libgtkui/native_theme_gtk2.cc chrome/browser/ui/libgtkui/native_theme_gtk2.cc
index b24ff4b9..49e8071 100644
index b24ff4b95f97..49e80717b1d6 100644
--- chrome/browser/ui/libgtkui/native_theme_gtk2.cc
+++ chrome/browser/ui/libgtkui/native_theme_gtk2.cc
@@ -163,6 +163,8 @@ SkColor NativeThemeGtk2::GetSystemColor(ColorId color_id) const {
@ -74,7 +74,7 @@ index b24ff4b9..49e8071 100644
return GetTextColor(GetEntry(), NORMAL);
case kColorId_LabelDisabledColor:
diff --git ui/accessibility/platform/atk_util_auralinux_gtk2.cc ui/accessibility/platform/atk_util_auralinux_gtk2.cc
index ac11b56..6355d02 100644
index ac11b5626f67..6355d0283de1 100644
--- ui/accessibility/platform/atk_util_auralinux_gtk2.cc
+++ ui/accessibility/platform/atk_util_auralinux_gtk2.cc
@@ -48,6 +48,7 @@ GnomeAccessibilityModuleInitFunc GetAccessibilityModuleInitFunc() {

View File

@ -1,5 +1,31 @@
diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc
index 3c715c8e6ae9..d1622d2e87c9 100644
--- base/message_loop/message_loop.cc
+++ base/message_loop/message_loop.cc
@@ -701,6 +701,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) {
#endif
}
+MessageLoopForUI::MessageLoopForUI(std::unique_ptr<MessagePump> pump)
+ : MessageLoop(TYPE_UI, BindOnce(&ReturnPump, std::move(pump))) {}
+
// static
MessageLoopCurrentForUI MessageLoopForUI::current() {
return MessageLoopCurrentForUI::Get();
diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h
index f34416015fee..9727efbe288f 100644
--- base/message_loop/message_loop.h
+++ base/message_loop/message_loop.h
@@ -352,6 +352,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
class BASE_EXPORT MessageLoopForUI : public MessageLoop {
public:
explicit MessageLoopForUI(Type type = TYPE_UI);
+ explicit MessageLoopForUI(std::unique_ptr<MessagePump> pump);
// TODO(gab): Mass migrate callers to MessageLoopCurrentForUI::Get()/IsSet().
static MessageLoopCurrentForUI current();
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
index 9e19a78aca10..47a54de56a74 100644
index 61d1607e31e7..656b3a9c9f68 100644
--- base/message_loop/message_loop_current.h
+++ base/message_loop/message_loop_current.h
@@ -120,6 +120,16 @@ class BASE_EXPORT MessageLoopCurrent {
@ -34,7 +60,7 @@ index 9e19a78aca10..47a54de56a74 100644
#if !defined(OS_NACL)
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index 76747a5086b3..7330d87a9d2d 100644
index 8dad64cbeb3a..63fa0e1a2be7 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -11,6 +11,7 @@
@ -45,7 +71,7 @@ index 76747a5086b3..7330d87a9d2d 100644
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
@@ -369,20 +370,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
@@ -381,20 +382,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
}
bool MessagePumpForUI::ProcessPumpReplacementMessage() {

View File

@ -58,10 +58,10 @@ index f61ff0d0564a..e6727c7b1cbc 100644
} // namespace certificate_transparency
diff --git net/http/transport_security_state.cc net/http/transport_security_state.cc
index cd6128c22924..5d614e50ec4e 100644
index 2dc467772e86..fdb047099ff5 100644
--- net/http/transport_security_state.cc
+++ net/http/transport_security_state.cc
@@ -1309,8 +1309,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
@@ -1153,8 +1153,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
sent_expect_ct_reports_cache_.Clear();
}
@ -75,10 +75,10 @@ index cd6128c22924..5d614e50ec4e 100644
// We consider built-in information to be timely for 10 weeks.
return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
diff --git net/http/transport_security_state.h net/http/transport_security_state.h
index 5f7873f76376..bccb857b682d 100644
index 9c65b59e4ec2..0ac0509abf78 100644
--- net/http/transport_security_state.h
+++ net/http/transport_security_state.h
@@ -593,6 +593,10 @@ class NET_EXPORT TransportSecurityState {
@@ -561,6 +561,10 @@ class NET_EXPORT TransportSecurityState {
// Expect-CT reports.
void ClearReportCachesForTesting();
@ -89,7 +89,7 @@ index 5f7873f76376..bccb857b682d 100644
private:
friend class TransportSecurityStateTest;
friend class TransportSecurityStateStaticFuzzer;
@@ -613,7 +617,7 @@ class NET_EXPORT TransportSecurityState {
@@ -581,7 +585,7 @@ class NET_EXPORT TransportSecurityState {
// IsBuildTimely returns true if the current build is new enough ensure that
// built in security information (i.e. HSTS preloading and pinning
// information) is timely.
@ -98,7 +98,7 @@ index 5f7873f76376..bccb857b682d 100644
// Helper method for actually checking pins.
PKPStatus CheckPublicKeyPinsImpl(
@@ -722,6 +726,8 @@ class NET_EXPORT TransportSecurityState {
@@ -679,6 +683,8 @@ class NET_EXPORT TransportSecurityState {
// True if public key pinning bypass is enabled for local trust anchors.
bool enable_pkp_bypass_for_local_trust_anchors_;

View File

@ -1,5 +1,5 @@
diff --git BUILD.gn BUILD.gn
index d30640f30..56bc41940 100644
index 222784f36..a492d6735 100644
--- BUILD.gn
+++ BUILD.gn
@@ -239,6 +239,10 @@ jumbo_static_library("pdfium") {

View File

@ -35,14 +35,14 @@ index 78cbf5f3db86..9a4906a32336 100644
bool record_whole_document;
SavePreviousDocumentResources save_previous_document_resources;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index 18b915029764..6aa42b269d13 100644
index 1fdb7ccfaa8f..55ec8b11b070 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1203,6 +1203,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
@@ -1222,6 +1222,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
blink::WebView* web_view,
CompositorDependencies* compositor_deps) {
ApplyWebPreferences(prefs, web_view);
+ web_view->SetBaseBackgroundColor(prefs.base_background_color);
}
void RenderViewImpl::OnForceRedraw(int snapshot_id) {
// blink::WebViewClient ------------------------------------------------------

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 07de64d30686..39959f0dbadb 100644
index 8f0a3e469f58..3520b34a3b22 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -890,6 +890,7 @@ split_static_library("ui") {
@ -116,7 +116,7 @@ index 006966fd1c58..db9cd49af2a4 100644
#endif
diff --git components/printing/common/print_messages.cc components/printing/common/print_messages.cc
index c2eee7803d32..8b4ecb1db44f 100644
index 18df7614a988..9f86016d3e68 100644
--- components/printing/common/print_messages.cc
+++ components/printing/common/print_messages.cc
@@ -140,7 +140,6 @@ PrintMsg_PrintFrame_Params::PrintMsg_PrintFrame_Params() {}
@ -133,7 +133,7 @@ index c2eee7803d32..8b4ecb1db44f 100644
}
-#endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
diff --git components/printing/common/print_messages.h components/printing/common/print_messages.h
index d85d26c7e79c..ecced6678eb5 100644
index d29bb6aedecd..db7110ce80be 100644
--- components/printing/common/print_messages.h
+++ components/printing/common/print_messages.h
@@ -86,7 +86,6 @@ struct PrintMsg_PrintFrame_Params {
@ -253,7 +253,7 @@ index d85d26c7e79c..ecced6678eb5 100644
#endif // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_
diff --git components/printing/renderer/print_render_frame_helper.cc components/printing/renderer/print_render_frame_helper.cc
index 7bfc822296c2..04fb1dc64a7d 100644
index 6d106fa56134..7fd9e87e9ea4 100644
--- components/printing/renderer/print_render_frame_helper.cc
+++ components/printing/renderer/print_render_frame_helper.cc
@@ -340,7 +340,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 1864ef4217fe..97a522b751e2 100644
index 236b40392445..c7eb7f728120 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -718,10 +718,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
@ -19,7 +19,7 @@ index 1864ef4217fe..97a522b751e2 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -1918,6 +1920,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -1920,6 +1922,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
if (frame_sink_id_.is_valid())
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@ -1,8 +1,8 @@
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
index b4728513c0a6..550384c766f2 100644
index 3480d43aee55..310d9e0b4833 100644
--- services/service_manager/embedder/main.cc
+++ services/service_manager/embedder/main.cc
@@ -300,13 +300,30 @@ int RunService(MainDelegate* delegate) {
@@ -300,22 +300,36 @@ int RunService(MainDelegate* delegate) {
return exit_code;
}
@ -34,43 +34,31 @@ index b4728513c0a6..550384c766f2 100644
MainDelegate* delegate = params.delegate;
DCHECK(delegate);
@@ -374,30 +391,14 @@ int Main(const MainParams& params) {
MainDelegate::InitializeParams init_params;
int exit_code = -1;
base::debug::GlobalActivityTracker* tracker = nullptr;
ProcessType process_type = delegate->OverrideProcessType();
-#if defined(OS_MACOSX)
- std::unique_ptr<base::mac::ScopedNSAutoreleasePool> autorelease_pool;
-#endif
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -391,12 +405,7 @@ int Main(const MainParams& params) {
MainDelegate::InitializeParams init_params;
#if defined(OS_MACOSX)
- // We need this pool for all the objects created before we get to the event
- // loop, but we don't want to leave them hanging around until the app quits.
- // Each "main" needs to flush this pool right before it goes into its main
- // event loop to get rid of the cruft.
- std::unique_ptr<base::mac::ScopedNSAutoreleasePool> autorelease_pool =
- std::make_unique<base::mac::ScopedNSAutoreleasePool>();
- init_params.autorelease_pool = autorelease_pool.get();
+ init_params.autorelease_pool = params.autorelease_pool.get();
InitializeMac();
- // We need this pool for all the objects created before we get to the event
- // loop, but we don't want to leave them hanging around until the app quits.
- // Each "main" needs to flush this pool right before it goes into its main
- // event loop to get rid of the cruft.
- autorelease_pool = std::make_unique<base::mac::ScopedNSAutoreleasePool>();
- init_params.autorelease_pool = autorelease_pool.get();
+ init_params.autorelease_pool = params.autorelease_pool.get();
InitializeMac();
#endif
mojo::core::Configuration mojo_config;
- ProcessType process_type = delegate->OverrideProcessType();
- if (process_type == ProcessType::kDefault) {
- std::string type_switch =
- command_line.GetSwitchValueASCII(switches::kProcessType);
- if (type_switch == switches::kProcessTypeServiceManager) {
- mojo_config.is_broker_process = true;
- process_type = ProcessType::kServiceManager;
- } else if (type_switch == switches::kProcessTypeService) {
- process_type = ProcessType::kService;
- } else {
- process_type = ProcessType::kEmbedder;
- }
- }
+ const ProcessType process_type = GetProcessType(delegate, command_line);
+ if (process_type == ProcessType::kServiceManager)
+ mojo_config.is_broker_process = true;
mojo_config.max_message_num_bytes = kMaximumMojoMessageSize;
delegate->OverrideMojoConfiguration(&mojo_config);
mojo::core::Init(mojo_config);
@@ -432,6 +433,16 @@ int Main(const MainParams& params) {
trace_config, base::trace_event::TraceLog::RECORDING_MODE);
@@ -440,18 +449,16 @@ int Main(const MainParams& params) {
}
}
+ return exit_code;
@ -81,12 +69,23 @@ index b4728513c0a6..550384c766f2 100644
+ DCHECK(delegate);
+
+ int exit_code = 0;
+ const auto& command_line = *base::CommandLine::ForCurrentProcess();
const auto& command_line = *base::CommandLine::ForCurrentProcess();
- if (process_type == ProcessType::kDefault) {
- std::string type_switch =
- command_line.GetSwitchValueASCII(switches::kProcessType);
- if (type_switch == switches::kProcessTypeServiceManager) {
- process_type = ProcessType::kServiceManager;
- } else if (type_switch == switches::kProcessTypeService) {
- process_type = ProcessType::kService;
- } else {
- process_type = ProcessType::kEmbedder;
- }
- }
+ const ProcessType process_type = GetProcessType(delegate, command_line);
switch (process_type) {
case ProcessType::kDefault:
NOTREACHED();
@@ -460,6 +471,8 @@ int Main(const MainParams& params) {
@@ -473,6 +480,8 @@ int Main(const MainParams& params) {
break;
}
@ -95,7 +94,7 @@ index b4728513c0a6..550384c766f2 100644
if (tracker) {
if (exit_code == 0) {
tracker->SetProcessPhaseIfEnabled(
@@ -471,13 +484,38 @@ int Main(const MainParams& params) {
@@ -484,13 +493,38 @@ int Main(const MainParams& params) {
}
}

View File

@ -161,10 +161,10 @@ index ec9ab86d0ca6..0fe5219f1e84 100644
base::WeakPtrFactory<ServiceWorkerHandler> weak_factory_;
diff --git content/browser/download/download_manager_impl.cc content/browser/download/download_manager_impl.cc
index ba4abf130285..9bca602b6ec5 100644
index 091031a3464b..e609953bb69f 100644
--- content/browser/download/download_manager_impl.cc
+++ content/browser/download/download_manager_impl.cc
@@ -85,9 +85,9 @@
@@ -86,9 +86,9 @@
namespace content {
namespace {
@ -177,7 +177,7 @@ index ba4abf130285..9bca602b6ec5 100644
DCHECK_CURRENTLY_ON(BrowserThread::UI);
SiteInstance* site_instance = nullptr;
@@ -97,8 +97,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
@@ -98,8 +98,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
if (render_frame_host_)
site_instance = render_frame_host_->GetSiteInstance();
}
@ -187,7 +187,7 @@ index ba4abf130285..9bca602b6ec5 100644
}
bool CanRequestURLFromRenderer(int render_process_id, GURL url) {
@@ -264,7 +263,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
@@ -265,7 +264,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
#endif
scoped_refptr<download::DownloadURLLoaderFactoryGetter>
@ -196,7 +196,7 @@ index ba4abf130285..9bca602b6ec5 100644
RenderFrameHost* rfh,
bool is_download) {
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info;
@@ -281,7 +280,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
@@ -282,7 +281,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
}
}
return base::MakeRefCounted<NetworkDownloadURLLoaderFactoryGetter>(
@ -205,7 +205,7 @@ index ba4abf130285..9bca602b6ec5 100644
std::move(proxy_factory_ptr_info), std::move(proxy_factory_request));
}
@@ -1061,7 +1060,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
@@ -1060,7 +1059,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
tab_referrer_url = entry->GetReferrer().url;
}
}
@ -214,9 +214,9 @@ index ba4abf130285..9bca602b6ec5 100644
GetStoragePartition(browser_context_, render_process_id, render_frame_id);
in_progress_manager_->InterceptDownloadFromNavigation(
std::move(resource_request), render_process_id, render_frame_id, site_url,
@@ -1107,10 +1106,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
base::MakeRefCounted<FileDownloadURLLoaderFactoryGetter>(
params->url(), browser_context_->GetPath());
@@ -1110,10 +1109,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
base::MakeRefCounted<WebUIDownloadURLLoaderFactoryGetter>(
rfh, params->url());
} else {
- StoragePartitionImpl* storage_partition =
- static_cast<StoragePartitionImpl*>(
@ -228,10 +228,10 @@ index ba4abf130285..9bca602b6ec5 100644
CreateDownloadURLLoaderFactoryGetter(storage_partition, rfh, true);
}
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index d8eeafefef71..6069cb51e358 100644
index 50860abcf28b..20768bd83153 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -997,7 +997,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -1029,7 +1029,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
// path does as well for navigations.
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
-1 /* render_process_id */, -1 /* render_frame_id */, resource_context_,
@ -240,7 +240,7 @@ index d8eeafefef71..6069cb51e358 100644
false /* allow_wildcard */, &stale, &plugin, nullptr);
if (stale) {
@@ -1330,7 +1330,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
@@ -1361,7 +1361,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
network::mojom::URLLoaderFactoryPtrInfo proxied_factory_info;
network::mojom::URLLoaderFactoryRequest proxied_factory_request;
@ -249,16 +249,6 @@ index d8eeafefef71..6069cb51e358 100644
if (frame_tree_node) {
// |frame_tree_node| may be null in some unit test environments.
GetContentClient()
@@ -1378,7 +1378,8 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
DCHECK(!request_controller_);
request_controller_ = std::make_unique<URLLoaderRequestController>(
std::move(initial_interceptors), std::move(new_request), resource_context,
- partition->url_loader_factory_getter(), request_info->common_params.url,
+ base::WrapRefCounted(partition->url_loader_factory_getter()),
+ request_info->common_params.url,
std::move(proxied_factory_request), std::move(proxied_factory_info),
std::move(known_schemes), weak_factory_.GetWeakPtr());
BrowserThread::PostTask(
diff --git content/browser/payments/payment_app_installer.cc content/browser/payments/payment_app_installer.cc
index 6a6e31bdb070..dce0433e1775 100644
--- content/browser/payments/payment_app_installer.cc
@ -306,7 +296,7 @@ index 6d28562bd1b9..544566b60192 100644
partition->GetPaymentAppContext();
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
index bc6050f27296..879d1dc2c113 100644
index 137bf0134739..df0e72929b73 100644
--- content/browser/renderer_host/render_process_host_impl.cc
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -740,11 +740,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
@ -379,7 +369,7 @@ index bc6050f27296..879d1dc2c113 100644
AddObserver(indexed_db_factory_.get());
AddObserver(service_worker_dispatcher_host_.get());
@@ -1775,6 +1777,17 @@ void RenderProcessHostImpl::ResetChannelProxy() {
@@ -1779,6 +1781,17 @@ void RenderProcessHostImpl::ResetChannelProxy() {
void RenderProcessHostImpl::CreateMessageFilters() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -397,7 +387,7 @@ index bc6050f27296..879d1dc2c113 100644
MediaInternals* media_internals = MediaInternals::GetInstance();
// Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
// from guests.
@@ -1787,7 +1800,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1791,7 +1804,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
base::MakeRefCounted<RenderMessageFilter>(
GetID(), GetBrowserContext(), request_context.get(),
widget_helper_.get(), media_internals,
@ -406,7 +396,7 @@ index bc6050f27296..879d1dc2c113 100644
AddFilter(render_message_filter.get());
render_frame_message_filter_ = new RenderFrameMessageFilter(
@@ -1814,10 +1827,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1818,10 +1831,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
ChromeBlobStorageContext::GetFor(browser_context);
resource_message_filter_ = new ResourceMessageFilter(
@ -419,7 +409,7 @@ index bc6050f27296..879d1dc2c113 100644
storage_partition_impl_->GetPrefetchURLLoaderService(),
std::move(get_contexts_callback),
BrowserThread::GetTaskRunnerForThread(BrowserThread::IO));
@@ -1826,8 +1839,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1830,8 +1843,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(
new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service()));
@ -429,7 +419,7 @@ index bc6050f27296..879d1dc2c113 100644
peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
AddFilter(peer_connection_tracker_host_.get());
@@ -1849,10 +1861,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1853,10 +1865,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new TraceMessageFilter(GetID()));
AddFilter(new ResolveProxyMsgHelper(request_context.get()));
@ -440,7 +430,7 @@ index bc6050f27296..879d1dc2c113 100644
}
void RenderProcessHostImpl::BindCacheStorage(
@@ -1864,7 +1872,8 @@ void RenderProcessHostImpl::BindCacheStorage(
@@ -1868,7 +1876,8 @@ void RenderProcessHostImpl::BindCacheStorage(
cache_storage_dispatcher_host_ =
base::MakeRefCounted<CacheStorageDispatcherHost>();
cache_storage_dispatcher_host_->Init(
@ -450,7 +440,7 @@ index bc6050f27296..879d1dc2c113 100644
}
// Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO
// thread entirely.
@@ -2016,7 +2025,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2020,7 +2029,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&AppCacheDispatcherHost::Create,
@ -460,7 +450,7 @@ index bc6050f27296..879d1dc2c113 100644
GetID()));
AddUIThreadInterface(registry.get(), base::Bind(&FieldTrialRecorder::Create));
@@ -2047,6 +2057,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2051,6 +2061,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
plugin_registry_.reset(
new PluginRegistryImpl(GetBrowserContext()->GetResourceContext()));
}
@ -571,7 +561,7 @@ index 2fe70f50171f..98244cd5ddf8 100644
std::move(client), creation_context_type,
blink::MessagePortChannel(std::move(message_port)),
diff --git content/browser/shared_worker/shared_worker_service_impl.cc content/browser/shared_worker/shared_worker_service_impl.cc
index b78e52de343e..1aa055691d80 100644
index 0727104684b1..ea180eca8131 100644
--- content/browser/shared_worker/shared_worker_service_impl.cc
+++ content/browser/shared_worker/shared_worker_service_impl.cc
@@ -309,8 +309,8 @@ void SharedWorkerServiceImpl::CreateWorker(

View File

@ -295,10 +295,10 @@ index 1d35afeda78f..333f9c0f778d 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 7db3c69b1a3b..3c5a4106629d 100644
index beecb7f27177..61bf431486db 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2451,8 +2451,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2421,8 +2421,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -313,7 +313,7 @@ index 7db3c69b1a3b..3c5a4106629d 100644
MenuItemView* to_select = NULL;
if (item->GetSubmenu()->GetMenuItemCount() > 0)
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2467,8 +2472,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2437,8 +2442,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -373,10 +373,10 @@ index 4dea63f9f286..ef50b710c5af 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 4b45b29b387b..39304c5c708c 100644
index 4ede4cb5fa04..8f4af6c91969 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -906,7 +906,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
@@ -914,7 +914,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
// only need the background when we want it to look different, as when we're
// selected.
ui::NativeTheme* native_theme = GetNativeTheme();
@ -390,7 +390,7 @@ index 4b45b29b387b..39304c5c708c 100644
gfx::Rect item_bounds(0, 0, width(), height());
if (type_ == ACTIONABLE_SUBMENU) {
if (submenu_area_of_actionable_submenu_selected_) {
@@ -1025,6 +1030,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
@@ -1033,6 +1038,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
SkColor MenuItemView::GetTextColor(bool minor,
bool render_selection,
bool emphasized) const {

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index 0c4dc1f8e51d..04aff67cd9fe 100644
index c7e802e7ac68..bf1d28904f49 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -449,6 +449,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
@@ -468,6 +468,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
return screen_info.device_scale_factor;
}
@ -18,7 +18,7 @@ index 0c4dc1f8e51d..04aff67cd9fe 100644
return renderer_frame_number_;
}
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index 3e867a8bf130..27fb12375d15 100644
index 1b2563d6bca0..cf6717aaeb98 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -84,6 +84,7 @@ class CursorManager;
@ -61,7 +61,7 @@ index 3e867a8bf130..27fb12375d15 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -655,6 +667,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -649,6 +661,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool use_viz_hit_test_ = false;
@ -73,7 +73,7 @@ index 3e867a8bf130..27fb12375d15 100644
void SynchronizeVisualProperties();
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index af9912a5f02a..ce0952342e8c 100644
index c079001bb4e5..da93acec6e60 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -30,6 +30,10 @@
@ -87,7 +87,7 @@ index af9912a5f02a..ce0952342e8c 100644
#if defined(OS_WIN)
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/public/common/context_menu_params.h"
@@ -887,6 +891,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
@@ -883,6 +887,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
::SetFocus(hwnd);
}
}
@ -135,7 +135,7 @@ index f772f64d656e..7d13f9f81b6c 100644
return host ? host->GetAcceleratedWidget() : NULL;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 429e3401d1e2..eaa995e03e70 100644
index 9ec5fdb9bb5c..0694641f11db 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -87,6 +87,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
@ -160,7 +160,7 @@ index 429e3401d1e2..eaa995e03e70 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -869,11 +874,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -871,11 +876,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -179,7 +179,7 @@ index 429e3401d1e2..eaa995e03e70 100644
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
index 1eb03f110884..c3319648f00a 100644
index 022de4037ff0..c54ef87f2f7f 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -284,6 +284,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@ -194,7 +194,7 @@ index 1eb03f110884..c3319648f00a 100644
// a reference.
corewm::TooltipWin* tooltip_;
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
index 438e5968ed24..97bb9ccef709 100644
index 22a9914957a7..d315f07eca5e 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -145,6 +145,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@ -222,7 +222,7 @@ index 438e5968ed24..97bb9ccef709 100644
return bounds_in_pixels_;
}
@@ -502,7 +506,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
@@ -504,7 +508,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -232,7 +232,7 @@ index 438e5968ed24..97bb9ccef709 100644
xwindow_ = x11::None;
desktop_native_widget_aura_->OnHostClosed();
@@ -643,6 +648,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
@@ -645,6 +650,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
}
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
@ -241,7 +241,7 @@ index 438e5968ed24..97bb9ccef709 100644
return ToDIPRect(bounds_in_pixels_);
}
@@ -1268,6 +1275,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
@@ -1270,6 +1277,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
}
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
@ -250,7 +250,7 @@ index 438e5968ed24..97bb9ccef709 100644
return bounds_in_pixels_.origin();
}
@@ -1412,7 +1421,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1414,7 +1423,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
::Atom window_type;
switch (params.type) {
case Widget::InitParams::TYPE_MENU:
@ -258,7 +258,7 @@ index 438e5968ed24..97bb9ccef709 100644
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
break;
case Widget::InitParams::TYPE_TOOLTIP:
@@ -1468,9 +1476,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1470,9 +1478,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -275,7 +275,7 @@ index 438e5968ed24..97bb9ccef709 100644
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
bounds_in_pixels_.height(),
0, // border width
@@ -2086,6 +2100,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -2088,6 +2102,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@ -287,7 +287,7 @@ index 438e5968ed24..97bb9ccef709 100644
case x11::FocusOut:
OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index 492c896749f8..8e609c5c7d76 100644
index c5e6df7ce811..8648b49b5753 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -91,6 +91,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@ -335,7 +335,7 @@ index 492c896749f8..8e609c5c7d76 100644
base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_;
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index adb90b9def4e..ae21334ae654 100644
index e4e7fc6ce96c..9123f688646f 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -132,6 +132,7 @@ Widget::InitParams::InitParams(Type type)
@ -387,7 +387,7 @@ index adb90b9def4e..ae21334ae654 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 461097ab814e..7c199a5ed30c 100644
index 482ab928bdec..d06cd234da9d 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -252,6 +252,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 34096176fc16..58eabafbd9b6 100644
index 58eedf0d0bd8..b51742b98834 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -2006,21 +2006,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2033,21 +2033,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -45,7 +45,7 @@ index 34096176fc16..58eabafbd9b6 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2703,6 +2712,15 @@ void WebContentsImpl::CreateNewWindow(
@@ -2730,6 +2739,15 @@ void WebContentsImpl::CreateNewWindow(
create_params.renderer_initiated_creation =
main_frame_route_id != MSG_ROUTING_NONE;
@ -61,7 +61,7 @@ index 34096176fc16..58eabafbd9b6 100644
std::unique_ptr<WebContents> new_contents;
if (!is_guest) {
create_params.context = view_->GetNativeView();
@@ -2733,7 +2751,7 @@ void WebContentsImpl::CreateNewWindow(
@@ -2760,7 +2778,7 @@ void WebContentsImpl::CreateNewWindow(
// TODO(brettw): It seems bogus that we have to call this function on the
// newly created object and give it one of its own member variables.
new_view->CreateViewForWidget(
@ -70,7 +70,7 @@ index 34096176fc16..58eabafbd9b6 100644
}
// Save the created window associated with the route so we can show it
// later.
@@ -6066,7 +6084,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
@@ -6092,7 +6110,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
RenderViewHost* render_view_host) {
RenderWidgetHostViewBase* rwh_view =

View File

@ -10,10 +10,10 @@ index 92e9cb865204..4628c56882b4 100644
+ GetPlugins(bool refresh, bool is_main_frame, url.mojom.Origin main_frame_origin) => (array<PluginInfo> plugins);
};
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index ea54e3d6ce90..a36f0e222119 100644
index 27c4bdcdfd37..a6773b8093c2 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -706,6 +706,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -697,6 +697,11 @@ class BLINK_PLATFORM_EXPORT Platform {
// runs during Chromium's build step).
virtual bool IsTakingV8ContextSnapshot() { return false; }
@ -44,10 +44,10 @@ index a2fbf84747aa..8ab120155ccd 100644
.Top()
.GetSecurityContext()
diff --git third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
index 6a9b05fd9c3b..fe63dffe5f92 100644
index 5494706514d7..6663b2edd897 100644
--- third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
+++ third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
@@ -325,6 +325,8 @@ WebDevToolsAgentImpl::Session::Session(
@@ -324,6 +324,8 @@ WebDevToolsAgentImpl::Session::Session(
&WebDevToolsAgentImpl::Session::Detach, WrapWeakPersistent(this)));
InitializeInspectorSession(reattach_state);
@ -56,7 +56,7 @@ index 6a9b05fd9c3b..fe63dffe5f92 100644
}
WebDevToolsAgentImpl::Session::~Session() {
@@ -350,6 +352,7 @@ void WebDevToolsAgentImpl::Session::Detach() {
@@ -349,6 +351,7 @@ void WebDevToolsAgentImpl::Session::Detach() {
io_session_->DeleteSoon();
io_session_ = nullptr;
inspector_session_->Dispose();
@ -65,10 +65,10 @@ index 6a9b05fd9c3b..fe63dffe5f92 100644
void WebDevToolsAgentImpl::Session::SendProtocolResponse(int session_id,
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 11508d7b0d15..2f43b4dca085 100644
index a0aa62ce4632..7d6ebb8b3ee5 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1256,7 +1256,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
@@ -1250,7 +1250,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@ -78,20 +78,20 @@ index 11508d7b0d15..2f43b4dca085 100644
}
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index b7fef98a016e..b658d51f80a0 100644
index c22147fa70b0..f222dcb0820e 100644
--- third_party/blink/renderer/core/page/page.cc
+++ third_party/blink/renderer/core/page/page.cc
@@ -163,7 +163,8 @@ Page::Page(PageClients& page_clients)
@@ -162,7 +162,8 @@ Page::Page(PageClients& page_clients)
visual_viewport_(VisualViewport::Create(*this)),
overscroll_controller_(
OverscrollController::Create(GetVisualViewport(), GetChromeClient())),
link_highlights_(LinkHighlights::Create(*this)),
main_frame_(nullptr),
- plugin_data_(nullptr),
+ plugin_data_main_frame_(nullptr),
+ plugin_data_sub_frame_(nullptr),
use_counter_(page_clients.chrome_client &&
page_clients.chrome_client->IsSVGImageChromeClient()
? UseCounter::kSVGImageContext
@@ -332,21 +333,40 @@ void Page::InitialStyleChanged() {
opened_by_dom_(false),
tab_key_cycles_through_elements_(true),
paused_(false),
@@ -324,21 +325,40 @@ void Page::InitialStyleChanged() {
}
}
@ -141,21 +141,21 @@ index b7fef98a016e..b658d51f80a0 100644
page->NotifyPluginsChanged();
}
}
@@ -733,7 +753,8 @@ void Page::Trace(blink::Visitor* visitor) {
@@ -726,7 +746,8 @@ void Page::Trace(blink::Visitor* visitor) {
visitor->Trace(visual_viewport_);
visitor->Trace(overscroll_controller_);
visitor->Trace(link_highlights_);
visitor->Trace(main_frame_);
- visitor->Trace(plugin_data_);
+ visitor->Trace(plugin_data_main_frame_);
+ visitor->Trace(plugin_data_sub_frame_);
visitor->Trace(validation_message_client_);
visitor->Trace(use_counter_);
visitor->Trace(plugins_changed_observers_);
visitor->Trace(next_related_page_);
diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h
index 06804a1dd062..0d7e84c5530b 100644
index c2cc3cceb57c..1b3dcd6052f0 100644
--- third_party/blink/renderer/core/page/page.h
+++ third_party/blink/renderer/core/page/page.h
@@ -139,7 +139,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
@@ -137,7 +137,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
ViewportDescription GetViewportDescription() const;
// Returns the plugin data associated with |main_frame_origin|.
@ -165,9 +165,9 @@ index 06804a1dd062..0d7e84c5530b 100644
// Resets the plugin data for all pages in the renderer process and notifies
// PluginsChangedObservers.
@@ -370,7 +371,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
// longer needed.
Member<Frame> main_frame_;
@@ -364,7 +365,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
const Member<VisualViewport> visual_viewport_;
const Member<OverscrollController> overscroll_controller_;
- Member<PluginData> plugin_data_;
+ Member<PluginData> plugin_data_main_frame_;

View File

@ -20,7 +20,7 @@ index f4cbe0e0e245..eaabea055764 100644
// Call these methods before and after running a nested, modal event loop
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 789ba3b847d5..612b1a23ebe4 100644
index 355d0393070c..7c0d32c6d237 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -242,8 +242,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -48,10 +48,10 @@ index 789ba3b847d5..612b1a23ebe4 100644
suppress_next_keypress_event_(false),
ime_accept_events_(true),
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index a47150a8df45..3c5ee6d2e723 100644
index f35cbf267757..39b276fb65ba 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -103,7 +103,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -104,7 +104,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
static HashSet<WebViewImpl*>& AllInstances();
// Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default).
@ -61,7 +61,7 @@ index a47150a8df45..3c5ee6d2e723 100644
// WebWidget methods:
void Close() override;
@@ -246,7 +247,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -247,7 +248,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
HitTestResult CoreHitTestResultAt(const WebPoint&);
void InvalidateRect(const IntRect&);
@ -70,7 +70,7 @@ index a47150a8df45..3c5ee6d2e723 100644
void SetBaseBackgroundColorOverride(SkColor);
void ClearBaseBackgroundColorOverride();
void SetBackgroundColorOverride(SkColor);
@@ -602,6 +603,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -612,6 +613,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_;
bool fake_page_scale_animation_use_anchor_;
@ -80,10 +80,10 @@ index a47150a8df45..3c5ee6d2e723 100644
TransformationMatrix device_emulation_transform_;
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
index b46bc592ebfb..b7a95ed26456 100644
index e8dffb24f6f9..beadd792985b 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -779,7 +779,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
@@ -807,7 +807,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();

View File

@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index e56441af0106..832eb5a99c28 100644
index 91c0cc979f0e..1945f8843707 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4474,7 +4474,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4483,7 +4483,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
</message>
</if>
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">

View File

@ -1,8 +1,8 @@
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
index 31edb20931f1..eb9c43e69ec0 100644
index be4d747ae8cc..a32cbbaf4630 100644
--- services/service_manager/sandbox/win/sandbox_win.cc
+++ services/service_manager/sandbox/win/sandbox_win.cc
@@ -882,8 +882,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
@@ -883,8 +883,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
#endif
// Post-startup mitigations.