Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index 955c5f86ba4292e4b75cfb6661c29e5ff12caee5..b0aac9e20bce07a8b3a2b62c63c1c90b1da5e619 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -651,6 +651,7 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
| IPC_MESSAGE_HANDLER(ViewMsg_SetBackground, OnSetBackground) |
| IPC_MESSAGE_HANDLER(ViewMsg_EnablePreferredSizeChangedMode, |
| OnEnablePreferredSizeChangedMode) |
| + IPC_MESSAGE_HANDLER(ViewMsg_EnableAutoResize, OnEnableAutoResize) |
| IPC_MESSAGE_HANDLER(ViewMsg_DisableScrollbarsForSmallWindows, |
| OnDisableScrollbarsForSmallWindows) |
| IPC_MESSAGE_HANDLER(ViewMsg_SetRendererPrefs, OnSetRendererPrefs) |
| @@ -1743,6 +1744,25 @@ void RenderViewImpl::focusedNodeChanged(const WebNode& node) { |
| FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node)); |
| } |
| +void RenderViewImpl::autoSizeChanged(const WebSize& new_size) { |
| + Send(new ViewHostMsg_DidContentsPreferredSizeChange(routing_id_, |
|
darin (slow to review)
2011/11/28 16:53:55
nit: DidChangeContentsPreferredSize or ContentsPre
jennb
2011/11/28 18:02:24
Maybe move the verb right after Did, i.e. DidChang
levin
2011/11/28 18:44:56
I was re-using an existing message (which I think
|
| + new_size)); |
| +} |
| + |
| +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)); |
| } |
| @@ -2851,20 +2871,6 @@ void RenderViewImpl::willReleaseScriptContext(WebFrame* frame, |
| frame, context, world_id); |
| } |
| -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); |
| -} |
| - |
| void RenderViewImpl::CheckPreferredSize() { |
| // We don't always want to send the change messages over IPC, only if we've |
| // been put in that mode by getting a |ViewMsg_EnablePreferredSizeChangedMode| |
| @@ -3820,6 +3826,15 @@ void RenderViewImpl::OnFileChooserResponse(const std::vector<FilePath>& paths) { |
| } |
| } |
| +void RenderViewImpl::OnEnableAutoResize(const gfx::Size& min_size, |
| + const gfx::Size& max_size) { |
| + DCHECK(!send_preferred_size_changes_); |
| + DCHECK(disable_scrollbars_size_limit_.IsEmpty()); |
| + if (!webview()) |
| + return; |
| + webview()->enableAutoSizeMode(true, min_size, max_size); |
| +} |
| + |
| void RenderViewImpl::OnEnablePreferredSizeChangedMode() { |
| if (send_preferred_size_changes_) |
| return; |
| @@ -3828,7 +3843,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( |