| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 #include "content/public/renderer/renderer_ppapi_host.h" | 63 #include "content/public/renderer/renderer_ppapi_host.h" |
| 64 #include "content/renderer/accessibility/renderer_accessibility.h" | 64 #include "content/renderer/accessibility/renderer_accessibility.h" |
| 65 #include "content/renderer/bluetooth/web_bluetooth_impl.h" | 65 #include "content/renderer/bluetooth/web_bluetooth_impl.h" |
| 66 #include "content/renderer/browser_plugin/browser_plugin.h" | 66 #include "content/renderer/browser_plugin/browser_plugin.h" |
| 67 #include "content/renderer/browser_plugin/browser_plugin_manager.h" | 67 #include "content/renderer/browser_plugin/browser_plugin_manager.h" |
| 68 #include "content/renderer/child_frame_compositing_helper.h" | 68 #include "content/renderer/child_frame_compositing_helper.h" |
| 69 #include "content/renderer/context_menu_params_builder.h" | 69 #include "content/renderer/context_menu_params_builder.h" |
| 70 #include "content/renderer/devtools/devtools_agent.h" | 70 #include "content/renderer/devtools/devtools_agent.h" |
| 71 #include "content/renderer/dom_automation_controller.h" | 71 #include "content/renderer/dom_automation_controller.h" |
| 72 #include "content/renderer/external_popup_menu.h" | 72 #include "content/renderer/external_popup_menu.h" |
| 73 #include "content/renderer/geolocation_dispatcher.h" | |
| 74 #include "content/renderer/gpu/gpu_benchmarking_extension.h" | 73 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
| 75 #include "content/renderer/history_controller.h" | 74 #include "content/renderer/history_controller.h" |
| 76 #include "content/renderer/history_serialization.h" | 75 #include "content/renderer/history_serialization.h" |
| 77 #include "content/renderer/image_downloader/image_downloader_impl.h" | 76 #include "content/renderer/image_downloader/image_downloader_impl.h" |
| 78 #include "content/renderer/ime_event_guard.h" | 77 #include "content/renderer/ime_event_guard.h" |
| 79 #include "content/renderer/internal_document_state_data.h" | 78 #include "content/renderer/internal_document_state_data.h" |
| 80 #include "content/renderer/manifest/manifest_manager.h" | 79 #include "content/renderer/manifest/manifest_manager.h" |
| 81 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 80 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
| 82 #include "content/renderer/media/crypto/render_cdm_factory.h" | 81 #include "content/renderer/media/crypto/render_cdm_factory.h" |
| 83 #include "content/renderer/media/media_permission_dispatcher_impl.h" | 82 #include "content/renderer/media/media_permission_dispatcher_impl.h" |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 return navigation_type == FrameMsg_Navigate_Type::RELOAD || | 506 return navigation_type == FrameMsg_Navigate_Type::RELOAD || |
| 508 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE || | 507 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE || |
| 509 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL; | 508 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL; |
| 510 } | 509 } |
| 511 | 510 |
| 512 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = | 511 RenderFrameImpl::CreateRenderFrameImplFunction g_create_render_frame_impl = |
| 513 nullptr; | 512 nullptr; |
| 514 | 513 |
| 515 void OnGotContentHandlerID(uint32_t content_handler_id) {} | 514 void OnGotContentHandlerID(uint32_t content_handler_id) {} |
| 516 | 515 |
| 516 class ForwardingServiceProvider : public mojo::ServiceProvider { |
| 517 public: |
| 518 ForwardingServiceProvider(base::WeakPtr<ServiceRegistry> service_registry) |
| 519 : service_registry_(service_registry) {} |
| 520 |
| 521 void ConnectToService(const mojo::String& interface_name, |
| 522 mojo::ScopedMessagePipeHandle pipe) override { |
| 523 if (service_registry_) |
| 524 service_registry_->ConnectToRemoteService( |
| 525 interface_name.To<std::string>(), pipe.Pass()); |
| 526 } |
| 527 |
| 528 private: |
| 529 base::WeakPtr<ServiceRegistry> service_registry_; |
| 530 |
| 531 DISALLOW_COPY_AND_ASSIGN(ForwardingServiceProvider); |
| 532 }; |
| 533 |
| 517 } // namespace | 534 } // namespace |
| 518 | 535 |
| 519 // static | 536 // static |
| 520 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view, | 537 RenderFrameImpl* RenderFrameImpl::Create(RenderViewImpl* render_view, |
| 521 int32 routing_id) { | 538 int32 routing_id) { |
| 522 DCHECK(routing_id != MSG_ROUTING_NONE); | 539 DCHECK(routing_id != MSG_ROUTING_NONE); |
| 523 CreateParams params(render_view, routing_id); | 540 CreateParams params(render_view, routing_id); |
| 524 | 541 |
| 525 if (g_create_render_frame_impl) | 542 if (g_create_render_frame_impl) |
| 526 return g_create_render_frame_impl(params); | 543 return g_create_render_frame_impl(params); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 media_player_manager_(NULL), | 720 media_player_manager_(NULL), |
| 704 #endif | 721 #endif |
| 705 #if defined(ENABLE_BROWSER_CDMS) | 722 #if defined(ENABLE_BROWSER_CDMS) |
| 706 cdm_manager_(NULL), | 723 cdm_manager_(NULL), |
| 707 #endif | 724 #endif |
| 708 #if defined(VIDEO_HOLE) | 725 #if defined(VIDEO_HOLE) |
| 709 contains_media_player_(false), | 726 contains_media_player_(false), |
| 710 #endif | 727 #endif |
| 711 has_played_media_(false), | 728 has_played_media_(false), |
| 712 devtools_agent_(nullptr), | 729 devtools_agent_(nullptr), |
| 713 geolocation_dispatcher_(NULL), | |
| 714 push_messaging_dispatcher_(NULL), | 730 push_messaging_dispatcher_(NULL), |
| 715 presentation_dispatcher_(NULL), | 731 presentation_dispatcher_(NULL), |
| 716 screen_orientation_dispatcher_(NULL), | 732 screen_orientation_dispatcher_(NULL), |
| 717 manifest_manager_(NULL), | 733 manifest_manager_(NULL), |
| 718 accessibility_mode_(AccessibilityModeOff), | 734 accessibility_mode_(AccessibilityModeOff), |
| 719 renderer_accessibility_(NULL), | 735 renderer_accessibility_(NULL), |
| 736 service_provider_( |
| 737 new ForwardingServiceProvider(service_registry_.GetWeakPtr())), |
| 720 weak_factory_(this) { | 738 weak_factory_(this) { |
| 721 std::pair<RoutingIDFrameMap::iterator, bool> result = | 739 std::pair<RoutingIDFrameMap::iterator, bool> result = |
| 722 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 740 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
| 723 CHECK(result.second) << "Inserting a duplicate item."; | 741 CHECK(result.second) << "Inserting a duplicate item."; |
| 724 | 742 |
| 725 RenderThread::Get()->AddRoute(routing_id_, this); | 743 RenderThread::Get()->AddRoute(routing_id_, this); |
| 726 | 744 |
| 727 render_view_->RegisterRenderFrame(this); | 745 render_view_->RegisterRenderFrame(this); |
| 728 | 746 |
| 729 // Everything below subclasses RenderFrameObserver and is automatically | 747 // Everything below subclasses RenderFrameObserver and is automatically |
| (...skipping 2858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3588 static_cast<storage::StorageType>(type), | 3606 static_cast<storage::StorageType>(type), |
| 3589 requested_size, | 3607 requested_size, |
| 3590 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); | 3608 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); |
| 3591 } | 3609 } |
| 3592 | 3610 |
| 3593 void RenderFrameImpl::willOpenWebSocket(blink::WebSocketHandle* handle) { | 3611 void RenderFrameImpl::willOpenWebSocket(blink::WebSocketHandle* handle) { |
| 3594 WebSocketBridge* impl = static_cast<WebSocketBridge*>(handle); | 3612 WebSocketBridge* impl = static_cast<WebSocketBridge*>(handle); |
| 3595 impl->set_render_frame_id(routing_id_); | 3613 impl->set_render_frame_id(routing_id_); |
| 3596 } | 3614 } |
| 3597 | 3615 |
| 3598 blink::WebGeolocationClient* RenderFrameImpl::geolocationClient() { | |
| 3599 if (!geolocation_dispatcher_) | |
| 3600 geolocation_dispatcher_ = new GeolocationDispatcher(this); | |
| 3601 return geolocation_dispatcher_; | |
| 3602 } | |
| 3603 | |
| 3604 blink::WebPresentationClient* RenderFrameImpl::presentationClient() { | 3616 blink::WebPresentationClient* RenderFrameImpl::presentationClient() { |
| 3605 if (!presentation_dispatcher_) | 3617 if (!presentation_dispatcher_) |
| 3606 presentation_dispatcher_ = new PresentationDispatcher(this); | 3618 presentation_dispatcher_ = new PresentationDispatcher(this); |
| 3607 return presentation_dispatcher_; | 3619 return presentation_dispatcher_; |
| 3608 } | 3620 } |
| 3609 | 3621 |
| 3610 blink::WebPushClient* RenderFrameImpl::pushClient() { | 3622 blink::WebPushClient* RenderFrameImpl::pushClient() { |
| 3611 if (!push_messaging_dispatcher_) | 3623 if (!push_messaging_dispatcher_) |
| 3612 push_messaging_dispatcher_ = new PushMessagingDispatcher(this); | 3624 push_messaging_dispatcher_ = new PushMessagingDispatcher(this); |
| 3613 return push_messaging_dispatcher_; | 3625 return push_messaging_dispatcher_; |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3861 #if !defined(OS_ANDROID) | 3873 #if !defined(OS_ANDROID) |
| 3862 if (!usb_client_) { | 3874 if (!usb_client_) { |
| 3863 mojo::ServiceProviderPtr device_services = | 3875 mojo::ServiceProviderPtr device_services = |
| 3864 ConnectToApplication(GURL(device::kDevicesMojoAppUrl)); | 3876 ConnectToApplication(GURL(device::kDevicesMojoAppUrl)); |
| 3865 usb_client_.reset(new WebUSBClientImpl(device_services.Pass())); | 3877 usb_client_.reset(new WebUSBClientImpl(device_services.Pass())); |
| 3866 } | 3878 } |
| 3867 #endif | 3879 #endif |
| 3868 return usb_client_.get(); | 3880 return usb_client_.get(); |
| 3869 } | 3881 } |
| 3870 | 3882 |
| 3883 mojo::ServiceProvider* RenderFrameImpl::serviceProvider() { |
| 3884 return service_provider_.get(); |
| 3885 } |
| 3886 |
| 3871 #if defined(ENABLE_WEBVR) | 3887 #if defined(ENABLE_WEBVR) |
| 3872 blink::WebVRClient* RenderFrameImpl::webVRClient() { | 3888 blink::WebVRClient* RenderFrameImpl::webVRClient() { |
| 3873 if (!vr_dispatcher_) | 3889 if (!vr_dispatcher_) |
| 3874 vr_dispatcher_.reset(new VRDispatcher(GetServiceRegistry())); | 3890 vr_dispatcher_.reset(new VRDispatcher(GetServiceRegistry())); |
| 3875 | 3891 |
| 3876 return vr_dispatcher_.get(); | 3892 return vr_dispatcher_.get(); |
| 3877 } | 3893 } |
| 3878 #endif | 3894 #endif |
| 3879 | 3895 |
| 3880 void RenderFrameImpl::DidPlay(WebMediaPlayer* player) { | 3896 void RenderFrameImpl::DidPlay(WebMediaPlayer* player) { |
| (...skipping 1257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5138 mojo::ServiceProviderPtr service_provider; | 5154 mojo::ServiceProviderPtr service_provider; |
| 5139 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 5155 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 5140 request->url = mojo::String::From(url); | 5156 request->url = mojo::String::From(url); |
| 5141 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), | 5157 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), |
| 5142 nullptr, nullptr, | 5158 nullptr, nullptr, |
| 5143 base::Bind(&OnGotContentHandlerID)); | 5159 base::Bind(&OnGotContentHandlerID)); |
| 5144 return service_provider.Pass(); | 5160 return service_provider.Pass(); |
| 5145 } | 5161 } |
| 5146 | 5162 |
| 5147 } // namespace content | 5163 } // namespace content |
| OLD | NEW |