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 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
743 proxy_routing_id_(MSG_ROUTING_NONE), | 743 proxy_routing_id_(MSG_ROUTING_NONE), |
744 #if defined(ENABLE_PLUGINS) | 744 #if defined(ENABLE_PLUGINS) |
745 plugin_power_saver_helper_(nullptr), | 745 plugin_power_saver_helper_(nullptr), |
746 #endif | 746 #endif |
747 cookie_jar_(this), | 747 cookie_jar_(this), |
748 selection_text_offset_(0), | 748 selection_text_offset_(0), |
749 selection_range_(gfx::Range::InvalidRange()), | 749 selection_range_(gfx::Range::InvalidRange()), |
750 handling_select_range_(false), | 750 handling_select_range_(false), |
751 notification_permission_dispatcher_(NULL), | 751 notification_permission_dispatcher_(NULL), |
752 web_user_media_client_(NULL), | 752 web_user_media_client_(NULL), |
753 media_permission_dispatcher_(NULL), | |
754 midi_dispatcher_(NULL), | 753 midi_dispatcher_(NULL), |
755 #if defined(OS_ANDROID) | 754 #if defined(OS_ANDROID) |
756 media_player_manager_(NULL), | 755 media_player_manager_(NULL), |
757 #endif | 756 #endif |
758 #if defined(ENABLE_BROWSER_CDMS) | 757 #if defined(ENABLE_BROWSER_CDMS) |
759 cdm_manager_(NULL), | 758 cdm_manager_(NULL), |
760 #endif | 759 #endif |
761 #if defined(VIDEO_HOLE) | 760 #if defined(VIDEO_HOLE) |
762 contains_media_player_(false), | 761 contains_media_player_(false), |
763 #endif | 762 #endif |
(...skipping 4492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5256 } | 5255 } |
5257 | 5256 |
5258 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { | 5257 RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() { |
5259 if (!media_player_manager_) | 5258 if (!media_player_manager_) |
5260 media_player_manager_ = new RendererMediaPlayerManager(this); | 5259 media_player_manager_ = new RendererMediaPlayerManager(this); |
5261 return media_player_manager_; | 5260 return media_player_manager_; |
5262 } | 5261 } |
5263 #endif // defined(OS_ANDROID) | 5262 #endif // defined(OS_ANDROID) |
5264 | 5263 |
5265 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { | 5264 media::MediaPermission* RenderFrameImpl::GetMediaPermission() { |
5266 if (!media_permission_dispatcher_) | 5265 if (!media_permission_dispatcher_) { |
5267 media_permission_dispatcher_ = new MediaPermissionDispatcher(this); | 5266 media_permission_dispatcher_.reset(new MediaPermissionDispatcher( |
5268 return media_permission_dispatcher_; | 5267 base::Bind(&RenderFrameImpl::ConnectToService<PermissionService>, |
5268 base::Unretained(this)))); | |
nasko
2015/11/25 15:04:27
Please add a comment why using base::Unretained(th
| |
5269 } | |
5270 return media_permission_dispatcher_.get(); | |
5269 } | 5271 } |
5270 | 5272 |
5271 #if defined(ENABLE_MOJO_MEDIA) | 5273 #if defined(ENABLE_MOJO_MEDIA) |
5272 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { | 5274 media::interfaces::ServiceFactory* RenderFrameImpl::GetMediaServiceFactory() { |
5273 if (!media_service_factory_) { | 5275 if (!media_service_factory_) { |
5274 DVLOG(3) << "Connect to ServiceProvider service."; | 5276 DVLOG(3) << "Connect to ServiceProvider service."; |
5275 mojo::ServiceProviderPtr service_provider = | 5277 mojo::ServiceProviderPtr service_provider = |
5276 ConnectToApplication(GURL("mojo:media")); | 5278 ConnectToApplication(GURL("mojo:media")); |
5277 mojo::ConnectToService(service_provider.get(), &media_service_factory_); | 5279 mojo::ConnectToService(service_provider.get(), &media_service_factory_); |
5278 media_service_factory_.set_connection_error_handler( | 5280 media_service_factory_.set_connection_error_handler( |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5327 | 5329 |
5328 void RenderFrameImpl::RegisterMojoServices() { | 5330 void RenderFrameImpl::RegisterMojoServices() { |
5329 // Only main frames have an ImageDownloader service. | 5331 // Only main frames have an ImageDownloader service. |
5330 if (!frame_->parent()) { | 5332 if (!frame_->parent()) { |
5331 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( | 5333 GetServiceRegistry()->AddService<image_downloader::ImageDownloader>( |
5332 base::Bind(&ImageDownloaderImpl::CreateMojoService, | 5334 base::Bind(&ImageDownloaderImpl::CreateMojoService, |
5333 base::Unretained(this))); | 5335 base::Unretained(this))); |
5334 } | 5336 } |
5335 } | 5337 } |
5336 | 5338 |
5339 template <typename Interface> | |
5340 void RenderFrameImpl::ConnectToService( | |
5341 mojo::InterfaceRequest<Interface> request) { | |
5342 GetServiceRegistry()->ConnectToRemoteService(std::move(request)); | |
5343 } | |
5344 | |
5337 mojo::ServiceProviderPtr RenderFrameImpl::ConnectToApplication( | 5345 mojo::ServiceProviderPtr RenderFrameImpl::ConnectToApplication( |
5338 const GURL& url) { | 5346 const GURL& url) { |
5339 if (!mojo_shell_) | 5347 if (!mojo_shell_) |
5340 GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&mojo_shell_)); | 5348 ConnectToService(mojo::GetProxy(&mojo_shell_)); |
5341 mojo::ServiceProviderPtr service_provider; | 5349 mojo::ServiceProviderPtr service_provider; |
5342 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 5350 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
5343 request->url = mojo::String::From(url); | 5351 request->url = mojo::String::From(url); |
5344 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), | 5352 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), |
5345 nullptr, nullptr, | 5353 nullptr, nullptr, |
5346 base::Bind(&OnGotContentHandlerID)); | 5354 base::Bind(&OnGotContentHandlerID)); |
5347 return service_provider.Pass(); | 5355 return std::move(service_provider); |
5348 } | 5356 } |
5349 | 5357 |
5350 media::RendererWebMediaPlayerDelegate* | 5358 media::RendererWebMediaPlayerDelegate* |
5351 RenderFrameImpl::GetWebMediaPlayerDelegate() { | 5359 RenderFrameImpl::GetWebMediaPlayerDelegate() { |
5352 if (!media_player_delegate_) | 5360 if (!media_player_delegate_) |
5353 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); | 5361 media_player_delegate_ = new media::RendererWebMediaPlayerDelegate(this); |
5354 return media_player_delegate_; | 5362 return media_player_delegate_; |
5355 } | 5363 } |
5356 | 5364 |
5357 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( | 5365 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( |
5358 const blink::WebString& sink_id, | 5366 const blink::WebString& sink_id, |
5359 const blink::WebSecurityOrigin& security_origin, | 5367 const blink::WebSecurityOrigin& security_origin, |
5360 blink::WebSetSinkIdCallbacks* web_callbacks) { | 5368 blink::WebSetSinkIdCallbacks* web_callbacks) { |
5361 media::SwitchOutputDeviceCB callback = | 5369 media::SwitchOutputDeviceCB callback = |
5362 media::ConvertToSwitchOutputDeviceCB(web_callbacks); | 5370 media::ConvertToSwitchOutputDeviceCB(web_callbacks); |
5363 scoped_refptr<media::AudioOutputDevice> device = | 5371 scoped_refptr<media::AudioOutputDevice> device = |
5364 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), | 5372 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), |
5365 security_origin); | 5373 security_origin); |
5366 media::OutputDeviceStatus status = device->GetDeviceStatus(); | 5374 media::OutputDeviceStatus status = device->GetDeviceStatus(); |
5367 device->Stop(); | 5375 device->Stop(); |
5368 callback.Run(status); | 5376 callback.Run(status); |
5369 } | 5377 } |
5370 | 5378 |
5371 } // namespace content | 5379 } // namespace content |
OLD | NEW |