Commit 92a17fb7 authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Chromium LUCI CQ

Convert AwViewHostMsg_OnContentsSizeChanged to Mojo

This CL migrates AwViewHostMsg_OnContentsSizeChanged
to FrameHost interface. This CL uses AssociatedRemote
to keep the message order.

OnMessageReceived() is removed because AwRenderViewHostExt
doesn't handle IPC message anymore.

Bug: 1157128
Change-Id: If1e6132ac4c99cb1f1f7ee484a424ba5cc3a75a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2592269Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarJeremy Roman <jbroman@chromium.org>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#837870}
parent e01f2ab2
......@@ -145,20 +145,6 @@ void AwRenderViewHostExt::OnPageScaleFactorChanged(float page_scale_factor) {
client_->OnWebLayoutPageScaleFactorChanged(page_scale_factor);
}
bool AwRenderViewHostExt::OnMessageReceived(
const IPC::Message& message,
content::RenderFrameHost* render_frame_host) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(AwRenderViewHostExt, message,
render_frame_host)
IPC_MESSAGE_HANDLER(AwViewHostMsg_OnContentsSizeChanged,
OnContentsSizeChanged)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
void AwRenderViewHostExt::UpdateHitTestData(
mojom::HitTestDataPtr hit_test_data) {
content::RenderFrameHost* main_frame_host =
......@@ -176,9 +162,10 @@ void AwRenderViewHostExt::UpdateHitTestData(
has_new_hit_test_data_ = true;
}
void AwRenderViewHostExt::OnContentsSizeChanged(
content::RenderFrameHost* render_frame_host,
const gfx::Size& contents_size) {
void AwRenderViewHostExt::ContentsSizeChanged(const gfx::Size& contents_size) {
content::RenderFrameHost* render_frame_host =
frame_host_receivers_.GetCurrentTargetFrame();
// Only makes sense coming from the main frame of the current frame tree.
if (render_frame_host != web_contents()->GetMainFrame())
return;
......
......@@ -84,15 +84,11 @@ class AwRenderViewHostExt : public content::WebContentsObserver,
void DidFinishNavigation(
content::NavigationHandle* navigation_handle) override;
void OnPageScaleFactorChanged(float page_scale_factor) override;
bool OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* render_frame_host) override;
// mojom::FrameHost overrides:
void UpdateHitTestData(
android_webview::mojom::HitTestDataPtr hit_test_data) override;
void OnContentsSizeChanged(content::RenderFrameHost* render_frame_host,
const gfx::Size& contents_size);
void ContentsSizeChanged(const gfx::Size& contents_size) override;
bool IsRenderViewReady() const;
......
......@@ -119,4 +119,7 @@ interface FrameHost {
// Response to AwViewMsg_DoHitTest.
UpdateHitTestData(HitTestData data);
// Calls whenever the contents size (as seen by RenderView) is changed.
ContentsSizeChanged(gfx.mojom.Size contents_size);
};
......@@ -24,10 +24,6 @@
// RenderView messages
// These are messages sent from the renderer to the browser process.
// Sent whenever the contents size (as seen by RenderView) is changed.
IPC_MESSAGE_ROUTED1(AwViewHostMsg_OnContentsSizeChanged,
gfx::Size /* contents_size */)
// Sent immediately before a top level navigation is initiated within Blink.
// There are some exlusions, the most important ones are it is not sent
// when creating a popup window, and not sent for application initiated
......
......@@ -3,9 +3,11 @@
// found in the LICENSE file.
#include "android_webview/renderer/aw_render_view_ext.h"
#include "android_webview/common/mojom/frame.mojom.h"
#include "android_webview/common/render_view_messages.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_view.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/public/web/web_view.h"
......@@ -66,8 +68,11 @@ void AwRenderViewExt::UpdateContentsSize() {
return;
last_sent_contents_size_ = contents_size;
main_render_frame->Send(new AwViewHostMsg_OnContentsSizeChanged(
main_render_frame->GetRoutingID(), contents_size));
mojo::AssociatedRemote<mojom::FrameHost> frame_host_remote;
main_render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
&frame_host_remote);
frame_host_remote->ContentsSizeChanged(contents_size);
}
} // namespace android_webview
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment