Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: content/renderer/pepper/content_renderer_pepper_host_factory.cc

Issue 2517953003: Move enable_webrtc to a buildflag header. (Closed)
Patch Set: Fix Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/pepper/content_renderer_pepper_host_factory.h" 5 #include "content/renderer/pepper/content_renderer_pepper_host_factory.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 14 matching lines...) Expand all
25 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" 25 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
26 #include "content/renderer/pepper/pepper_url_loader_host.h" 26 #include "content/renderer/pepper/pepper_url_loader_host.h"
27 #include "content/renderer/pepper/pepper_video_capture_host.h" 27 #include "content/renderer/pepper/pepper_video_capture_host.h"
28 #include "content/renderer/pepper/pepper_video_decoder_host.h" 28 #include "content/renderer/pepper/pepper_video_decoder_host.h"
29 #include "content/renderer/pepper/pepper_video_destination_host.h" 29 #include "content/renderer/pepper/pepper_video_destination_host.h"
30 #include "content/renderer/pepper/pepper_video_encoder_host.h" 30 #include "content/renderer/pepper/pepper_video_encoder_host.h"
31 #include "content/renderer/pepper/pepper_video_source_host.h" 31 #include "content/renderer/pepper/pepper_video_source_host.h"
32 #include "content/renderer/pepper/pepper_websocket_host.h" 32 #include "content/renderer/pepper/pepper_websocket_host.h"
33 #include "content/renderer/pepper/ppb_image_data_impl.h" 33 #include "content/renderer/pepper/ppb_image_data_impl.h"
34 #include "content/renderer/pepper/renderer_ppapi_host_impl.h" 34 #include "content/renderer/pepper/renderer_ppapi_host_impl.h"
35 #include "media/media_features.h"
35 #include "ppapi/host/resource_host.h" 36 #include "ppapi/host/resource_host.h"
36 #include "ppapi/proxy/ppapi_message_utils.h" 37 #include "ppapi/proxy/ppapi_message_utils.h"
37 #include "ppapi/proxy/ppapi_messages.h" 38 #include "ppapi/proxy/ppapi_messages.h"
38 #include "ppapi/proxy/serialized_structs.h" 39 #include "ppapi/proxy/serialized_structs.h"
39 #include "ppapi/shared_impl/ppb_image_data_shared.h" 40 #include "ppapi/shared_impl/ppb_image_data_shared.h"
40 #include "third_party/WebKit/public/platform/WebURL.h" 41 #include "third_party/WebKit/public/platform/WebURL.h"
41 #include "third_party/WebKit/public/web/WebDocument.h" 42 #include "third_party/WebKit/public/web/WebDocument.h"
42 #include "third_party/WebKit/public/web/WebPluginContainer.h" 43 #include "third_party/WebKit/public/web/WebPluginContainer.h"
43 44
44 #if defined(OS_WIN) 45 #if defined(OS_WIN)
45 #include "base/win/windows_version.h" 46 #include "base/win/windows_version.h"
46 #endif 47 #endif
47 48
48 using ppapi::host::ResourceHost; 49 using ppapi::host::ResourceHost;
49 using ppapi::UnpackMessage; 50 using ppapi::UnpackMessage;
50 51
51 namespace content { 52 namespace content {
52 53
53 namespace { 54 namespace {
54 55
55 #if defined(ENABLE_WEBRTC) 56 #if BUILDFLAG(ENABLE_WEBRTC)
56 bool CanUseMediaStreamAPI(const RendererPpapiHost* host, PP_Instance instance) { 57 bool CanUseMediaStreamAPI(const RendererPpapiHost* host, PP_Instance instance) {
57 blink::WebPluginContainer* container = 58 blink::WebPluginContainer* container =
58 host->GetContainerForInstance(instance); 59 host->GetContainerForInstance(instance);
59 if (!container) 60 if (!container)
60 return false; 61 return false;
61 62
62 GURL document_url = container->document().url(); 63 GURL document_url = container->document().url();
63 ContentRendererClient* content_renderer_client = 64 ContentRendererClient* content_renderer_client =
64 GetContentClient()->renderer(); 65 GetContentClient()->renderer();
65 return content_renderer_client->AllowPepperMediaStreamAPI(document_url); 66 return content_renderer_client->AllowPepperMediaStreamAPI(document_url);
66 } 67 }
67 #endif // defined(ENABLE_WEBRTC) 68 #endif // BUILDFLAG(ENABLE_WEBRTC)
68 69
69 static bool CanUseCameraDeviceAPI(const RendererPpapiHost* host, 70 static bool CanUseCameraDeviceAPI(const RendererPpapiHost* host,
70 PP_Instance instance) { 71 PP_Instance instance) {
71 blink::WebPluginContainer* container = 72 blink::WebPluginContainer* container =
72 host->GetContainerForInstance(instance); 73 host->GetContainerForInstance(instance);
73 if (!container) 74 if (!container)
74 return false; 75 return false;
75 76
76 GURL document_url = container->document().url(); 77 GURL document_url = container->document().url();
77 ContentRendererClient* content_renderer_client = 78 ContentRendererClient* content_renderer_client =
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 return base::MakeUnique<PepperURLLoaderHost>(host_, false, instance, 177 return base::MakeUnique<PepperURLLoaderHost>(host_, false, instance,
177 resource); 178 resource);
178 case PpapiHostMsg_VideoDecoder_Create::ID: 179 case PpapiHostMsg_VideoDecoder_Create::ID:
179 return base::MakeUnique<PepperVideoDecoderHost>(host_, instance, 180 return base::MakeUnique<PepperVideoDecoderHost>(host_, instance,
180 resource); 181 resource);
181 case PpapiHostMsg_VideoEncoder_Create::ID: 182 case PpapiHostMsg_VideoEncoder_Create::ID:
182 return base::MakeUnique<PepperVideoEncoderHost>(host_, instance, 183 return base::MakeUnique<PepperVideoEncoderHost>(host_, instance,
183 resource); 184 resource);
184 case PpapiHostMsg_WebSocket_Create::ID: 185 case PpapiHostMsg_WebSocket_Create::ID:
185 return base::MakeUnique<PepperWebSocketHost>(host_, instance, resource); 186 return base::MakeUnique<PepperWebSocketHost>(host_, instance, resource);
186 #if defined(ENABLE_WEBRTC) 187 #if BUILDFLAG(ENABLE_WEBRTC)
187 case PpapiHostMsg_MediaStreamVideoTrack_Create::ID: 188 case PpapiHostMsg_MediaStreamVideoTrack_Create::ID:
188 return base::MakeUnique<PepperMediaStreamVideoTrackHost>(host_, instance, 189 return base::MakeUnique<PepperMediaStreamVideoTrackHost>(host_, instance,
189 resource); 190 resource);
190 // These private MediaStream interfaces are exposed as if they were public 191 // These private MediaStream interfaces are exposed as if they were public
191 // so they can be used by NaCl plugins. However, they are available only 192 // so they can be used by NaCl plugins. However, they are available only
192 // for whitelisted apps. 193 // for whitelisted apps.
193 case PpapiHostMsg_VideoDestination_Create::ID: 194 case PpapiHostMsg_VideoDestination_Create::ID:
194 if (CanUseMediaStreamAPI(host_, instance)) 195 if (CanUseMediaStreamAPI(host_, instance))
195 return base::MakeUnique<PepperVideoDestinationHost>(host_, instance, 196 return base::MakeUnique<PepperVideoDestinationHost>(host_, instance,
196 resource); 197 resource);
197 case PpapiHostMsg_VideoSource_Create::ID: 198 case PpapiHostMsg_VideoSource_Create::ID:
198 if (CanUseMediaStreamAPI(host_, instance)) 199 if (CanUseMediaStreamAPI(host_, instance))
199 return base::MakeUnique<PepperVideoSourceHost>(host_, instance, 200 return base::MakeUnique<PepperVideoSourceHost>(host_, instance,
200 resource); 201 resource);
201 #endif // defined(ENABLE_WEBRTC) 202 #endif // BUILDFLAG(ENABLE_WEBRTC)
202 } 203 }
203 204
204 // Dev interfaces. 205 // Dev interfaces.
205 if (GetPermissions().HasPermission(ppapi::PERMISSION_DEV)) { 206 if (GetPermissions().HasPermission(ppapi::PERMISSION_DEV)) {
206 switch (message.type()) { 207 switch (message.type()) {
207 case PpapiHostMsg_AudioEncoder_Create::ID: 208 case PpapiHostMsg_AudioEncoder_Create::ID:
208 return base::MakeUnique<PepperAudioEncoderHost>(host_, instance, 209 return base::MakeUnique<PepperAudioEncoderHost>(host_, instance,
209 resource); 210 resource);
210 case PpapiHostMsg_AudioInput_Create::ID: 211 case PpapiHostMsg_AudioInput_Create::ID:
211 return base::MakeUnique<PepperAudioInputHost>(host_, instance, 212 return base::MakeUnique<PepperAudioInputHost>(host_, instance,
(...skipping 22 matching lines...) Expand all
234 235
235 return nullptr; 236 return nullptr;
236 } 237 }
237 238
238 const ppapi::PpapiPermissions& 239 const ppapi::PpapiPermissions&
239 ContentRendererPepperHostFactory::GetPermissions() const { 240 ContentRendererPepperHostFactory::GetPermissions() const {
240 return host_->GetPpapiHost()->permissions(); 241 return host_->GetPpapiHost()->permissions();
241 } 242 }
242 243
243 } // namespace content 244 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_certificate_generator.cc ('k') | content/renderer/pepper/pepper_media_device_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698