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 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
197 #include "webkit/plugins/npapi/webplugin_impl.h" | 197 #include "webkit/plugins/npapi/webplugin_impl.h" |
198 #include "webkit/plugins/ppapi/ppapi_webplugin_impl.h" | 198 #include "webkit/plugins/ppapi/ppapi_webplugin_impl.h" |
199 | 199 |
200 #if defined(OS_ANDROID) | 200 #if defined(OS_ANDROID) |
201 #include "content/common/android/device_info.h" | 201 #include "content/common/android/device_info.h" |
202 #include "content/renderer/android/address_detector.h" | 202 #include "content/renderer/android/address_detector.h" |
203 #include "content/renderer/android/content_detector.h" | 203 #include "content/renderer/android/content_detector.h" |
204 #include "content/renderer/android/email_detector.h" | 204 #include "content/renderer/android/email_detector.h" |
205 #include "content/renderer/android/phone_number_detector.h" | 205 #include "content/renderer/android/phone_number_detector.h" |
206 #include "content/renderer/media/stream_texture_factory_impl_android.h" | 206 #include "content/renderer/media/stream_texture_factory_impl_android.h" |
207 #include "third_party/WebKit/Source/WebKit/chromium/public/android/WebInputEvent Factory.h" | |
207 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHitTestResult.h" | 208 #include "third_party/WebKit/Source/WebKit/chromium/public/WebHitTestResult.h" |
208 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebFloatPoin t.h" | 209 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebFloatPoin t.h" |
209 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebFloatRect .h" | 210 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebFloatRect .h" |
210 #include "ui/gfx/rect_f.h" | 211 #include "ui/gfx/rect_f.h" |
211 #include "webkit/media/android/webmediaplayer_android.h" | 212 #include "webkit/media/android/webmediaplayer_android.h" |
212 #include "webkit/media/android/webmediaplayer_manager_android.h" | 213 #include "webkit/media/android/webmediaplayer_manager_android.h" |
213 #elif defined(OS_WIN) | 214 #elif defined(OS_WIN) |
214 // TODO(port): these files are currently Windows only because they concern: | 215 // TODO(port): these files are currently Windows only because they concern: |
215 // * theming | 216 // * theming |
216 #include "ui/base/native_theme/native_theme_win.h" | 217 #include "ui/base/native_theme/native_theme_win.h" |
(...skipping 26 matching lines...) Expand all Loading... | |
243 using WebKit::WebElement; | 244 using WebKit::WebElement; |
244 using WebKit::WebExternalPopupMenu; | 245 using WebKit::WebExternalPopupMenu; |
245 using WebKit::WebExternalPopupMenuClient; | 246 using WebKit::WebExternalPopupMenuClient; |
246 using WebKit::WebFileChooserCompletion; | 247 using WebKit::WebFileChooserCompletion; |
247 using WebKit::WebFileSystem; | 248 using WebKit::WebFileSystem; |
248 using WebKit::WebFileSystemCallbacks; | 249 using WebKit::WebFileSystemCallbacks; |
249 using WebKit::WebFindOptions; | 250 using WebKit::WebFindOptions; |
250 using WebKit::WebFormControlElement; | 251 using WebKit::WebFormControlElement; |
251 using WebKit::WebFormElement; | 252 using WebKit::WebFormElement; |
252 using WebKit::WebFrame; | 253 using WebKit::WebFrame; |
254 using WebKit::WebGestureEvent; | |
253 using WebKit::WebGraphicsContext3D; | 255 using WebKit::WebGraphicsContext3D; |
254 using WebKit::WebHistoryItem; | 256 using WebKit::WebHistoryItem; |
255 using WebKit::WebHTTPBody; | 257 using WebKit::WebHTTPBody; |
256 using WebKit::WebIconURL; | 258 using WebKit::WebIconURL; |
257 using WebKit::WebImage; | 259 using WebKit::WebImage; |
258 using WebKit::WebInputElement; | 260 using WebKit::WebInputElement; |
261 using WebKit::WebInputEvent; | |
259 using WebKit::WebIntentRequest; | 262 using WebKit::WebIntentRequest; |
260 using WebKit::WebIntentServiceInfo; | 263 using WebKit::WebIntentServiceInfo; |
261 using WebKit::WebMediaPlayer; | 264 using WebKit::WebMediaPlayer; |
262 using WebKit::WebMediaPlayerAction; | 265 using WebKit::WebMediaPlayerAction; |
263 using WebKit::WebMediaPlayerClient; | 266 using WebKit::WebMediaPlayerClient; |
264 using WebKit::WebMouseEvent; | 267 using WebKit::WebMouseEvent; |
265 using WebKit::WebNavigationPolicy; | 268 using WebKit::WebNavigationPolicy; |
266 using WebKit::WebNavigationType; | 269 using WebKit::WebNavigationType; |
267 using WebKit::WebNode; | 270 using WebKit::WebNode; |
268 using WebKit::WebPageSerializer; | 271 using WebKit::WebPageSerializer; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
328 | 331 |
329 #if defined(OS_ANDROID) | 332 #if defined(OS_ANDROID) |
330 using content::AddressDetector; | 333 using content::AddressDetector; |
331 using content::ContentDetector; | 334 using content::ContentDetector; |
332 using content::EmailDetector; | 335 using content::EmailDetector; |
333 using content::PhoneNumberDetector; | 336 using content::PhoneNumberDetector; |
334 using WebKit::WebContentDetectionResult; | 337 using WebKit::WebContentDetectionResult; |
335 using WebKit::WebFloatPoint; | 338 using WebKit::WebFloatPoint; |
336 using WebKit::WebFloatRect; | 339 using WebKit::WebFloatRect; |
337 using WebKit::WebHitTestResult; | 340 using WebKit::WebHitTestResult; |
341 using WebKit::WebInputEventFactory; | |
338 #endif | 342 #endif |
339 | 343 |
340 //----------------------------------------------------------------------------- | 344 //----------------------------------------------------------------------------- |
341 | 345 |
342 typedef std::map<WebKit::WebView*, RenderViewImpl*> ViewMap; | 346 typedef std::map<WebKit::WebView*, RenderViewImpl*> ViewMap; |
343 static base::LazyInstance<ViewMap> g_view_map = LAZY_INSTANCE_INITIALIZER; | 347 static base::LazyInstance<ViewMap> g_view_map = LAZY_INSTANCE_INITIALIZER; |
344 | 348 |
345 // Time, in seconds, we delay before sending content state changes (such as form | 349 // Time, in seconds, we delay before sending content state changes (such as form |
346 // state and scroll position) to the browser. We delay sending changes to avoid | 350 // state and scroll position) to the browser. We delay sending changes to avoid |
347 // spamming the browser. | 351 // spamming the browser. |
(...skipping 1712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2060 // seems safest to not execute the rest. | 2064 // seems safest to not execute the rest. |
2061 if (!frame->executeCommand(WebString::fromUTF8(it->name), | 2065 if (!frame->executeCommand(WebString::fromUTF8(it->name), |
2062 WebString::fromUTF8(it->value))) | 2066 WebString::fromUTF8(it->value))) |
2063 break; | 2067 break; |
2064 did_execute_command = true; | 2068 did_execute_command = true; |
2065 } | 2069 } |
2066 | 2070 |
2067 return did_execute_command; | 2071 return did_execute_command; |
2068 } | 2072 } |
2069 | 2073 |
2074 void RenderViewImpl::didHandleGestureEvent(const WebGestureEvent& event, | |
2075 bool eventSwallowed) { | |
jam
2012/09/20 18:01:22
nit: event_swallowed per style guide (also in head
olilan
2012/09/21 11:23:56
Done.
| |
2076 #if defined(OS_ANDROID) | |
2077 if (event.type == WebInputEvent::GestureTap | |
2078 || event.type == WebInputEvent::GestureLongPress) { | |
jam
2012/09/20 18:01:22
nit: || should be on previous line per style guide
olilan
2012/09/21 11:23:56
Done.
| |
2079 UpdateTextInputState(SHOW_IME_IF_NEEDED); | |
2080 } | |
2081 #endif | |
2082 } | |
2083 | |
2070 WebKit::WebColorChooser* RenderViewImpl::createColorChooser( | 2084 WebKit::WebColorChooser* RenderViewImpl::createColorChooser( |
2071 WebKit::WebColorChooserClient* client, | 2085 WebKit::WebColorChooserClient* client, |
2072 const WebKit::WebColor& initial_color) { | 2086 const WebKit::WebColor& initial_color) { |
2073 RendererWebColorChooserImpl* color_chooser = | 2087 RendererWebColorChooserImpl* color_chooser = |
2074 new RendererWebColorChooserImpl(this, client); | 2088 new RendererWebColorChooserImpl(this, client); |
2075 color_chooser->Open(static_cast<SkColor>(initial_color)); | 2089 color_chooser->Open(static_cast<SkColor>(initial_color)); |
2076 return color_chooser; | 2090 return color_chooser; |
2077 } | 2091 } |
2078 | 2092 |
2079 bool RenderViewImpl::runFileChooser( | 2093 bool RenderViewImpl::runFileChooser( |
(...skipping 3525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5605 (*plugin_it)->SetWindowFocus(true); | 5619 (*plugin_it)->SetWindowFocus(true); |
5606 #endif | 5620 #endif |
5607 (*plugin_it)->SetContentAreaFocus(enable); | 5621 (*plugin_it)->SetContentAreaFocus(enable); |
5608 } | 5622 } |
5609 } | 5623 } |
5610 // Notify all Pepper plugins. | 5624 // Notify all Pepper plugins. |
5611 pepper_delegate_.OnSetFocus(enable); | 5625 pepper_delegate_.OnSetFocus(enable); |
5612 } | 5626 } |
5613 | 5627 |
5614 void RenderViewImpl::PpapiPluginFocusChanged() { | 5628 void RenderViewImpl::PpapiPluginFocusChanged() { |
5615 UpdateTextInputState(); | 5629 UpdateTextInputState(DO_NOT_SHOW_IME); |
5616 UpdateSelectionBounds(); | 5630 UpdateSelectionBounds(); |
5617 } | 5631 } |
5618 | 5632 |
5619 void RenderViewImpl::PpapiPluginTextInputTypeChanged() { | 5633 void RenderViewImpl::PpapiPluginTextInputTypeChanged() { |
5620 UpdateTextInputState(); | 5634 UpdateTextInputState(DO_NOT_SHOW_IME); |
5621 if (renderer_accessibility_) | 5635 if (renderer_accessibility_) |
5622 renderer_accessibility_->FocusedNodeChanged(WebNode()); | 5636 renderer_accessibility_->FocusedNodeChanged(WebNode()); |
5623 } | 5637 } |
5624 | 5638 |
5625 void RenderViewImpl::PpapiPluginCaretPositionChanged() { | 5639 void RenderViewImpl::PpapiPluginCaretPositionChanged() { |
5626 UpdateSelectionBounds(); | 5640 UpdateSelectionBounds(); |
5627 } | 5641 } |
5628 | 5642 |
5629 bool RenderViewImpl::GetPpapiPluginCaretBounds(gfx::Rect* rect) { | 5643 bool RenderViewImpl::GetPpapiPluginCaretBounds(gfx::Rect* rect) { |
5630 if (!pepper_delegate_.IsPluginFocused()) | 5644 if (!pepper_delegate_.IsPluginFocused()) |
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6149 | 6163 |
6150 updating_frame_tree_ = true; | 6164 updating_frame_tree_ = true; |
6151 active_frame_id_map_.clear(); | 6165 active_frame_id_map_.clear(); |
6152 | 6166 |
6153 target_process_id_ = process_id; | 6167 target_process_id_ = process_id; |
6154 target_routing_id_ = route_id; | 6168 target_routing_id_ = route_id; |
6155 CreateFrameTree(webview()->mainFrame(), frames); | 6169 CreateFrameTree(webview()->mainFrame(), frames); |
6156 | 6170 |
6157 updating_frame_tree_ = false; | 6171 updating_frame_tree_ = false; |
6158 } | 6172 } |
OLD | NEW |