Revert "Convert FrameMsg_SetWebUIProperty and FrameHostMsg_WebUISend to mojo interfaces"
This reverts commit ce44dc33d57a7a53e59942eb67f9b91af96e28fc.
Reason for revert: This change have introduced 4% flakiness for OOBE tests.
Investigation showed that when system is under heavy load chrome.send signal from JS to C++ side is sometimes lost. See issue 1082670 for full details.
Bug: 1082670
Bug: 1041074
Original change's description:
> Convert FrameMsg_SetWebUIProperty and FrameHostMsg_WebUISend to mojo interfaces
>
> This CL converts FrameMsg_SetWebUIProperty to WebUI mojo interface
> and FrameHostMsg_WebUISend to WebUIHost mojo interface, and
> introduces those mojo interfaces newly.
>
> Bug: 1041074
> Change-Id: Ifd47bca7b919647bd7163758826537f7d201dc85
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2097795
> Reviewed-by: Roman Sorokin [CET] <[email protected]>
> Reviewed-by: Alexander Alekseev <[email protected]>
> Reviewed-by: Dave Tapuska <[email protected]>
> Reviewed-by: Kinuko Yasuda <[email protected]>
> Reviewed-by: Kentaro Hara <[email protected]>
> Commit-Queue: Miyoung Shin <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#768092}
[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 1041074
Change-Id: Ieafc857ade2e310f2282919fe35974d52483ea49
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207211
Reviewed-by: Denis Kuznetsov [CET] <[email protected]>
Commit-Queue: Denis Kuznetsov [CET] <[email protected]>
Cr-Commit-Position: refs/heads/master@{#769702}
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 47a502e..2ef4d37 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -909,6 +909,12 @@
bool WebContentsImpl::OnMessageReceived(RenderFrameHostImpl* render_frame_host,
const IPC::Message& message) {
+ {
+ WebUIImpl* web_ui = render_frame_host->web_ui();
+ if (web_ui && web_ui->OnMessageReceived(message, render_frame_host))
+ return true;
+ }
+
for (auto& observer : observers_) {
if (observer.OnMessageReceived(message, render_frame_host))
return true;
@@ -6517,9 +6523,8 @@
}
std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost(
- const GURL& url,
- RenderFrameHost* frame_host) {
- return CreateWebUI(url, frame_host);
+ const GURL& url) {
+ return CreateWebUI(url);
}
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
@@ -6772,11 +6777,8 @@
delegate_->UpdatePreferredSize(this, new_size);
}
-std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUI(
- const GURL& url,
- RenderFrameHost* frame_host) {
- std::unique_ptr<WebUIImpl> web_ui =
- std::make_unique<WebUIImpl>(this, frame_host);
+std::unique_ptr<WebUIImpl> WebContentsImpl::CreateWebUI(const GURL& url) {
+ std::unique_ptr<WebUIImpl> web_ui = std::make_unique<WebUIImpl>(this);
std::unique_ptr<WebUIController> controller(
WebUIControllerFactoryRegistry::GetInstance()
->CreateWebUIControllerForURL(web_ui.get(), url));