Remove RenderViewImpl::GetFocusedElement.
R=esprehn,enne
BUG=612570
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review-Url: https://codereview.chromium.org/1990553002
Cr-Commit-Position: refs/heads/master@{#395166}
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
index 5d5a155..6304815d 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -657,6 +657,10 @@
duration);
}
+bool RenderWidgetCompositor::hasPendingPageScaleAnimation() const {
+ return layer_tree_host_->HasPendingPageScaleAnimation();
+}
+
void RenderWidgetCompositor::heuristicsForGpuRasterizationUpdated(
bool matches_heuristics) {
layer_tree_host_->SetHasGpuRasterizationTrigger(matches_heuristics);
diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h
index 3b8637e..ef553c5c 100644
--- a/content/renderer/gpu/render_widget_compositor.h
+++ b/content/renderer/gpu/render_widget_compositor.h
@@ -116,6 +116,7 @@
bool use_anchor,
float new_page_scale,
double duration_sec) override;
+ bool hasPendingPageScaleAnimation() const override;
void heuristicsForGpuRasterizationUpdated(bool matches_heuristics) override;
void setNeedsAnimate() override;
void setNeedsBeginFrame() override;
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 71c52a3..145ca56f 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1406,15 +1406,12 @@
return;
}
- blink::WebElement element = GetFocusedElement();
- bool will_animate = false;
- if (!element.isNull() && element.isEditable()) {
- rect_for_scrolled_focused_editable_node_ = rect;
- has_scrolled_focused_editable_node_into_rect_ = true;
- will_animate = webview()->scrollFocusedNodeIntoRect(rect);
- }
+ if (!webview()->scrollFocusedEditableElementIntoRect(rect))
+ return;
- if (!will_animate)
+ rect_for_scrolled_focused_editable_node_ = rect;
+ has_scrolled_focused_editable_node_into_rect_ = true;
+ if (!compositor()->hasPendingPageScaleAnimation())
GetWidget()->FocusChangeComplete();
}
@@ -2323,19 +2320,6 @@
main_render_frame_->didStopLoading();
}
-blink::WebElement RenderViewImpl::GetFocusedElement() const {
- if (!webview())
- return WebElement();
- WebFrame* focused_frame = webview()->focusedFrame();
- if (focused_frame) {
- WebDocument doc = focused_frame->document();
- if (!doc.isNull())
- return doc.focusedElement();
- }
-
- return WebElement();
-}
-
void RenderViewImpl::OnSetPageScale(float page_scale_factor) {
if (!webview())
return;
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 3d51a93a..755d63ab 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -689,9 +689,6 @@
// Check whether the preferred size has changed.
void CheckPreferredSize();
- // Gets the currently focused element, if any.
- blink::WebElement GetFocusedElement() const;
-
#if defined(OS_ANDROID)
// Launch an Android content intent with the given URL.
void LaunchAndroidContentIntent(const GURL& intent_url,