| 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 #include "content/renderer/render_process.h" | 99 #include "content/renderer/render_process.h" |
| 100 #include "content/renderer/render_thread_impl.h" | 100 #include "content/renderer/render_thread_impl.h" |
| 101 #include "content/renderer/render_view_impl.h" | 101 #include "content/renderer/render_view_impl.h" |
| 102 #include "content/renderer/render_widget_fullscreen_pepper.h" | 102 #include "content/renderer/render_widget_fullscreen_pepper.h" |
| 103 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 103 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
| 104 #include "content/renderer/renderer_webcolorchooser_impl.h" | 104 #include "content/renderer/renderer_webcolorchooser_impl.h" |
| 105 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" | 105 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
| 106 #include "content/renderer/shared_worker_repository.h" | 106 #include "content/renderer/shared_worker_repository.h" |
| 107 #include "content/renderer/skia_benchmarking_extension.h" | 107 #include "content/renderer/skia_benchmarking_extension.h" |
| 108 #include "content/renderer/stats_collection_controller.h" | 108 #include "content/renderer/stats_collection_controller.h" |
| 109 #include "content/renderer/usb/web_usb_client_impl.h" |
| 109 #include "content/renderer/web_ui_extension.h" | 110 #include "content/renderer/web_ui_extension.h" |
| 110 #include "content/renderer/websharedworker_proxy.h" | 111 #include "content/renderer/websharedworker_proxy.h" |
| 112 #include "device/devices_app/public/cpp/constants.h" |
| 111 #include "gin/modules/module_registry.h" | 113 #include "gin/modules/module_registry.h" |
| 112 #include "media/base/audio_renderer_mixer_input.h" | 114 #include "media/base/audio_renderer_mixer_input.h" |
| 113 #include "media/base/media_log.h" | 115 #include "media/base/media_log.h" |
| 114 #include "media/blink/webencryptedmediaclient_impl.h" | 116 #include "media/blink/webencryptedmediaclient_impl.h" |
| 115 #include "media/blink/webmediaplayer_impl.h" | 117 #include "media/blink/webmediaplayer_impl.h" |
| 116 #include "media/blink/webmediaplayer_params.h" | 118 #include "media/blink/webmediaplayer_params.h" |
| 117 #include "media/renderers/gpu_video_accelerator_factories.h" | 119 #include "media/renderers/gpu_video_accelerator_factories.h" |
| 120 #include "mojo/common/url_type_converters.h" |
| 118 #include "net/base/data_url.h" | 121 #include "net/base/data_url.h" |
| 119 #include "net/base/net_errors.h" | 122 #include "net/base/net_errors.h" |
| 120 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 123 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 121 #include "net/http/http_util.h" | 124 #include "net/http/http_util.h" |
| 122 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" | 125 #include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h" |
| 123 #include "third_party/WebKit/public/platform/WebString.h" | 126 #include "third_party/WebKit/public/platform/WebString.h" |
| 124 #include "third_party/WebKit/public/platform/WebURL.h" | 127 #include "third_party/WebKit/public/platform/WebURL.h" |
| 125 #include "third_party/WebKit/public/platform/WebURLError.h" | 128 #include "third_party/WebKit/public/platform/WebURLError.h" |
| 126 #include "third_party/WebKit/public/platform/WebURLResponse.h" | 129 #include "third_party/WebKit/public/platform/WebURLResponse.h" |
| 127 #include "third_party/WebKit/public/platform/WebVector.h" | 130 #include "third_party/WebKit/public/platform/WebVector.h" |
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 // deleted when the RenderFrame gets deleted. | 700 // deleted when the RenderFrame gets deleted. |
| 698 #if defined(OS_ANDROID) | 701 #if defined(OS_ANDROID) |
| 699 new GinJavaBridgeDispatcher(this); | 702 new GinJavaBridgeDispatcher(this); |
| 700 #endif | 703 #endif |
| 701 | 704 |
| 702 #if defined(ENABLE_PLUGINS) | 705 #if defined(ENABLE_PLUGINS) |
| 703 plugin_power_saver_helper_ = new PluginPowerSaverHelper(this); | 706 plugin_power_saver_helper_ = new PluginPowerSaverHelper(this); |
| 704 #endif | 707 #endif |
| 705 | 708 |
| 706 manifest_manager_ = new ManifestManager(this); | 709 manifest_manager_ = new ManifestManager(this); |
| 710 |
| 711 GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&mojo_shell_)); |
| 707 } | 712 } |
| 708 | 713 |
| 709 RenderFrameImpl::~RenderFrameImpl() { | 714 RenderFrameImpl::~RenderFrameImpl() { |
| 710 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); | 715 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
| 711 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); | 716 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
| 712 | 717 |
| 713 base::trace_event::TraceLog::GetInstance()->RemoveProcessLabel(routing_id_); | 718 base::trace_event::TraceLog::GetInstance()->RemoveProcessLabel(routing_id_); |
| 714 | 719 |
| 715 #if defined(VIDEO_HOLE) | 720 #if defined(VIDEO_HOLE) |
| 716 if (contains_media_player_) | 721 if (contains_media_player_) |
| (...skipping 3093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3810 | 3815 |
| 3811 blink::WebBluetooth* RenderFrameImpl::bluetooth() { | 3816 blink::WebBluetooth* RenderFrameImpl::bluetooth() { |
| 3812 if (!bluetooth_) { | 3817 if (!bluetooth_) { |
| 3813 bluetooth_.reset(new WebBluetoothImpl( | 3818 bluetooth_.reset(new WebBluetoothImpl( |
| 3814 ChildThreadImpl::current()->thread_safe_sender(), routing_id_)); | 3819 ChildThreadImpl::current()->thread_safe_sender(), routing_id_)); |
| 3815 } | 3820 } |
| 3816 | 3821 |
| 3817 return bluetooth_.get(); | 3822 return bluetooth_.get(); |
| 3818 } | 3823 } |
| 3819 | 3824 |
| 3825 blink::WebUSBClient* RenderFrameImpl::usbClient() { |
| 3826 if (!usb_client_) { |
| 3827 mojo::ServiceProviderPtr device_services = |
| 3828 ConnectToApplication(GURL(device::kDevicesMojoAppUrl)); |
| 3829 usb_client_.reset(new WebUSBClientImpl(device_services.Pass())); |
| 3830 } |
| 3831 return usb_client_.get(); |
| 3832 } |
| 3833 |
| 3820 #if defined(ENABLE_WEBVR) | 3834 #if defined(ENABLE_WEBVR) |
| 3821 blink::WebVRClient* RenderFrameImpl::webVRClient() { | 3835 blink::WebVRClient* RenderFrameImpl::webVRClient() { |
| 3822 if (!vr_dispatcher_) | 3836 if (!vr_dispatcher_) |
| 3823 vr_dispatcher_.reset(new VRDispatcher(GetServiceRegistry())); | 3837 vr_dispatcher_.reset(new VRDispatcher(GetServiceRegistry())); |
| 3824 | 3838 |
| 3825 return vr_dispatcher_.get(); | 3839 return vr_dispatcher_.get(); |
| 3826 } | 3840 } |
| 3827 #endif | 3841 #endif |
| 3828 | 3842 |
| 3829 void RenderFrameImpl::DidPlay(WebMediaPlayer* player) { | 3843 void RenderFrameImpl::DidPlay(WebMediaPlayer* player) { |
| (...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5000 | 5014 |
| 5001 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { | 5015 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { |
| 5002 if (!media_permission_dispatcher_) | 5016 if (!media_permission_dispatcher_) |
| 5003 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); | 5017 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); |
| 5004 return media_permission_dispatcher_; | 5018 return media_permission_dispatcher_; |
| 5005 } | 5019 } |
| 5006 | 5020 |
| 5007 #if defined(ENABLE_MOJO_MEDIA) | 5021 #if defined(ENABLE_MOJO_MEDIA) |
| 5008 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { | 5022 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { |
| 5009 if (!media_service_factory_) { | 5023 if (!media_service_factory_) { |
| 5010 mojo::InterfacePtr<mojo::Shell> shell_ptr; | 5024 mojo::ServiceProviderPtr service_provider = |
| 5011 GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&shell_ptr)); | 5025 ConnectToApplication(GURL("mojo:media")); |
| 5012 | |
| 5013 mojo::ServiceProviderPtr service_provider; | |
| 5014 mojo::URLRequestPtr request(mojo::URLRequest::New()); | |
| 5015 request->url = mojo::String::From("mojo:media"); | |
| 5016 shell_ptr->ConnectToApplication(request.Pass(), GetProxy(&service_provider), | |
| 5017 nullptr, nullptr); | |
| 5018 | |
| 5019 mojo::ConnectToService(service_provider.get(), &media_service_factory_); | 5026 mojo::ConnectToService(service_provider.get(), &media_service_factory_); |
| 5020 | |
| 5021 media_service_factory_.set_connection_error_handler( | 5027 media_service_factory_.set_connection_error_handler( |
| 5022 base::Bind(&RenderFrameImpl::OnMediaServiceFactoryConnectionError, | 5028 base::Bind(&RenderFrameImpl::OnMediaServiceFactoryConnectionError, |
| 5023 base::Unretained(this))); | 5029 base::Unretained(this))); |
| 5024 } | 5030 } |
| 5025 | 5031 |
| 5026 return media_service_factory_.get(); | 5032 return media_service_factory_.get(); |
| 5027 } | 5033 } |
| 5028 | 5034 |
| 5029 void RenderFrameImpl::OnMediaServiceFactoryConnectionError() { | 5035 void RenderFrameImpl::OnMediaServiceFactoryConnectionError() { |
| 5030 // TODO(xhwang): Resetting |media_service_factory_| could cause access | 5036 // TODO(xhwang): Resetting |media_service_factory_| could cause access |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5072 | 5078 |
| 5073 void RenderFrameImpl::RegisterMojoServices() { | 5079 void RenderFrameImpl::RegisterMojoServices() { |
| 5074 // Only main frame have ImageDownloader service. | 5080 // Only main frame have ImageDownloader service. |
| 5075 if (!frame_->parent()) { | 5081 if (!frame_->parent()) { |
| 5076 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( | 5082 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( |
| 5077 base::Bind(&ImageDownloaderImpl::CreateMojoService, | 5083 base::Bind(&ImageDownloaderImpl::CreateMojoService, |
| 5078 base::Unretained(this))); | 5084 base::Unretained(this))); |
| 5079 } | 5085 } |
| 5080 } | 5086 } |
| 5081 | 5087 |
| 5088 mojo::ServiceProviderPtr RenderFrameImpl::ConnectToApplication( |
| 5089 const GURL& url) { |
| 5090 DCHECK(mojo_shell_); |
| 5091 mojo::ServiceProviderPtr service_provider; |
| 5092 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 5093 request->url = mojo::String::From(url); |
| 5094 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), |
| 5095 nullptr, nullptr); |
| 5096 return service_provider.Pass(); |
| 5097 } |
| 5098 |
| 5082 } // namespace content | 5099 } // namespace content |
| OLD | NEW |