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