diff options
-rw-r--r-- | content/renderer/render_view_impl.cc | 29 | ||||
-rw-r--r-- | content/renderer/render_view_impl.h | 3 |
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); |