Index: chrome/renderer/render_view.cc |
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc |
index e1a0dc360884b5378ef71aa924bc30072fc8e422..832914a42569e54f2e1e9cf8c954580301eca0d8 100644 |
--- a/chrome/renderer/render_view.cc |
+++ b/chrome/renderer/render_view.cc |
@@ -3875,13 +3875,21 @@ void RenderView::OnEnableViewSourceMode() { |
main_frame->enableViewSourceMode(true); |
} |
-void RenderView::OnEnablePreferredSizeChangedMode() { |
+void RenderView::OnEnablePreferredSizeChangedMode(int flags) { |
+ DCHECK(flags != kPreferredSizeNothing); |
if (send_preferred_size_changes_) |
return; |
- |
send_preferred_size_changes_ = true; |
- preferred_size_change_timer_.Start(TimeDelta::FromMilliseconds(10), this, |
- &RenderView::CheckPreferredSize); |
+ |
+ // WebKit doesn't send a notification of the effective height of the page |
+ // changes, so poll for it. |
+ // TODO: Add a notification for this to WebKit, remove polling. After that's |
+ // done, rename kPreferredSizeHeightThisIsSlow to kPreferredSizeHeight. |
+ // http://crbug.com/44850 |
+ if (flags & kPreferredSizeHeightThisIsSlow) { |
+ preferred_size_change_timer_.Start(TimeDelta::FromMilliseconds(10), this, |
+ &RenderView::CheckPreferredSize); |
+ } |
} |
void RenderView::OnDisableScrollbarsForSmallWindows( |