| 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 |