Index: android_webview/renderer/aw_render_view_ext.cc |
diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc |
index 14cbb17a9a880b876a4af24abb469dd613fd04cc..e418f2ff676a379305b92f088dd227405a2312f0 100644 |
--- a/android_webview/renderer/aw_render_view_ext.cc |
+++ b/android_webview/renderer/aw_render_view_ext.cc |
@@ -4,6 +4,7 @@ |
#include "android_webview/renderer/aw_render_view_ext.h" |
+#include <limits> |
#include <string> |
#include "android_webview/common/aw_hit_test_data.h" |
@@ -164,6 +165,7 @@ bool AwRenderViewExt::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState, |
OnResetScrollAndScaleState) |
IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale) |
+ IPC_MESSAGE_HANDLER(AwViewMsg_SetAutoResizeMode, OnSetAutoResizeMode) |
IPC_MESSAGE_HANDLER(AwViewMsg_SetBackgroundColor, OnSetBackgroundColor) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
@@ -304,6 +306,18 @@ void AwRenderViewExt::OnSetInitialPageScale(double page_scale_factor) { |
page_scale_factor); |
} |
+void AwRenderViewExt::OnSetAutoResizeMode(bool enable, int width) { |
+ if (!render_view() || !render_view()->GetWebView()) |
+ return; |
+ render_view()->GetWebView()->setForceFixedLayoutSizeToEqualSize(enable); |
+ if (enable) { |
+ render_view()->GetWebView()->enableAutoResizeMode( |
+ gfx::Size(width, 0), gfx::Size(width, std::numeric_limits<int>::max())); |
+ } else { |
+ render_view()->GetWebView()->disableAutoResizeMode(); |
+ } |
+} |
+ |
void AwRenderViewExt::OnSetBackgroundColor(SkColor c) { |
if (!render_view() || !render_view()->GetWebView()) |
return; |