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/browser/frame_host/render_frame_host_impl.h" | 5 #include "content/browser/frame_host/render_frame_host_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 87 #include "content/public/common/file_chooser_file_info.h" | 87 #include "content/public/common/file_chooser_file_info.h" |
| 88 #include "content/public/common/file_chooser_params.h" | 88 #include "content/public/common/file_chooser_params.h" |
| 89 #include "content/public/common/isolated_world_ids.h" | 89 #include "content/public/common/isolated_world_ids.h" |
| 90 #include "content/public/common/service_manager_connection.h" | 90 #include "content/public/common/service_manager_connection.h" |
| 91 #include "content/public/common/url_constants.h" | 91 #include "content/public/common/url_constants.h" |
| 92 #include "content/public/common/url_utils.h" | 92 #include "content/public/common/url_utils.h" |
| 93 #include "device/generic_sensor/sensor_provider_impl.h" | 93 #include "device/generic_sensor/sensor_provider_impl.h" |
| 94 #include "device/geolocation/geolocation_service_context.h" | 94 #include "device/geolocation/geolocation_service_context.h" |
| 95 #include "device/vibration/vibration_manager_impl.h" | 95 #include "device/vibration/vibration_manager_impl.h" |
| 96 #include "device/wake_lock/wake_lock_service_context.h" | 96 #include "device/wake_lock/wake_lock_service_context.h" |
| 97 #include "media/base/media_switches.h" | |
| 97 #include "media/mojo/interfaces/media_service.mojom.h" | 98 #include "media/mojo/interfaces/media_service.mojom.h" |
| 98 #include "media/mojo/interfaces/service_factory.mojom.h" | 99 #include "media/mojo/interfaces/service_factory.mojom.h" |
| 99 #include "mojo/public/cpp/bindings/associated_interface_ptr.h" | 100 #include "mojo/public/cpp/bindings/associated_interface_ptr.h" |
| 101 #include "mojo/public/cpp/bindings/strong_binding.h" | |
| 100 #include "services/shell/public/cpp/connector.h" | 102 #include "services/shell/public/cpp/connector.h" |
| 101 #include "services/shell/public/cpp/interface_provider.h" | 103 #include "services/shell/public/cpp/interface_provider.h" |
| 102 #include "ui/accessibility/ax_tree.h" | 104 #include "ui/accessibility/ax_tree.h" |
| 103 #include "ui/accessibility/ax_tree_update.h" | 105 #include "ui/accessibility/ax_tree_update.h" |
| 104 #include "ui/gfx/geometry/quad_f.h" | 106 #include "ui/gfx/geometry/quad_f.h" |
| 105 #include "url/gurl.h" | 107 #include "url/gurl.h" |
| 106 | 108 |
| 107 #if defined(OS_ANDROID) | 109 #if defined(OS_ANDROID) |
| 108 #include "content/browser/android/app_web_message_port_message_filter.h" | 110 #include "content/browser/android/app_web_message_port_message_filter.h" |
| 109 #include "content/public/browser/android/java_interfaces.h" | 111 #include "content/public/browser/android/java_interfaces.h" |
| 110 #if defined(ENABLE_MOJO_CDM) | 112 #if defined(ENABLE_MOJO_CDM) |
| 111 #include "content/browser/media/android/provision_fetcher_impl.h" | 113 #include "content/browser/media/android/provision_fetcher_impl.h" |
| 112 #endif | 114 #endif |
| 115 #include "content/browser/media/android/media_player_renderer.h" | |
| 116 #include "media/base/audio_renderer_sink.h" | |
| 117 #include "media/base/video_renderer_sink.h" | |
| 118 #include "media/mojo/services/mojo_renderer_service.h" //nogncheck | |
|
ncarter (slow)
2016/10/13 17:01:17
should be:
[space][space]//[space]nogncheck
| |
| 113 #endif | 119 #endif |
| 114 | 120 |
| 115 #if defined(OS_MACOSX) | 121 #if defined(OS_MACOSX) |
| 116 #include "content/browser/frame_host/popup_menu_helper_mac.h" | 122 #include "content/browser/frame_host/popup_menu_helper_mac.h" |
| 117 #endif | 123 #endif |
| 118 | 124 |
| 119 #if defined(ENABLE_WEBVR) | 125 #if defined(ENABLE_WEBVR) |
| 120 #include "base/command_line.h" | 126 #include "base/command_line.h" |
| 121 #include "content/public/common/content_switches.h" | 127 #include "content/public/common/content_switches.h" |
| 122 #include "device/vr/vr_service_impl.h" // nogncheck | 128 #include "device/vr/vr_service_impl.h" // nogncheck |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 204 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, | 210 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, |
| 205 int render_frame_id) { | 211 int render_frame_id) { |
| 206 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); | 212 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); |
| 207 } | 213 } |
| 208 | 214 |
| 209 #if defined(OS_ANDROID) | 215 #if defined(OS_ANDROID) |
| 210 // static | 216 // static |
| 211 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { | 217 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { |
| 212 g_allow_injecting_javascript = true; | 218 g_allow_injecting_javascript = true; |
| 213 } | 219 } |
| 214 #endif | 220 |
| 221 void CreateMediaPlayerRenderer( | |
| 222 content::RenderFrameHost* render_frame_host, | |
| 223 mojo::InterfaceRequest<media::mojom::Renderer> request) { | |
| 224 std::unique_ptr<MediaPlayerRenderer> renderer = | |
| 225 base::MakeUnique<MediaPlayerRenderer>(render_frame_host); | |
| 226 | |
| 227 // base::Unretained is safe here because the lifetime of the MediaPlayerRender | |
| 228 // is tied to the lifetime of the MojoRendererService. | |
| 229 media::MojoRendererService::InitiateSurfaceRequestCB surface_request_cb = | |
| 230 base::Bind(&MediaPlayerRenderer::InitiateScopedSurfaceRequest, | |
| 231 base::Unretained(renderer.get())); | |
| 232 | |
| 233 media::MojoRendererService::Create( | |
| 234 nullptr, // CDMs are not supported. | |
| 235 nullptr, // Manages its own audio_sink. | |
| 236 nullptr, // Does not use video_sink. See StreamTextureWrapper instead. | |
| 237 std::move(renderer), surface_request_cb, std::move(request)); | |
| 238 } | |
| 239 #endif // defined(OS_ANDROID) | |
| 215 | 240 |
| 216 // static | 241 // static |
| 217 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, | 242 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, |
| 218 int routing_id) { | 243 int routing_id) { |
| 219 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 244 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 220 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); | 245 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); |
| 221 RoutingIDFrameMap::iterator it = frames->find( | 246 RoutingIDFrameMap::iterator it = frames->find( |
| 222 RenderFrameHostID(process_id, routing_id)); | 247 RenderFrameHostID(process_id, routing_id)); |
| 223 return it == frames->end() ? NULL : it->second; | 248 return it == frames->end() ? NULL : it->second; |
| 224 } | 249 } |
| (...skipping 1956 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2181 GetInterfaceRegistry()->AddInterface(base::Bind( | 2206 GetInterfaceRegistry()->AddInterface(base::Bind( |
| 2182 &PresentationServiceImpl::CreateMojoService, base::Unretained(this))); | 2207 &PresentationServiceImpl::CreateMojoService, base::Unretained(this))); |
| 2183 | 2208 |
| 2184 GetInterfaceRegistry()->AddInterface( | 2209 GetInterfaceRegistry()->AddInterface( |
| 2185 base::Bind(&MediaSessionServiceImpl::Create, base::Unretained(this))); | 2210 base::Bind(&MediaSessionServiceImpl::Create, base::Unretained(this))); |
| 2186 | 2211 |
| 2187 #if defined(OS_ANDROID) | 2212 #if defined(OS_ANDROID) |
| 2188 GetInterfaceRegistry()->AddInterface( | 2213 GetInterfaceRegistry()->AddInterface( |
| 2189 GetGlobalJavaInterfaces() | 2214 GetGlobalJavaInterfaces() |
| 2190 ->CreateInterfaceFactory<device::VibrationManager>()); | 2215 ->CreateInterfaceFactory<device::VibrationManager>()); |
| 2216 | |
| 2217 if (base::FeatureList::IsEnabled(media::kAndroidMediaPlayerRenderer)) { | |
| 2218 // Creates a MojoRendererService, passing it a MediaPlayerRender. | |
| 2219 GetInterfaceRegistry()->AddInterface<media::mojom::Renderer>(base::Bind( | |
| 2220 &content::CreateMediaPlayerRenderer, base::Unretained(this))); | |
| 2221 } | |
| 2191 #else | 2222 #else |
| 2192 GetInterfaceRegistry()->AddInterface( | 2223 GetInterfaceRegistry()->AddInterface( |
| 2193 base::Bind(&device::VibrationManagerImpl::Create)); | 2224 base::Bind(&device::VibrationManagerImpl::Create)); |
| 2194 #endif | 2225 #endif // defined(OS_ANDROID) |
| 2195 | 2226 |
| 2196 bool enable_web_bluetooth = base::CommandLine::ForCurrentProcess()->HasSwitch( | 2227 bool enable_web_bluetooth = base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2197 switches::kEnableWebBluetooth); | 2228 switches::kEnableWebBluetooth); |
| 2198 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_MACOSX) | 2229 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_MACOSX) |
| 2199 enable_web_bluetooth = true; | 2230 enable_web_bluetooth = true; |
| 2200 #endif | 2231 #endif |
| 2201 | 2232 |
| 2202 if (enable_web_bluetooth) { | 2233 if (enable_web_bluetooth) { |
| 2203 GetInterfaceRegistry()->AddInterface(base::Bind( | 2234 GetInterfaceRegistry()->AddInterface(base::Bind( |
| 2204 base::IgnoreResult(&RenderFrameHostImpl::CreateWebBluetoothService), | 2235 base::IgnoreResult(&RenderFrameHostImpl::CreateWebBluetoothService), |
| (...skipping 948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3153 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( | 3184 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( |
| 3154 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); | 3185 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); |
| 3155 return web_bluetooth_service_.get(); | 3186 return web_bluetooth_service_.get(); |
| 3156 } | 3187 } |
| 3157 | 3188 |
| 3158 void RenderFrameHostImpl::DeleteWebBluetoothService() { | 3189 void RenderFrameHostImpl::DeleteWebBluetoothService() { |
| 3159 web_bluetooth_service_.reset(); | 3190 web_bluetooth_service_.reset(); |
| 3160 } | 3191 } |
| 3161 | 3192 |
| 3162 } // namespace content | 3193 } // namespace content |
| OLD | NEW |