Index: android_webview/browser/in_process_view_renderer.cc |
diff --git a/android_webview/browser/in_process_view_renderer.cc b/android_webview/browser/in_process_view_renderer.cc |
index 4cb053a734adfe10b4b61512c5f18078df47958e..87603c69add078eece7046f2019b6a04caf13cb9 100644 |
--- a/android_webview/browser/in_process_view_renderer.cc |
+++ b/android_webview/browser/in_process_view_renderer.cc |
@@ -538,7 +538,11 @@ void InProcessViewRenderer::ScrollTo(gfx::Vector2d new_value) { |
gfx::Vector2dF new_value_css = gfx::ToRoundedVector2d( |
gfx::ScaleVector2d(new_value, 1.0f / (dip_scale_ * page_scale_factor_))); |
- DCHECK(scroll_offset_css_ != new_value_css); |
+ // It's possible that more than one set of unique physical coordinates maps |
+ // to the same set of CSS coordinates which means we can't reliably early-out |
+ // earlier in the call stack. |
+ if (scroll_offset_css_ == new_value_css) |
+ return; |
scroll_offset_css_ = new_value_css; |