Chromium Code Reviews| 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 |