| 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..f8f0cba6f26d4d5ea729e72bfc2df640663f1f45 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);
|
| }
|
|
|
| @@ -4367,6 +4377,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(
|
|
|