| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/renderer/render_view.h" | 5 #include "chrome/renderer/render_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "chrome/common/pepper_plugin_registry.h" | 36 #include "chrome/common/pepper_plugin_registry.h" |
| 37 #include "chrome/common/plugin_group.h" | 37 #include "chrome/common/plugin_group.h" |
| 38 #include "chrome/common/render_messages.h" | 38 #include "chrome/common/render_messages.h" |
| 39 #include "chrome/common/renderer_preferences.h" | 39 #include "chrome/common/renderer_preferences.h" |
| 40 #include "chrome/common/thumbnail_score.h" | 40 #include "chrome/common/thumbnail_score.h" |
| 41 #include "chrome/common/url_constants.h" | 41 #include "chrome/common/url_constants.h" |
| 42 #include "chrome/common/window_container_type.h" | 42 #include "chrome/common/window_container_type.h" |
| 43 #include "chrome/renderer/about_handler.h" | 43 #include "chrome/renderer/about_handler.h" |
| 44 #include "chrome/renderer/audio_message_filter.h" | 44 #include "chrome/renderer/audio_message_filter.h" |
| 45 #include "chrome/renderer/blocked_plugin.h" | 45 #include "chrome/renderer/blocked_plugin.h" |
| 46 #include "chrome/renderer/device_orientation_dispatcher.h" |
| 46 #include "chrome/renderer/devtools_agent.h" | 47 #include "chrome/renderer/devtools_agent.h" |
| 47 #include "chrome/renderer/devtools_client.h" | 48 #include "chrome/renderer/devtools_client.h" |
| 48 #include "chrome/renderer/extension_groups.h" | 49 #include "chrome/renderer/extension_groups.h" |
| 49 #include "chrome/renderer/extensions/event_bindings.h" | 50 #include "chrome/renderer/extensions/event_bindings.h" |
| 50 #include "chrome/renderer/extensions/extension_process_bindings.h" | 51 #include "chrome/renderer/extensions/extension_process_bindings.h" |
| 51 #include "chrome/renderer/extensions/renderer_extension_bindings.h" | 52 #include "chrome/renderer/extensions/renderer_extension_bindings.h" |
| 52 #include "chrome/renderer/geolocation_dispatcher.h" | 53 #include "chrome/renderer/geolocation_dispatcher.h" |
| 53 #include "chrome/renderer/localized_error.h" | 54 #include "chrome/renderer/localized_error.h" |
| 54 #include "chrome/renderer/media/audio_renderer_impl.h" | 55 #include "chrome/renderer/media/audio_renderer_impl.h" |
| 55 #include "chrome/renderer/media/ipc_video_decoder.h" | 56 #include "chrome/renderer/media/ipc_video_decoder.h" |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 if (notification_provider_->OnMessageReceived(message)) | 648 if (notification_provider_->OnMessageReceived(message)) |
| 648 return; | 649 return; |
| 649 if (geolocation_dispatcher_.get() && | 650 if (geolocation_dispatcher_.get() && |
| 650 geolocation_dispatcher_->OnMessageReceived(message)) { | 651 geolocation_dispatcher_->OnMessageReceived(message)) { |
| 651 return; | 652 return; |
| 652 } | 653 } |
| 653 if (speech_input_dispatcher_.get() && | 654 if (speech_input_dispatcher_.get() && |
| 654 speech_input_dispatcher_->OnMessageReceived(message)) { | 655 speech_input_dispatcher_->OnMessageReceived(message)) { |
| 655 return; | 656 return; |
| 656 } | 657 } |
| 658 if (device_orientation_dispatcher_.get() && |
| 659 device_orientation_dispatcher_->OnMessageReceived(message)) { |
| 660 return; |
| 661 } |
| 657 | 662 |
| 658 IPC_BEGIN_MESSAGE_MAP(RenderView, message) | 663 IPC_BEGIN_MESSAGE_MAP(RenderView, message) |
| 659 IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, OnCaptureThumbnail) | 664 IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, OnCaptureThumbnail) |
| 660 IPC_MESSAGE_HANDLER(ViewMsg_CaptureSnapshot, OnCaptureSnapshot) | 665 IPC_MESSAGE_HANDLER(ViewMsg_CaptureSnapshot, OnCaptureSnapshot) |
| 661 IPC_MESSAGE_HANDLER(ViewMsg_PrintPages, OnPrintPages) | 666 IPC_MESSAGE_HANDLER(ViewMsg_PrintPages, OnPrintPages) |
| 662 IPC_MESSAGE_HANDLER(ViewMsg_PrintingDone, OnPrintingDone) | 667 IPC_MESSAGE_HANDLER(ViewMsg_PrintingDone, OnPrintingDone) |
| 663 IPC_MESSAGE_HANDLER(ViewMsg_Navigate, OnNavigate) | 668 IPC_MESSAGE_HANDLER(ViewMsg_Navigate, OnNavigate) |
| 664 IPC_MESSAGE_HANDLER(ViewMsg_Stop, OnStop) | 669 IPC_MESSAGE_HANDLER(ViewMsg_Stop, OnStop) |
| 665 IPC_MESSAGE_HANDLER(ViewMsg_ReloadFrame, OnReloadFrame) | 670 IPC_MESSAGE_HANDLER(ViewMsg_ReloadFrame, OnReloadFrame) |
| 666 IPC_MESSAGE_HANDLER(ViewMsg_Undo, OnUndo) | 671 IPC_MESSAGE_HANDLER(ViewMsg_Undo, OnUndo) |
| (...skipping 4726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5393 return geolocation_dispatcher_.get(); | 5398 return geolocation_dispatcher_.get(); |
| 5394 } | 5399 } |
| 5395 | 5400 |
| 5396 WebKit::WebSpeechInputController* RenderView::speechInputController( | 5401 WebKit::WebSpeechInputController* RenderView::speechInputController( |
| 5397 WebKit::WebSpeechInputListener* listener) { | 5402 WebKit::WebSpeechInputListener* listener) { |
| 5398 if (!speech_input_dispatcher_.get()) | 5403 if (!speech_input_dispatcher_.get()) |
| 5399 speech_input_dispatcher_.reset(new SpeechInputDispatcher(this, listener)); | 5404 speech_input_dispatcher_.reset(new SpeechInputDispatcher(this, listener)); |
| 5400 return speech_input_dispatcher_.get(); | 5405 return speech_input_dispatcher_.get(); |
| 5401 } | 5406 } |
| 5402 | 5407 |
| 5408 WebKit::WebDeviceOrientationClient* RenderView::deviceOrientationClient() { |
| 5409 if (!device_orientation_dispatcher_.get()) |
| 5410 device_orientation_dispatcher_.reset(new DeviceOrientationDispatcher(this)); |
| 5411 return device_orientation_dispatcher_.get(); |
| 5412 } |
| 5413 |
| 5403 bool RenderView::IsNonLocalTopLevelNavigation( | 5414 bool RenderView::IsNonLocalTopLevelNavigation( |
| 5404 const GURL& url, WebKit::WebFrame* frame, WebKit::WebNavigationType type) { | 5415 const GURL& url, WebKit::WebFrame* frame, WebKit::WebNavigationType type) { |
| 5405 // Must be a top level frame. | 5416 // Must be a top level frame. |
| 5406 if (frame->parent() != NULL) | 5417 if (frame->parent() != NULL) |
| 5407 return false; | 5418 return false; |
| 5408 | 5419 |
| 5409 // Navigations initiated within Webkit are not sent out to the external host | 5420 // Navigations initiated within Webkit are not sent out to the external host |
| 5410 // in the following cases. | 5421 // in the following cases. |
| 5411 // 1. The url scheme or the frame url scheme is not http/https | 5422 // 1. The url scheme or the frame url scheme is not http/https |
| 5412 // 2. The origin of the url and the frame is the same in which case the | 5423 // 2. The origin of the url and the frame is the same in which case the |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5445 // the origins of the two domains are different. This can be treated as a | 5456 // the origins of the two domains are different. This can be treated as a |
| 5446 // top level navigation and routed back to the host. | 5457 // top level navigation and routed back to the host. |
| 5447 WebKit::WebFrame* opener = frame->opener(); | 5458 WebKit::WebFrame* opener = frame->opener(); |
| 5448 if (opener) { | 5459 if (opener) { |
| 5449 if (url.GetOrigin() != GURL(opener->url()).GetOrigin()) | 5460 if (url.GetOrigin() != GURL(opener->url()).GetOrigin()) |
| 5450 return true; | 5461 return true; |
| 5451 } | 5462 } |
| 5452 } | 5463 } |
| 5453 return false; | 5464 return false; |
| 5454 } | 5465 } |
| OLD | NEW |