OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "android_webview/renderer/aw_render_view_ext.h" | 5 #include "android_webview/renderer/aw_render_view_ext.h" |
6 | 6 |
| 7 #include <limits> |
7 #include <string> | 8 #include <string> |
8 | 9 |
9 #include "android_webview/common/aw_hit_test_data.h" | 10 #include "android_webview/common/aw_hit_test_data.h" |
10 #include "android_webview/common/render_view_messages.h" | 11 #include "android_webview/common/render_view_messages.h" |
11 #include "base/bind.h" | 12 #include "base/bind.h" |
12 #include "base/strings/string_piece.h" | 13 #include "base/strings/string_piece.h" |
13 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
14 #include "content/public/common/url_constants.h" | 15 #include "content/public/common/url_constants.h" |
15 #include "content/public/renderer/android_content_detection_prefixes.h" | 16 #include "content/public/renderer/android_content_detection_prefixes.h" |
16 #include "content/public/renderer/document_state.h" | 17 #include "content/public/renderer/document_state.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 | 158 |
158 bool AwRenderViewExt::OnMessageReceived(const IPC::Message& message) { | 159 bool AwRenderViewExt::OnMessageReceived(const IPC::Message& message) { |
159 bool handled = true; | 160 bool handled = true; |
160 IPC_BEGIN_MESSAGE_MAP(AwRenderViewExt, message) | 161 IPC_BEGIN_MESSAGE_MAP(AwRenderViewExt, message) |
161 IPC_MESSAGE_HANDLER(AwViewMsg_DocumentHasImages, OnDocumentHasImagesRequest) | 162 IPC_MESSAGE_HANDLER(AwViewMsg_DocumentHasImages, OnDocumentHasImagesRequest) |
162 IPC_MESSAGE_HANDLER(AwViewMsg_DoHitTest, OnDoHitTest) | 163 IPC_MESSAGE_HANDLER(AwViewMsg_DoHitTest, OnDoHitTest) |
163 IPC_MESSAGE_HANDLER(AwViewMsg_SetTextZoomLevel, OnSetTextZoomLevel) | 164 IPC_MESSAGE_HANDLER(AwViewMsg_SetTextZoomLevel, OnSetTextZoomLevel) |
164 IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState, | 165 IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState, |
165 OnResetScrollAndScaleState) | 166 OnResetScrollAndScaleState) |
166 IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale) | 167 IPC_MESSAGE_HANDLER(AwViewMsg_SetInitialPageScale, OnSetInitialPageScale) |
| 168 IPC_MESSAGE_HANDLER(AwViewMsg_SetAutoResizeMode, OnSetAutoResizeMode) |
167 IPC_MESSAGE_HANDLER(AwViewMsg_SetBackgroundColor, OnSetBackgroundColor) | 169 IPC_MESSAGE_HANDLER(AwViewMsg_SetBackgroundColor, OnSetBackgroundColor) |
168 IPC_MESSAGE_UNHANDLED(handled = false) | 170 IPC_MESSAGE_UNHANDLED(handled = false) |
169 IPC_END_MESSAGE_MAP() | 171 IPC_END_MESSAGE_MAP() |
170 return handled; | 172 return handled; |
171 } | 173 } |
172 | 174 |
173 void AwRenderViewExt::OnDocumentHasImagesRequest(int id) { | 175 void AwRenderViewExt::OnDocumentHasImagesRequest(int id) { |
174 bool hasImages = false; | 176 bool hasImages = false; |
175 if (render_view()) { | 177 if (render_view()) { |
176 WebKit::WebView* webview = render_view()->GetWebView(); | 178 WebKit::WebView* webview = render_view()->GetWebView(); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 render_view()->GetWebView()->resetScrollAndScaleState(); | 299 render_view()->GetWebView()->resetScrollAndScaleState(); |
298 } | 300 } |
299 | 301 |
300 void AwRenderViewExt::OnSetInitialPageScale(double page_scale_factor) { | 302 void AwRenderViewExt::OnSetInitialPageScale(double page_scale_factor) { |
301 if (!render_view() || !render_view()->GetWebView()) | 303 if (!render_view() || !render_view()->GetWebView()) |
302 return; | 304 return; |
303 render_view()->GetWebView()->setInitialPageScaleOverride( | 305 render_view()->GetWebView()->setInitialPageScaleOverride( |
304 page_scale_factor); | 306 page_scale_factor); |
305 } | 307 } |
306 | 308 |
| 309 void AwRenderViewExt::OnSetAutoResizeMode(bool enable, int width) { |
| 310 if (!render_view() || !render_view()->GetWebView()) |
| 311 return; |
| 312 render_view()->GetWebView()->setForceFixedLayoutSizeToEqualSize(enable); |
| 313 if (enable) { |
| 314 render_view()->GetWebView()->enableAutoResizeMode( |
| 315 gfx::Size(width, 0), gfx::Size(width, std::numeric_limits<int>::max())); |
| 316 } else { |
| 317 render_view()->GetWebView()->disableAutoResizeMode(); |
| 318 } |
| 319 } |
| 320 |
307 void AwRenderViewExt::OnSetBackgroundColor(SkColor c) { | 321 void AwRenderViewExt::OnSetBackgroundColor(SkColor c) { |
308 if (!render_view() || !render_view()->GetWebView()) | 322 if (!render_view() || !render_view()->GetWebView()) |
309 return; | 323 return; |
310 render_view()->GetWebView()->setBaseBackgroundColor(c); | 324 render_view()->GetWebView()->setBaseBackgroundColor(c); |
311 } | 325 } |
312 | 326 |
313 } // namespace android_webview | 327 } // namespace android_webview |
OLD | NEW |