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( |