summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/renderer/render_view_impl.cc29
-rw-r--r--content/renderer/render_view_impl.h3
2 files changed, 19 insertions, 13 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index a5d1e98..c8d35b7 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1746,6 +1746,20 @@ void RenderViewImpl::focusedNodeChanged(const WebNode& node) {
FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node));
}
+void RenderViewImpl::didUpdateLayout() {
+ // We don't always want to set up a timer, only if we've been put in that
+ // mode by getting a |ViewMsg_EnablePreferredSizeChangedMode|
+ // message.
+ if (!send_preferred_size_changes_ || !webview())
+ return;
+
+ if (check_preferred_size_timer_.IsRunning())
+ return;
+ check_preferred_size_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(0), this,
+ &RenderViewImpl::CheckPreferredSize);
+}
+
void RenderViewImpl::navigateBackForwardSoon(int offset) {
Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset));
}
@@ -2877,17 +2891,7 @@ void RenderViewImpl::willReleaseScriptContext(WebFrame* frame,
}
void RenderViewImpl::didUpdateLayout(WebFrame* frame) {
- // We don't always want to set up a timer, only if we've been put in that
- // mode by getting a |ViewMsg_EnablePreferredSizeChangedMode|
- // message.
- if (!send_preferred_size_changes_ || !webview())
- return;
-
- if (check_preferred_size_timer_.IsRunning())
- return;
- check_preferred_size_timer_.Start(FROM_HERE,
- TimeDelta::FromMilliseconds(0), this,
- &RenderViewImpl::CheckPreferredSize);
+ didUpdateLayout();
}
void RenderViewImpl::CheckPreferredSize() {
@@ -3871,8 +3875,7 @@ void RenderViewImpl::OnEnablePreferredSizeChangedMode() {
// Start off with an initial preferred size notification (in case
// |didUpdateLayout| was already called).
- if (webview())
- didUpdateLayout(webview()->mainFrame());
+ didUpdateLayout();
}
void RenderViewImpl::OnDisableScrollbarsForSmallWindows(
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 7b967e9..ab56088 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -362,6 +362,7 @@ class RenderViewImpl : public RenderWidget,
virtual void focusNext();
virtual void focusPrevious();
virtual void focusedNodeChanged(const WebKit::WebNode& node);
+ virtual void didUpdateLayout();
virtual void navigateBackForwardSoon(int offset);
virtual int historyBackListCount();
virtual int historyForwardListCount();
@@ -495,6 +496,8 @@ class RenderViewImpl : public RenderWidget,
virtual void willReleaseScriptContext(WebKit::WebFrame* frame,
v8::Handle<v8::Context>,
int world_id);
+ // TODO(levin): Remove didUpdateLayout after it is moved from WebFrameClient
+ // to WebViewClient.
virtual void didUpdateLayout(WebKit::WebFrame* frame);
virtual void didChangeScrollOffset(WebKit::WebFrame* frame);
virtual void numberOfWheelEventHandlersChanged(unsigned num_handlers);