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

Convert AwViewMsg_ResetScrollAndScaleState to Mojo

This CL migrates AwViewMsg_ResetScrollAndScaleState to
LocalMainFrame interface.

Bug: 1157122
Change-Id: I353739146052f471d2f45bbfd7b0d579cd2f0772
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2583588
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836391}
parent cb160a02
......@@ -82,8 +82,8 @@ void AwRenderViewHostExt::SetTextZoomFactor(float factor) {
void AwRenderViewHostExt::ResetScrollAndScaleState() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
web_contents()->GetMainFrame()->Send(new AwViewMsg_ResetScrollAndScaleState(
web_contents()->GetMainFrame()->GetRoutingID()));
if (local_main_frame_remote_)
local_main_frame_remote_->ResetScrollAndScaleState();
}
void AwRenderViewHostExt::SetInitialPageScale(double page_scale_factor) {
......
......@@ -95,6 +95,11 @@ interface LocalMainFrame {
// Requests for the renderer to determine if the document contains any image
// elements.
DocumentHasImage() => (bool has_images);
// Resets Blink WebView scrolling and scale state. We need to call this
// method whenever we want to guarantee that page's scale will be recalculated
// by Blink.
ResetScrollAndScaleState();
};
// Similar to blink::mojom::FrameHost. Implemented in Browser, this
......
......@@ -20,11 +20,6 @@
// RenderView messages
// These are messages sent from the browser to the renderer process.
// Resets WebKit WebView scrolling and scale state. We need to send this
// message whenever we want to guarantee that page's scale will be
// recalculated by WebKit.
IPC_MESSAGE_ROUTED0(AwViewMsg_ResetScrollAndScaleState)
// Sets the initial page scale. This overrides initial scale set by
// the meta viewport tag.
IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale,
......
......@@ -240,8 +240,6 @@ void AwRenderFrameExt::DidCommitProvisionalLoad(
bool AwRenderFrameExt::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(AwRenderFrameExt, message)
IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState,
OnResetScrollAndScaleState)
IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale)
IPC_MESSAGE_HANDLER(AwViewMsg_SmoothScroll, OnSmoothScroll)
IPC_MESSAGE_UNHANDLED(handled = false)
......@@ -300,14 +298,6 @@ void AwRenderFrameExt::HitTest(const gfx::PointF& touch_center,
GetFrameHost()->UpdateHitTestData(std::move(data));
}
void AwRenderFrameExt::OnResetScrollAndScaleState() {
blink::WebView* webview = GetWebView();
if (!webview)
return;
webview->ResetScrollAndScaleState();
}
void AwRenderFrameExt::OnSetInitialPageScale(double page_scale_factor) {
blink::WebView* webview = GetWebView();
if (!webview)
......@@ -362,6 +352,14 @@ void AwRenderFrameExt::OnSmoothScroll(int target_x,
webview->SmoothScroll(target_x, target_y, duration);
}
void AwRenderFrameExt::ResetScrollAndScaleState() {
blink::WebView* webview = GetWebView();
if (!webview)
return;
webview->ResetScrollAndScaleState();
}
blink::WebView* AwRenderFrameExt::GetWebView() {
if (!render_frame() || !render_frame()->GetRenderView() ||
!render_frame()->GetRenderView()->GetWebView())
......
......@@ -48,8 +48,6 @@ class AwRenderFrameExt : public content::RenderFrameObserver,
void FocusedElementChanged(const blink::WebElement& element) override;
void OnDestruct() override;
void OnResetScrollAndScaleState();
void OnSetInitialPageScale(double page_scale_factor);
void OnSmoothScroll(int target_x, int target_y, base::TimeDelta duration);
......@@ -60,6 +58,7 @@ class AwRenderFrameExt : public content::RenderFrameObserver,
void HitTest(const gfx::PointF& touch_center,
const gfx::SizeF& touch_area) override;
void DocumentHasImage(DocumentHasImageCallback callback) override;
void ResetScrollAndScaleState() override;
void BindLocalMainFrame(
mojo::PendingAssociatedReceiver<mojom::LocalMainFrame> pending_receiver);
......
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