Update to Chromium version 105.0.5176.0 (#1023155)

This commit is contained in:
Marshall Greenblatt
2022-07-21 13:26:10 -04:00
parent 5e753d211f
commit e9f29ab3d6
92 changed files with 615 additions and 700 deletions

View File

@@ -71,8 +71,6 @@
#include "content/public/common/content_paths.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/public/renderer/render_view.h"
#include "content/public/renderer/render_view_visitor.h"
#include "extensions/common/manifest_handlers/csp_info.h"
#include "extensions/common/switches.h"
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
@@ -290,7 +288,7 @@ void AlloyContentRendererClient::RenderFrameCreated(
render_manager_->RenderFrameCreated(render_frame, render_frame_observer,
browser_created, is_windowless);
if (browser_created) {
OnBrowserCreated(render_frame->GetRenderView(), is_windowless);
OnBrowserCreated(render_frame->GetWebView(), is_windowless);
}
if (is_windowless.has_value()) {
@@ -306,9 +304,7 @@ void AlloyContentRendererClient::WebViewCreated(blink::WebView* web_view) {
absl::optional<bool> is_windowless;
render_manager_->WebViewCreated(web_view, browser_created, is_windowless);
if (browser_created) {
auto render_view = content::RenderView::FromWebView(web_view);
CHECK(render_view);
OnBrowserCreated(render_view, is_windowless);
OnBrowserCreated(web_view, is_windowless);
}
}
@@ -516,7 +512,7 @@ void AlloyContentRendererClient::WillDestroyCurrentMessageLoop() {
}
void AlloyContentRendererClient::OnBrowserCreated(
content::RenderView* render_view,
blink::WebView* web_view,
absl::optional<bool> is_windowless) {
#if BUILDFLAG(IS_MAC)
const bool windowless = is_windowless.has_value() && *is_windowless;
@@ -525,7 +521,7 @@ void AlloyContentRendererClient::OnBrowserCreated(
// WebKit layer, or if it would be exposed as an WebView instance method; the
// current implementation uses a static variable, and WebKit needs to be
// patched in order to make it work for each WebView instance
render_view->GetWebView()->SetUseExternalPopupMenusThisInstance(!windowless);
web_view->SetUseExternalPopupMenusThisInstance(!windowless);
#endif
}

View File

@@ -119,7 +119,7 @@ class AlloyContentRendererClient
void WillDestroyCurrentMessageLoop() override;
private:
void OnBrowserCreated(content::RenderView* render_view,
void OnBrowserCreated(blink::WebView* web_view,
absl::optional<bool> is_windowless);
// Perform cleanup work for single-process mode.

View File

@@ -17,7 +17,6 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_view.h"
#include "content/renderer/document_state.h"
#include "content/renderer/navigation_state.h"
#include "third_party/blink/public/platform/web_string.h"
@@ -35,7 +34,7 @@
// static
CefRefPtr<CefBrowserImpl> CefBrowserImpl::GetBrowserForView(
content::RenderView* view) {
blink::WebView* view) {
return CefRenderManager::Get()->GetBrowserForView(view);
}
@@ -266,11 +265,11 @@ void CefBrowserImpl::GetFrameNames(std::vector<CefString>& names) {
// CefBrowserImpl public methods.
// -----------------------------------------------------------------------------
CefBrowserImpl::CefBrowserImpl(content::RenderView* render_view,
CefBrowserImpl::CefBrowserImpl(blink::WebView* web_view,
int browser_id,
bool is_popup,
bool is_windowless)
: blink::WebViewObserver(render_view->GetWebView()),
: blink::WebViewObserver(web_view),
browser_id_(browser_id),
is_popup_(is_popup),
is_windowless_(is_windowless) {}

View File

@@ -24,12 +24,9 @@
namespace blink {
class WebFrame;
class WebNode;
class WebView;
} // namespace blink
namespace content {
class RenderView;
}
// Renderer plumbing for CEF features. There is a one-to-one relationship
// between RenderView on the renderer side and RenderViewHost on the browser
// side.
@@ -38,7 +35,7 @@ class RenderView;
class CefBrowserImpl : public CefBrowser, public blink::WebViewObserver {
public:
// Returns the browser associated with the specified RenderView.
static CefRefPtr<CefBrowserImpl> GetBrowserForView(content::RenderView* view);
static CefRefPtr<CefBrowserImpl> GetBrowserForView(blink::WebView* view);
// Returns the browser associated with the specified main WebFrame.
static CefRefPtr<CefBrowserImpl> GetBrowserForMainFrame(
blink::WebFrame* frame);
@@ -66,7 +63,7 @@ class CefBrowserImpl : public CefBrowser, public blink::WebViewObserver {
void GetFrameIdentifiers(std::vector<int64>& identifiers) override;
void GetFrameNames(std::vector<CefString>& names) override;
CefBrowserImpl(content::RenderView* render_view,
CefBrowserImpl(blink::WebView* web_view,
int browser_id,
bool is_popup,
bool is_windowless);

View File

@@ -33,7 +33,6 @@
#include "libcef/renderer/v8_impl.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/renderer/render_view.h"
#include "content/renderer/render_frame_impl.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-blink.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"

View File

@@ -24,7 +24,6 @@
#include "libcef/renderer/v8_impl.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_view.h"
#include "third_party/blink/public/web/blink.h"
#include "third_party/blink/public/web/web_document.h"
#include "third_party/blink/public/web/web_element.h"

View File

@@ -10,7 +10,6 @@
#include "base/logging.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "content/renderer/render_frame_impl.h"
#include "third_party/blink/public/web/web_local_frame.h"

View File

@@ -35,7 +35,6 @@
#include "content/public/common/content_switches.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "extensions/common/switches.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "services/network/public/mojom/cors_origin_pattern.mojom.h"
@@ -56,9 +55,9 @@ CefRenderManager* g_manager = nullptr;
class CefGuestView : public blink::WebViewObserver {
public:
CefGuestView(CefRenderManager* manager,
content::RenderView* render_view,
blink::WebView* web_view,
bool is_windowless)
: blink::WebViewObserver(render_view->GetWebView()),
: blink::WebViewObserver(web_view),
manager_(manager),
is_windowless_(is_windowless) {}
@@ -106,7 +105,7 @@ void CefRenderManager::RenderFrameCreated(
CefRenderFrameObserver* render_frame_observer,
bool& browser_created,
absl::optional<bool>& is_windowless) {
auto browser = MaybeCreateBrowser(render_frame->GetRenderView(), render_frame,
auto browser = MaybeCreateBrowser(render_frame->GetWebView(), render_frame,
&browser_created, &is_windowless);
if (browser) {
// Attach the frame to the observer for message routing purposes.
@@ -118,16 +117,13 @@ void CefRenderManager::RenderFrameCreated(
void CefRenderManager::WebViewCreated(blink::WebView* web_view,
bool& browser_created,
absl::optional<bool>& is_windowless) {
auto render_view = content::RenderView::FromWebView(web_view);
CHECK(render_view);
content::RenderFrame* render_frame = nullptr;
if (web_view->MainFrame()->IsWebLocalFrame()) {
render_frame = content::RenderFrame::FromWebFrame(
web_view->MainFrame()->ToWebLocalFrame());
}
MaybeCreateBrowser(render_view, render_frame, &browser_created,
&is_windowless);
MaybeCreateBrowser(web_view, render_frame, &browser_created, &is_windowless);
}
void CefRenderManager::DevToolsAgentAttached() {
@@ -157,7 +153,7 @@ void CefRenderManager::ExposeInterfacesToBrowser(mojo::BinderMap* binders) {
}
CefRefPtr<CefBrowserImpl> CefRenderManager::GetBrowserForView(
content::RenderView* view) {
blink::WebView* view) {
BrowserMap::const_iterator it = browsers_.find(view);
if (it != browsers_.end())
return it->second;
@@ -282,19 +278,19 @@ void CefRenderManager::WebKitInitialized() {
}
CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
content::RenderView* render_view,
blink::WebView* web_view,
content::RenderFrame* render_frame,
bool* browser_created,
absl::optional<bool>* is_windowless) {
if (browser_created)
*browser_created = false;
if (!render_view || !render_frame)
if (!web_view || !render_frame)
return nullptr;
// Don't create another browser or guest view object if one already exists for
// the view.
auto browser = GetBrowserForView(render_view);
auto browser = GetBrowserForView(web_view);
if (browser) {
if (is_windowless) {
*is_windowless = browser->is_windowless();
@@ -302,7 +298,7 @@ CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
return browser;
}
auto guest_view = GetGuestViewForView(render_view);
auto guest_view = GetGuestViewForView(web_view);
if (guest_view) {
if (is_windowless) {
*is_windowless = guest_view->is_windowless();
@@ -331,14 +327,14 @@ CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
// Don't create a CefBrowser for a PDF renderer, guest view, or if the new
// browser info response has timed out.
guest_views_.insert(std::make_pair(
render_view, std::make_unique<CefGuestView>(this, render_view,
params->is_windowless)));
web_view,
std::make_unique<CefGuestView>(this, web_view, params->is_windowless)));
return nullptr;
}
browser = new CefBrowserImpl(render_view, params->browser_id,
params->is_popup, params->is_windowless);
browsers_.insert(std::make_pair(render_view, browser));
browser = new CefBrowserImpl(web_view, params->browser_id, params->is_popup,
params->is_windowless);
browsers_.insert(std::make_pair(web_view, browser));
// Notify the render process handler.
CefRefPtr<CefApp> application = CefAppManager::Get()->GetApplication();
@@ -378,7 +374,7 @@ void CefRenderManager::OnBrowserDestroyed(CefBrowserImpl* browser) {
NOTREACHED();
}
CefGuestView* CefRenderManager::GetGuestViewForView(content::RenderView* view) {
CefGuestView* CefRenderManager::GetGuestViewForView(blink::WebView* view) {
CEF_REQUIRE_RT_RETURN(nullptr);
GuestViewMap::const_iterator it = guest_views_.find(view);

View File

@@ -24,7 +24,6 @@ class WebView;
namespace content {
class RenderFrame;
class RenderView;
} // namespace content
namespace mojo {
@@ -63,7 +62,7 @@ class CefRenderManager : public cef::mojom::RenderManager {
void ExposeInterfacesToBrowser(mojo::BinderMap* binders);
// Returns the browser associated with the specified RenderView.
CefRefPtr<CefBrowserImpl> GetBrowserForView(content::RenderView* view);
CefRefPtr<CefBrowserImpl> GetBrowserForView(blink::WebView* view);
// Returns the browser associated with the specified main WebFrame.
CefRefPtr<CefBrowserImpl> GetBrowserForMainFrame(blink::WebFrame* frame);
@@ -95,7 +94,7 @@ class CefRenderManager : public cef::mojom::RenderManager {
// Maybe create a new browser object, return the existing one, or return
// nullptr for guest views.
CefRefPtr<CefBrowserImpl> MaybeCreateBrowser(
content::RenderView* render_view,
blink::WebView* web_view,
content::RenderFrame* render_frame,
bool* browser_created,
absl::optional<bool>* is_windowless);
@@ -104,18 +103,17 @@ class CefRenderManager : public cef::mojom::RenderManager {
void OnBrowserDestroyed(CefBrowserImpl* browser);
// Returns the guest view associated with the specified RenderView if any.
CefGuestView* GetGuestViewForView(content::RenderView* view);
CefGuestView* GetGuestViewForView(blink::WebView* view);
// Called from CefGuestView::OnDestruct().
void OnGuestViewDestroyed(CefGuestView* guest_view);
// Map of RenderView pointers to CefBrowserImpl references.
using BrowserMap = std::map<content::RenderView*, CefRefPtr<CefBrowserImpl>>;
using BrowserMap = std::map<blink::WebView*, CefRefPtr<CefBrowserImpl>>;
BrowserMap browsers_;
// Map of RenderView poiners to CefGuestView implementations.
using GuestViewMap =
std::map<content::RenderView*, std::unique_ptr<CefGuestView>>;
using GuestViewMap = std::map<blink::WebView*, std::unique_ptr<CefGuestView>>;
GuestViewMap guest_views_;
// Cross-origin white list entries that need to be registered with WebKit.