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 "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1082 int32 routing_id, | 1082 int32 routing_id, |
1083 int32 main_frame_routing_id, | 1083 int32 main_frame_routing_id, |
1084 int32 surface_id, | 1084 int32 surface_id, |
1085 int64 session_storage_namespace_id, | 1085 int64 session_storage_namespace_id, |
1086 const base::string16& frame_name, | 1086 const base::string16& frame_name, |
1087 bool is_renderer_created, | 1087 bool is_renderer_created, |
1088 bool swapped_out, | 1088 bool swapped_out, |
1089 bool hidden, | 1089 bool hidden, |
1090 int32 next_page_id, | 1090 int32 next_page_id, |
1091 const blink::WebScreenInfo& screen_info, | 1091 const blink::WebScreenInfo& screen_info, |
1092 AccessibilityMode accessibility_mode, | 1092 unsigned int accessibility_mode, |
1093 bool allow_partial_swap) { | 1093 bool allow_partial_swap) { |
1094 DCHECK(routing_id != MSG_ROUTING_NONE); | 1094 DCHECK(routing_id != MSG_ROUTING_NONE); |
1095 RenderViewImplParams params( | 1095 RenderViewImplParams params( |
1096 opener_id, | 1096 opener_id, |
1097 renderer_prefs, | 1097 renderer_prefs, |
1098 webkit_prefs, | 1098 webkit_prefs, |
1099 routing_id, | 1099 routing_id, |
1100 main_frame_routing_id, | 1100 main_frame_routing_id, |
1101 surface_id, | 1101 surface_id, |
1102 session_storage_namespace_id, | 1102 session_storage_namespace_id, |
(...skipping 4177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5280 | 5280 |
5281 void RenderViewImpl::OnSetBackground(const SkBitmap& background) { | 5281 void RenderViewImpl::OnSetBackground(const SkBitmap& background) { |
5282 if (webview()) | 5282 if (webview()) |
5283 webview()->setIsTransparent(!background.empty()); | 5283 webview()->setIsTransparent(!background.empty()); |
5284 if (compositor_) | 5284 if (compositor_) |
5285 compositor_->setHasTransparentBackground(!background.empty()); | 5285 compositor_->setHasTransparentBackground(!background.empty()); |
5286 | 5286 |
5287 SetBackground(background); | 5287 SetBackground(background); |
5288 } | 5288 } |
5289 | 5289 |
5290 void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) { | 5290 void RenderViewImpl::OnSetAccessibilityMode(unsigned int new_mode) { |
5291 if (accessibility_mode_ == new_mode) | 5291 if (accessibility_mode_ == new_mode) |
5292 return; | 5292 return; |
5293 accessibility_mode_ = new_mode; | 5293 accessibility_mode_ = new_mode; |
5294 if (renderer_accessibility_) { | 5294 if (renderer_accessibility_) { |
5295 delete renderer_accessibility_; | 5295 delete renderer_accessibility_; |
5296 renderer_accessibility_ = NULL; | 5296 renderer_accessibility_ = NULL; |
5297 } | 5297 } |
5298 if (accessibility_mode_ == AccessibilityModeComplete) | 5298 if (!(accessibility_mode_ & AccessibilityModeFlagRenderer)) |
5299 return; | |
David Tseng
2014/02/04 20:25:51
What about editable text only? This leads me to be
aboxhall
2014/02/05 16:02:47
Ok, I think it'll be simpler if I go back to what
| |
5300 | |
5301 if (!(accessibility_mode_ & AccessibilityModeFlagEditableTextOnly)) | |
5299 renderer_accessibility_ = new RendererAccessibilityComplete(this); | 5302 renderer_accessibility_ = new RendererAccessibilityComplete(this); |
5300 #if !defined(OS_ANDROID) | 5303 #if !defined(OS_ANDROID) |
5301 else if (accessibility_mode_ == AccessibilityModeEditableTextOnly) | 5304 else if (accessibility_mode_ & AccessibilityModeFlagEditableTextOnly) |
5302 renderer_accessibility_ = new RendererAccessibilityFocusOnly(this); | 5305 renderer_accessibility_ = new RendererAccessibilityFocusOnly(this); |
5303 #endif | 5306 #endif |
5304 } | 5307 } |
5305 | 5308 |
5306 void RenderViewImpl::OnSetActive(bool active) { | 5309 void RenderViewImpl::OnSetActive(bool active) { |
5307 if (webview()) | 5310 if (webview()) |
5308 webview()->setIsActive(active); | 5311 webview()->setIsActive(active); |
5309 | 5312 |
5310 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX) | 5313 #if defined(ENABLE_PLUGINS) && defined(OS_MACOSX) |
5311 std::set<WebPluginDelegateProxy*>::iterator plugin_it; | 5314 std::set<WebPluginDelegateProxy*>::iterator plugin_it; |
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6081 if (main_frame && main_frame->opener()) | 6084 if (main_frame && main_frame->opener()) |
6082 main_frame->setOpener(NULL); | 6085 main_frame->setOpener(NULL); |
6083 } | 6086 } |
6084 | 6087 |
6085 #if defined(OS_ANDROID) | 6088 #if defined(OS_ANDROID) |
6086 bool RenderViewImpl::didTapMultipleTargets( | 6089 bool RenderViewImpl::didTapMultipleTargets( |
6087 const blink::WebGestureEvent& event, | 6090 const blink::WebGestureEvent& event, |
6088 const WebVector<WebRect>& target_rects) { | 6091 const WebVector<WebRect>& target_rects) { |
6089 // Never show a disambiguation popup when accessibility is enabled, | 6092 // Never show a disambiguation popup when accessibility is enabled, |
6090 // as this interferes with "touch exploration". | 6093 // as this interferes with "touch exploration". |
6091 if (accessibility_mode_ == AccessibilityModeComplete) | 6094 bool matchesAccessibilityModeComplete = |
6095 accessibility_mode_ & AccessibilityModeComplete; | |
6096 bool hasEditableTextOnlyFlag = | |
6097 accessibility_mode_ & AccessibilityModeFlagEditableTextOnly; | |
6098 if (matchesAccessibilityModeComplete && !hasEditableTextOnlyFlag) | |
6092 return false; | 6099 return false; |
6093 | 6100 |
6094 gfx::Rect finger_rect( | 6101 gfx::Rect finger_rect( |
6095 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, | 6102 event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, |
6096 event.data.tap.width, event.data.tap.height); | 6103 event.data.tap.width, event.data.tap.height); |
6097 gfx::Rect zoom_rect; | 6104 gfx::Rect zoom_rect; |
6098 float new_total_scale = | 6105 float new_total_scale = |
6099 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor( | 6106 DisambiguationPopupHelper::ComputeZoomAreaAndScaleFactor( |
6100 finger_rect, target_rects, GetSize(), | 6107 finger_rect, target_rects, GetSize(), |
6101 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(), | 6108 gfx::Rect(webview()->mainFrame()->visibleContentRect()).size(), |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6241 for (size_t i = 0; i < icon_urls.size(); i++) { | 6248 for (size_t i = 0; i < icon_urls.size(); i++) { |
6242 WebURL url = icon_urls[i].iconURL(); | 6249 WebURL url = icon_urls[i].iconURL(); |
6243 if (!url.isEmpty()) | 6250 if (!url.isEmpty()) |
6244 urls.push_back(FaviconURL(url, | 6251 urls.push_back(FaviconURL(url, |
6245 ToFaviconType(icon_urls[i].iconType()))); | 6252 ToFaviconType(icon_urls[i].iconType()))); |
6246 } | 6253 } |
6247 SendUpdateFaviconURL(urls); | 6254 SendUpdateFaviconURL(urls); |
6248 } | 6255 } |
6249 | 6256 |
6250 } // namespace content | 6257 } // namespace content |
OLD | NEW |