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" |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/debug/alias.h" | 12 #include "base/debug/alias.h" |
| 13 #include "base/debug/asan_invalid_access.h" | 13 #include "base/debug/asan_invalid_access.h" |
| 14 #include "base/debug/dump_without_crashing.h" | 14 #include "base/debug/dump_without_crashing.h" |
| 15 #include "base/i18n/char_iterator.h" | 15 #include "base/i18n/char_iterator.h" |
| 16 #include "base/metrics/histogram.h" | 16 #include "base/metrics/histogram.h" |
| 17 #include "base/process/process.h" | 17 #include "base/process/process.h" |
| 18 #include "base/strings/string16.h" | 18 #include "base/strings/string16.h" |
| 19 #include "base/strings/utf_string_conversions.h" | 19 #include "base/strings/utf_string_conversions.h" |
| 20 #include "base/thread_task_runner_handle.h" | |
| 20 #include "base/time/time.h" | 21 #include "base/time/time.h" |
| 21 #include "cc/base/switches.h" | 22 #include "cc/base/switches.h" |
| 22 #include "components/scheduler/renderer/renderer_scheduler.h" | 23 #include "components/scheduler/renderer/renderer_scheduler.h" |
| 23 #include "content/child/appcache/appcache_dispatcher.h" | 24 #include "content/child/appcache/appcache_dispatcher.h" |
| 24 #include "content/child/permissions/permission_dispatcher.h" | 25 #include "content/child/permissions/permission_dispatcher.h" |
| 25 #include "content/child/plugin_messages.h" | 26 #include "content/child/plugin_messages.h" |
| 26 #include "content/child/quota_dispatcher.h" | 27 #include "content/child/quota_dispatcher.h" |
| 27 #include "content/child/request_extra_data.h" | 28 #include "content/child/request_extra_data.h" |
| 28 #include "content/child/service_worker/service_worker_handle_reference.h" | 29 #include "content/child/service_worker/service_worker_handle_reference.h" |
| 29 #include "content/child/service_worker/service_worker_network_provider.h" | 30 #include "content/child/service_worker/service_worker_network_provider.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 #include "content/renderer/dom_automation_controller.h" | 72 #include "content/renderer/dom_automation_controller.h" |
| 72 #include "content/renderer/external_popup_menu.h" | 73 #include "content/renderer/external_popup_menu.h" |
| 73 #include "content/renderer/geolocation_dispatcher.h" | 74 #include "content/renderer/geolocation_dispatcher.h" |
| 74 #include "content/renderer/gpu/gpu_benchmarking_extension.h" | 75 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
| 75 #include "content/renderer/history_controller.h" | 76 #include "content/renderer/history_controller.h" |
| 76 #include "content/renderer/history_serialization.h" | 77 #include "content/renderer/history_serialization.h" |
| 77 #include "content/renderer/image_downloader/image_downloader_impl.h" | 78 #include "content/renderer/image_downloader/image_downloader_impl.h" |
| 78 #include "content/renderer/ime_event_guard.h" | 79 #include "content/renderer/ime_event_guard.h" |
| 79 #include "content/renderer/internal_document_state_data.h" | 80 #include "content/renderer/internal_document_state_data.h" |
| 80 #include "content/renderer/manifest/manifest_manager.h" | 81 #include "content/renderer/manifest/manifest_manager.h" |
| 82 #include "content/renderer/media/audio_device_factory.h" | |
| 81 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 83 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
| 82 #include "content/renderer/media/crypto/render_cdm_factory.h" | 84 #include "content/renderer/media/crypto/render_cdm_factory.h" |
| 83 #include "content/renderer/media/media_permission_dispatcher_impl.h" | 85 #include "content/renderer/media/media_permission_dispatcher_impl.h" |
| 84 #include "content/renderer/media/media_permission_dispatcher_proxy.h" | 86 #include "content/renderer/media/media_permission_dispatcher_proxy.h" |
| 85 #include "content/renderer/media/media_stream_dispatcher.h" | 87 #include "content/renderer/media/media_stream_dispatcher.h" |
| 86 #include "content/renderer/media/media_stream_renderer_factory_impl.h" | 88 #include "content/renderer/media/media_stream_renderer_factory_impl.h" |
| 87 #include "content/renderer/media/midi_dispatcher.h" | 89 #include "content/renderer/media/midi_dispatcher.h" |
| 88 #include "content/renderer/media/render_media_log.h" | 90 #include "content/renderer/media/render_media_log.h" |
| 89 #include "content/renderer/media/user_media_client_impl.h" | 91 #include "content/renderer/media/user_media_client_impl.h" |
| 90 #include "content/renderer/media/webmediaplayer_ms.h" | 92 #include "content/renderer/media/webmediaplayer_ms.h" |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 104 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 106 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
| 105 #include "content/renderer/renderer_webcolorchooser_impl.h" | 107 #include "content/renderer/renderer_webcolorchooser_impl.h" |
| 106 #include "content/renderer/savable_resources.h" | 108 #include "content/renderer/savable_resources.h" |
| 107 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" | 109 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
| 108 #include "content/renderer/shared_worker_repository.h" | 110 #include "content/renderer/shared_worker_repository.h" |
| 109 #include "content/renderer/skia_benchmarking_extension.h" | 111 #include "content/renderer/skia_benchmarking_extension.h" |
| 110 #include "content/renderer/stats_collection_controller.h" | 112 #include "content/renderer/stats_collection_controller.h" |
| 111 #include "content/renderer/web_ui_extension.h" | 113 #include "content/renderer/web_ui_extension.h" |
| 112 #include "content/renderer/websharedworker_proxy.h" | 114 #include "content/renderer/websharedworker_proxy.h" |
| 113 #include "gin/modules/module_registry.h" | 115 #include "gin/modules/module_registry.h" |
| 116 #include "media/audio/audio_output_device.h" | |
| 114 #include "media/base/audio_renderer_mixer_input.h" | 117 #include "media/base/audio_renderer_mixer_input.h" |
| 115 #include "media/base/media_log.h" | 118 #include "media/base/media_log.h" |
| 116 #include "media/blink/webencryptedmediaclient_impl.h" | 119 #include "media/blink/webencryptedmediaclient_impl.h" |
| 117 #include "media/blink/webmediaplayer_impl.h" | 120 #include "media/blink/webmediaplayer_impl.h" |
| 118 #include "media/renderers/gpu_video_accelerator_factories.h" | 121 #include "media/renderers/gpu_video_accelerator_factories.h" |
| 119 #include "mojo/common/url_type_converters.h" | 122 #include "mojo/common/url_type_converters.h" |
| 120 #include "net/base/data_url.h" | 123 #include "net/base/data_url.h" |
| 121 #include "net/base/net_errors.h" | 124 #include "net/base/net_errors.h" |
| 122 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 125 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 123 #include "net/http/http_util.h" | 126 #include "net/http/http_util.h" |
| (...skipping 5162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5286 DCHECK(mojo_shell_); | 5289 DCHECK(mojo_shell_); |
| 5287 mojo::ServiceProviderPtr service_provider; | 5290 mojo::ServiceProviderPtr service_provider; |
| 5288 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 5291 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 5289 request->url = mojo::String::From(url); | 5292 request->url = mojo::String::From(url); |
| 5290 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), | 5293 mojo_shell_->ConnectToApplication(request.Pass(), GetProxy(&service_provider), |
| 5291 nullptr, nullptr, | 5294 nullptr, nullptr, |
| 5292 base::Bind(&OnGotContentHandlerID)); | 5295 base::Bind(&OnGotContentHandlerID)); |
| 5293 return service_provider.Pass(); | 5296 return service_provider.Pass(); |
| 5294 } | 5297 } |
| 5295 | 5298 |
| 5299 void RenderFrameImpl::checkIfAudioSinkExistsAndIsAuthorized( | |
| 5300 const blink::WebString& sink_id, | |
| 5301 const blink::WebSecurityOrigin& security_origin, | |
| 5302 blink::WebSetSinkIdCallbacks* web_callback) { | |
| 5303 base::ThreadTaskRunnerHandle::Get()->PostTask( | |
| 5304 FROM_HERE, | |
| 5305 base::Bind(&RenderFrameImpl::DoCheckIfAudioSinkExistsAndIsAuthorized, | |
|
Peter Beverloo
2015/11/09 20:05:06
There is a really subtle case in which this PostTa
Guido Urdaneta
2015/11/10 15:36:51
I changed the implementation so that it is made as
| |
| 5306 weak_factory_.GetWeakPtr(), sink_id.utf8(), | |
| 5307 static_cast<url::Origin>(security_origin), | |
| 5308 media::ConvertToSwitchOutputDeviceCB(web_callback))); | |
| 5309 } | |
| 5310 | |
| 5311 void RenderFrameImpl::DoCheckIfAudioSinkExistsAndIsAuthorized( | |
| 5312 const std::string& device_id, | |
| 5313 const url::Origin& security_origin, | |
| 5314 const media::SwitchOutputDeviceCB& callback) { | |
| 5315 scoped_refptr<media::AudioOutputDevice> device = | |
| 5316 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, device_id, | |
| 5317 security_origin); | |
| 5318 media::OutputDeviceStatus status = device->GetDeviceStatus(); | |
| 5319 device->Stop(); | |
| 5320 callback.Run(status); | |
| 5321 } | |
| 5322 | |
| 5296 } // namespace content | 5323 } // namespace content |
| OLD | NEW |