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) { ...@@ -82,8 +82,8 @@ void AwRenderViewHostExt::SetTextZoomFactor(float factor) {
void AwRenderViewHostExt::ResetScrollAndScaleState() { void AwRenderViewHostExt::ResetScrollAndScaleState() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
web_contents()->GetMainFrame()->Send(new AwViewMsg_ResetScrollAndScaleState( if (local_main_frame_remote_)
web_contents()->GetMainFrame()->GetRoutingID())); local_main_frame_remote_->ResetScrollAndScaleState();
} }
void AwRenderViewHostExt::SetInitialPageScale(double page_scale_factor) { void AwRenderViewHostExt::SetInitialPageScale(double page_scale_factor) {
......
...@@ -95,6 +95,11 @@ interface LocalMainFrame { ...@@ -95,6 +95,11 @@ interface LocalMainFrame {
// Requests for the renderer to determine if the document contains any image // Requests for the renderer to determine if the document contains any image
// elements. // elements.
DocumentHasImage() => (bool has_images); 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 // Similar to blink::mojom::FrameHost. Implemented in Browser, this
......
...@@ -20,11 +20,6 @@ ...@@ -20,11 +20,6 @@
// RenderView messages // RenderView messages
// These are messages sent from the browser to the renderer process. // 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 // Sets the initial page scale. This overrides initial scale set by
// the meta viewport tag. // the meta viewport tag.
IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale, IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale,
......
...@@ -240,8 +240,6 @@ void AwRenderFrameExt::DidCommitProvisionalLoad( ...@@ -240,8 +240,6 @@ void AwRenderFrameExt::DidCommitProvisionalLoad(
bool AwRenderFrameExt::OnMessageReceived(const IPC::Message& message) { bool AwRenderFrameExt::OnMessageReceived(const IPC::Message& message) {
bool handled = true; bool handled = true;
IPC_BEGIN_MESSAGE_MAP(AwRenderFrameExt, message) IPC_BEGIN_MESSAGE_MAP(AwRenderFrameExt, message)
IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState,
OnResetScrollAndScaleState)
IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale) IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale)
IPC_MESSAGE_HANDLER(AwViewMsg_SmoothScroll, OnSmoothScroll) IPC_MESSAGE_HANDLER(AwViewMsg_SmoothScroll, OnSmoothScroll)
IPC_MESSAGE_UNHANDLED(handled = false) IPC_MESSAGE_UNHANDLED(handled = false)
...@@ -300,14 +298,6 @@ void AwRenderFrameExt::HitTest(const gfx::PointF& touch_center, ...@@ -300,14 +298,6 @@ void AwRenderFrameExt::HitTest(const gfx::PointF& touch_center,
GetFrameHost()->UpdateHitTestData(std::move(data)); GetFrameHost()->UpdateHitTestData(std::move(data));
} }
void AwRenderFrameExt::OnResetScrollAndScaleState() {
blink::WebView* webview = GetWebView();
if (!webview)
return;
webview->ResetScrollAndScaleState();
}
void AwRenderFrameExt::OnSetInitialPageScale(double page_scale_factor) { void AwRenderFrameExt::OnSetInitialPageScale(double page_scale_factor) {
blink::WebView* webview = GetWebView(); blink::WebView* webview = GetWebView();
if (!webview) if (!webview)
...@@ -362,6 +352,14 @@ void AwRenderFrameExt::OnSmoothScroll(int target_x, ...@@ -362,6 +352,14 @@ void AwRenderFrameExt::OnSmoothScroll(int target_x,
webview->SmoothScroll(target_x, target_y, duration); webview->SmoothScroll(target_x, target_y, duration);
} }
void AwRenderFrameExt::ResetScrollAndScaleState() {
blink::WebView* webview = GetWebView();
if (!webview)
return;
webview->ResetScrollAndScaleState();
}
blink::WebView* AwRenderFrameExt::GetWebView() { blink::WebView* AwRenderFrameExt::GetWebView() {
if (!render_frame() || !render_frame()->GetRenderView() || if (!render_frame() || !render_frame()->GetRenderView() ||
!render_frame()->GetRenderView()->GetWebView()) !render_frame()->GetRenderView()->GetWebView())
......
...@@ -48,8 +48,6 @@ class AwRenderFrameExt : public content::RenderFrameObserver, ...@@ -48,8 +48,6 @@ class AwRenderFrameExt : public content::RenderFrameObserver,
void FocusedElementChanged(const blink::WebElement& element) override; void FocusedElementChanged(const blink::WebElement& element) override;
void OnDestruct() override; void OnDestruct() override;
void OnResetScrollAndScaleState();
void OnSetInitialPageScale(double page_scale_factor); void OnSetInitialPageScale(double page_scale_factor);
void OnSmoothScroll(int target_x, int target_y, base::TimeDelta duration); void OnSmoothScroll(int target_x, int target_y, base::TimeDelta duration);
...@@ -60,6 +58,7 @@ class AwRenderFrameExt : public content::RenderFrameObserver, ...@@ -60,6 +58,7 @@ class AwRenderFrameExt : public content::RenderFrameObserver,
void HitTest(const gfx::PointF& touch_center, void HitTest(const gfx::PointF& touch_center,
const gfx::SizeF& touch_area) override; const gfx::SizeF& touch_area) override;
void DocumentHasImage(DocumentHasImageCallback callback) override; void DocumentHasImage(DocumentHasImageCallback callback) override;
void ResetScrollAndScaleState() override;
void BindLocalMainFrame( void BindLocalMainFrame(
mojo::PendingAssociatedReceiver<mojom::LocalMainFrame> pending_receiver); 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