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 737a7c39bf135ad19e74a3757aacde4b90554b48..021069c15f9a633ce68c4deda2a2dd21ece1e24d 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -20,6 +20,7 @@ |
| #include "base/path_service.h" |
| #include "base/process_util.h" |
| #include "base/string_piece.h" |
| +#include "base/string_number_conversions.h" |
| #include "base/string_split.h" |
| #include "base/string_util.h" |
| #include "base/sys_string_conversions.h" |
| @@ -527,6 +528,15 @@ RenderViewImpl::RenderViewImpl( |
| if (command_line.HasSwitch(switches::kDomAutomationController)) |
| enabled_bindings_ |= content::BINDINGS_POLICY_DOM_AUTOMATION; |
| + bool enable_fixed_layout = |
| + command_line.HasSwitch(switches::kEnableFixedLayout); |
| + webview()->enableFixedLayoutMode(enable_fixed_layout); |
| + if (enable_fixed_layout) |
| + webview()->settings()->setFixedElementsLayoutRelativeToFrame(true); |
| + base::StringToInt(command_line.GetSwitchValueASCII( |
| + switches::kDefaultDeviceScaleFactor), |
| + &default_device_scale_factor_); |
| + |
| content::GetContentClient()->renderer()->RenderViewCreated(this); |
| } |
| @@ -3377,6 +3387,10 @@ WebPreferences& RenderViewImpl::GetWebkitPreferences() { |
| return webkit_preferences_; |
| } |
| +int RenderViewImpl::GetDefaultDeviceScaleFactor() const { |
|
darin (slow to review)
2012/02/17 00:47:41
until we have a consumer for this method, how abou
|
| + return default_device_scale_factor_; |
| +} |
| + |
| WebKit::WebView* RenderViewImpl::GetWebView() { |
| return webview(); |
| } |
| @@ -4367,6 +4381,10 @@ void RenderViewImpl::OnResize(const gfx::Size& new_size, |
| const gfx::Rect& resizer_rect, |
| bool is_fullscreen) { |
| if (webview()) { |
| + // This setting has no effect if fixed layout is not enabled. |
| + if (default_device_scale_factor_) |
| + webview()->settings()->setLayoutFallbackWidth( |
| + new_size.width() / default_device_scale_factor_); |
| webview()->hidePopups(); |
| if (send_preferred_size_changes_) { |
| webview()->mainFrame()->setCanHaveScrollbars( |