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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 83 #include "content/public/common/file_chooser_file_info.h" | 83 #include "content/public/common/file_chooser_file_info.h" |
| 84 #include "content/public/common/file_chooser_params.h" | 84 #include "content/public/common/file_chooser_params.h" |
| 85 #include "content/public/common/isolated_world_ids.h" | 85 #include "content/public/common/isolated_world_ids.h" |
| 86 #include "content/public/common/service_manager_connection.h" | 86 #include "content/public/common/service_manager_connection.h" |
| 87 #include "content/public/common/url_constants.h" | 87 #include "content/public/common/url_constants.h" |
| 88 #include "content/public/common/url_utils.h" | 88 #include "content/public/common/url_utils.h" |
| 89 #include "device/generic_sensor/sensor_provider_impl.h" | 89 #include "device/generic_sensor/sensor_provider_impl.h" |
| 90 #include "device/geolocation/geolocation_service_context.h" | 90 #include "device/geolocation/geolocation_service_context.h" |
| 91 #include "device/vibration/vibration_manager_impl.h" | 91 #include "device/vibration/vibration_manager_impl.h" |
| 92 #include "device/wake_lock/wake_lock_service_context.h" | 92 #include "device/wake_lock/wake_lock_service_context.h" |
| 93 #include "media/base/media_switches.h" | |
| 93 #include "media/mojo/interfaces/media_service.mojom.h" | 94 #include "media/mojo/interfaces/media_service.mojom.h" |
| 94 #include "media/mojo/interfaces/service_factory.mojom.h" | 95 #include "media/mojo/interfaces/service_factory.mojom.h" |
| 95 #include "mojo/public/cpp/bindings/associated_interface_ptr.h" | 96 #include "mojo/public/cpp/bindings/associated_interface_ptr.h" |
| 97 #include "mojo/public/cpp/bindings/strong_binding.h" | |
| 96 #include "services/shell/public/cpp/connector.h" | 98 #include "services/shell/public/cpp/connector.h" |
| 97 #include "services/shell/public/cpp/interface_provider.h" | 99 #include "services/shell/public/cpp/interface_provider.h" |
| 98 #include "ui/accessibility/ax_tree.h" | 100 #include "ui/accessibility/ax_tree.h" |
| 99 #include "ui/accessibility/ax_tree_update.h" | 101 #include "ui/accessibility/ax_tree_update.h" |
| 100 #include "ui/gfx/geometry/quad_f.h" | 102 #include "ui/gfx/geometry/quad_f.h" |
| 101 #include "url/gurl.h" | 103 #include "url/gurl.h" |
| 102 | 104 |
| 103 #if defined(OS_ANDROID) | 105 #if defined(OS_ANDROID) |
| 104 #include "content/public/browser/android/java_interfaces.h" | 106 #include "content/public/browser/android/java_interfaces.h" |
| 105 #if defined(ENABLE_MOJO_CDM) | 107 #if defined(ENABLE_MOJO_CDM) |
| 106 #include "content/browser/media/android/provision_fetcher_impl.h" | 108 #include "content/browser/media/android/provision_fetcher_impl.h" |
| 107 #endif | 109 #endif |
| 110 #include "content/browser/media/android/media_player_renderer.h" | |
| 111 // TODO(tguilbert): For-reviewers -- Is there a convenient way to get rid of the | |
|
liberato (no reviews please)
2016/10/12 15:15:18
sorry, i don't.
don't forget to remove the commen
tguilbert
2016/10/12 21:46:24
Done.
| |
| 112 // dependency on these files? MojoRendererService complains about incomplete | |
| 113 // types because there is no move ctor define, but they aren't actually used... | |
| 114 #include "media/base/audio_renderer_sink.h" | |
| 115 #include "media/base/video_renderer_sink.h" | |
| 116 #include "media/mojo/services/mojo_renderer_service.h" | |
| 108 #endif | 117 #endif |
| 109 | 118 |
| 110 #if defined(OS_MACOSX) | 119 #if defined(OS_MACOSX) |
| 111 #include "content/browser/frame_host/popup_menu_helper_mac.h" | 120 #include "content/browser/frame_host/popup_menu_helper_mac.h" |
| 112 #endif | 121 #endif |
| 113 | 122 |
| 114 #if defined(ENABLE_WEBVR) | 123 #if defined(ENABLE_WEBVR) |
| 115 #include "base/command_line.h" | 124 #include "base/command_line.h" |
| 116 #include "content/public/common/content_switches.h" | 125 #include "content/public/common/content_switches.h" |
| 117 #include "device/vr/vr_service_impl.h" // nogncheck | 126 #include "device/vr/vr_service_impl.h" // nogncheck |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 199 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, | 208 RenderFrameHost* RenderFrameHost::FromID(int render_process_id, |
| 200 int render_frame_id) { | 209 int render_frame_id) { |
| 201 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); | 210 return RenderFrameHostImpl::FromID(render_process_id, render_frame_id); |
| 202 } | 211 } |
| 203 | 212 |
| 204 #if defined(OS_ANDROID) | 213 #if defined(OS_ANDROID) |
| 205 // static | 214 // static |
| 206 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { | 215 void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() { |
| 207 g_allow_injecting_javascript = true; | 216 g_allow_injecting_javascript = true; |
| 208 } | 217 } |
| 209 #endif | 218 |
| 219 void CreateMediaPlayerRenderer( | |
| 220 content::RenderFrameHost* render_frame_host, | |
| 221 mojo::InterfaceRequest<media::mojom::Renderer> request) { | |
| 222 std::unique_ptr<MediaPlayerRenderer> renderer = | |
| 223 base::MakeUnique<MediaPlayerRenderer>(render_frame_host); | |
| 224 | |
| 225 // base::Unretained is safe here because the lifetime of the MediaPlayerRender | |
| 226 // is tied to the lifetime of the MojoRendererService. | |
| 227 media::MojoRendererService::InitiateSurfaceRequestCB surface_request_cb = | |
| 228 base::Bind(&MediaPlayerRenderer::InitiateScopedSurfaceRequest, | |
| 229 base::Unretained(renderer.get())); | |
| 230 | |
| 231 media::MojoRendererService::Create(nullptr, nullptr, nullptr, | |
|
xhwang
2016/10/12 20:14:14
add a comment about what those nullptrs are.
tguilbert
2016/10/12 21:46:24
Done.
| |
| 232 std::move(renderer), surface_request_cb, | |
| 233 std::move(request)); | |
| 234 } | |
| 235 #endif // defined(OS_ANDROID) | |
| 210 | 236 |
| 211 // static | 237 // static |
| 212 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, | 238 RenderFrameHostImpl* RenderFrameHostImpl::FromID(int process_id, |
| 213 int routing_id) { | 239 int routing_id) { |
| 214 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 240 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 215 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); | 241 RoutingIDFrameMap* frames = g_routing_id_frame_map.Pointer(); |
| 216 RoutingIDFrameMap::iterator it = frames->find( | 242 RoutingIDFrameMap::iterator it = frames->find( |
| 217 RenderFrameHostID(process_id, routing_id)); | 243 RenderFrameHostID(process_id, routing_id)); |
| 218 return it == frames->end() ? NULL : it->second; | 244 return it == frames->end() ? NULL : it->second; |
| 219 } | 245 } |
| (...skipping 1937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2157 GetInterfaceRegistry()->AddInterface(base::Bind( | 2183 GetInterfaceRegistry()->AddInterface(base::Bind( |
| 2158 &PresentationServiceImpl::CreateMojoService, base::Unretained(this))); | 2184 &PresentationServiceImpl::CreateMojoService, base::Unretained(this))); |
| 2159 | 2185 |
| 2160 GetInterfaceRegistry()->AddInterface( | 2186 GetInterfaceRegistry()->AddInterface( |
| 2161 base::Bind(&MediaSessionServiceImpl::Create, base::Unretained(this))); | 2187 base::Bind(&MediaSessionServiceImpl::Create, base::Unretained(this))); |
| 2162 | 2188 |
| 2163 #if defined(OS_ANDROID) | 2189 #if defined(OS_ANDROID) |
| 2164 GetInterfaceRegistry()->AddInterface( | 2190 GetInterfaceRegistry()->AddInterface( |
| 2165 GetGlobalJavaInterfaces() | 2191 GetGlobalJavaInterfaces() |
| 2166 ->CreateInterfaceFactory<device::VibrationManager>()); | 2192 ->CreateInterfaceFactory<device::VibrationManager>()); |
| 2193 | |
| 2194 if (base::FeatureList::IsEnabled(media::kEnableMediaPlayerRenderer)) { | |
|
watk
2016/10/11 23:49:35
Feature should not have "enable" in the name for c
tguilbert
2016/10/12 21:46:24
Done.
| |
| 2195 // Creates a MojoRendererService, passing it a MediaPlayerRender. | |
| 2196 GetInterfaceRegistry()->AddInterface<media::mojom::Renderer>(base::Bind( | |
| 2197 &content::CreateMediaPlayerRenderer, base::Unretained(this))); | |
| 2198 } | |
| 2167 #else | 2199 #else |
| 2168 GetInterfaceRegistry()->AddInterface( | 2200 GetInterfaceRegistry()->AddInterface( |
| 2169 base::Bind(&device::VibrationManagerImpl::Create)); | 2201 base::Bind(&device::VibrationManagerImpl::Create)); |
| 2170 #endif | 2202 #endif // defined(OS_ANDROID) |
| 2171 | 2203 |
| 2172 bool enable_web_bluetooth = base::CommandLine::ForCurrentProcess()->HasSwitch( | 2204 bool enable_web_bluetooth = base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 2173 switches::kEnableWebBluetooth); | 2205 switches::kEnableWebBluetooth); |
| 2174 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_MACOSX) | 2206 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_MACOSX) |
| 2175 enable_web_bluetooth = true; | 2207 enable_web_bluetooth = true; |
| 2176 #endif | 2208 #endif |
| 2177 | 2209 |
| 2178 if (enable_web_bluetooth) { | 2210 if (enable_web_bluetooth) { |
| 2179 GetInterfaceRegistry()->AddInterface(base::Bind( | 2211 GetInterfaceRegistry()->AddInterface(base::Bind( |
| 2180 base::IgnoreResult(&RenderFrameHostImpl::CreateWebBluetoothService), | 2212 base::IgnoreResult(&RenderFrameHostImpl::CreateWebBluetoothService), |
| (...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3107 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( | 3139 web_bluetooth_service_->SetClientConnectionErrorHandler(base::Bind( |
| 3108 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); | 3140 &RenderFrameHostImpl::DeleteWebBluetoothService, base::Unretained(this))); |
| 3109 return web_bluetooth_service_.get(); | 3141 return web_bluetooth_service_.get(); |
| 3110 } | 3142 } |
| 3111 | 3143 |
| 3112 void RenderFrameHostImpl::DeleteWebBluetoothService() { | 3144 void RenderFrameHostImpl::DeleteWebBluetoothService() { |
| 3113 web_bluetooth_service_.reset(); | 3145 web_bluetooth_service_.reset(); |
| 3114 } | 3146 } |
| 3115 | 3147 |
| 3116 } // namespace content | 3148 } // namespace content |
| OLD | NEW |