Update to Chromium version 90.0.4430.0 (#857950)

- Linux ARM builds require use_vaapi=false (see https://crbug.com/1185348)
- Windows official builds require use_thin_lto=false (see https://crbug.com/1177001)
This commit is contained in:
Marshall Greenblatt
2021-03-04 17:36:57 -05:00
parent 1587d6da03
commit 74db00fc89
134 changed files with 1245 additions and 1204 deletions

View File

@@ -1,53 +1,52 @@
diff --git chrome/browser/extensions/api/streams_private/streams_private_api.cc chrome/browser/extensions/api/streams_private/streams_private_api.cc
index 3ce42bd3bc3c..e5bda4ae4f1f 100644
index 5c903a13a14e..d385c6c0c95c 100644
--- chrome/browser/extensions/api/streams_private/streams_private_api.cc
+++ chrome/browser/extensions/api/streams_private/streams_private_api.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "cef/libcef/features/features.h"
+#include "cef/libcef/features/runtime.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/prefetch/no_state_prefetch/chrome_prerender_contents_delegate.h"
#include "components/no_state_prefetch/browser/prerender_contents.h"
#include "chrome/browser/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
@@ -42,6 +43,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
if (!web_contents)
return;
+#if !BUILDFLAG(ENABLE_CEF)
// If the request was for a prerender, abort the prerender and do not
// continue. This is because plugins cancel prerender, see
+ if (!cef::IsAlloyRuntimeEnabled()) {
// If the request was for NoStatePrefetch, abort the prefetcher and do not
// continue. This is because plugins cancel NoStatePrefetch, see
// http://crbug.com/343590.
@@ -51,6 +53,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
prerender_contents->Destroy(prerender::FINAL_STATUS_DOWNLOAD);
@@ -52,6 +54,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
no_state_prefetch_contents->Destroy(prerender::FINAL_STATUS_DOWNLOAD);
return;
}
+#endif // !BUILDFLAG(ENABLE_CEF)
+ }
auto* browser_context = web_contents->GetBrowserContext();
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 0f588c70627f..a1b9ea21cc72 100644
index b4878f7497df..8a87d04740b7 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -66,11 +66,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -61,11 +61,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
DCHECK(host_type == VIEW_TYPE_EXTENSION_BACKGROUND_PAGE ||
host_type == VIEW_TYPE_EXTENSION_DIALOG ||
host_type == VIEW_TYPE_EXTENSION_POPUP);
- host_contents_ = WebContents::Create(
- WebContents::CreateParams(browser_context_, site_instance)),
- content::WebContentsObserver::Observe(host_contents_.get());
+ host_contents_owned_ = WebContents::Create(
+ WebContents::CreateParams(browser_context_, site_instance));
WebContents::CreateParams(browser_context_, site_instance)),
- content::WebContentsObserver::Observe(host_contents_.get());
+ host_contents_ = host_contents_owned_.get();
+ content::WebContentsObserver::Observe(host_contents_);
host_contents_->SetDelegate(this);
- SetViewType(host_contents_.get(), host_type);
+ SetViewType(host_contents_, host_type);
main_frame_host_ = host_contents_->GetMainFrame();
render_view_host_ = host_contents_->GetRenderViewHost();
@@ -85,6 +86,48 @@ ExtensionHost::ExtensionHost(const Extension* extension,
// Listen for when an extension is unloaded from the same profile, as it may
@@ -79,6 +80,44 @@ ExtensionHost::ExtensionHost(const Extension* extension,
dispatcher()->set_delegate(this);
}
@@ -62,10 +61,6 @@ index 0f588c70627f..a1b9ea21cc72 100644
+ extension_id_(extension->id()),
+ browser_context_(browser_context),
+ host_contents_(host_contents),
+ render_view_host_(nullptr),
+ is_render_view_creation_pending_(false),
+ has_loaded_once_(false),
+ document_element_available_(false),
+ initial_url_(url),
+ extension_host_type_(host_type) {
+ DCHECK(delegate);
@@ -80,7 +75,7 @@ index 0f588c70627f..a1b9ea21cc72 100644
+ content::WebContentsObserver::Observe(host_contents_);
+ SetViewType(host_contents_, host_type);
+
+ render_view_host_ = host_contents_->GetRenderViewHost();
+ main_frame_host_ = host_contents_->GetMainFrame();
+
+ // Listen for when an extension is unloaded from the same profile, as it may
+ // be the same extension that this points to.
@@ -97,10 +92,10 @@ index 0f588c70627f..a1b9ea21cc72 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index 11bfec21cc9f..416de61f85fa 100644
index 59798a628937..2018abb8324b 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -51,13 +51,19 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -52,13 +52,19 @@ class ExtensionHost : public DeferredStartRenderHost,
ExtensionHost(const Extension* extension,
content::SiteInstance* site_instance,
const GURL& url, ViewType host_type);
@@ -118,10 +113,10 @@ index 11bfec21cc9f..416de61f85fa 100644
const std::string& extension_id() const { return extension_id_; }
- content::WebContents* host_contents() const { return host_contents_.get(); }
+ content::WebContents* host_contents() const { return host_contents_; }
content::RenderViewHost* render_view_host() const;
content::RenderFrameHost* main_frame_host() const { return main_frame_host_; }
content::RenderProcessHost* render_process_host() const;
bool has_loaded_once() const { return has_loaded_once_; }
@@ -178,7 +184,8 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -180,7 +186,8 @@ class ExtensionHost : public DeferredStartRenderHost,
content::BrowserContext* browser_context_;
// The host for our HTML content.
@@ -129,8 +124,8 @@ index 11bfec21cc9f..416de61f85fa 100644
+ std::unique_ptr<content::WebContents> host_contents_owned_;
+ content::WebContents* host_contents_;
// A weak pointer to the current or pending RenderViewHost. We don't access
// this through the host_contents because we want to deal with the pending
// A pointer to the current or speculative main frame in `host_contents_`. We
// can't access this frame through the `host_contents_` directly as it does
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index c2d194ec21be..3a7354f648ed 100644
--- extensions/browser/extensions_browser_client.h
@@ -167,10 +162,10 @@ index c2d194ec21be..3a7354f648ed 100644
// once each time the extensions system is loaded per browser_context. The
// implementation may wish to use the BrowserContext to record the current
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
index 337921842180..c78e1d114a12 100644
index 2bc2248ba920..583419786f28 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -395,9 +395,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -389,9 +389,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();
@@ -187,6 +182,6 @@ index 337921842180..c78e1d114a12 100644
+ host = new ExtensionHost(extension, GetSiteInstanceForURL(url).get(), url,
+ VIEW_TYPE_EXTENSION_BACKGROUND_PAGE);
+ }
host->CreateRenderViewSoon();
host->CreateRendererSoon();
OnBackgroundHostCreated(host);
return true;