| Index: chrome/renderer/chrome_content_renderer_client.cc
|
| diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
|
| index 68676109e1ceadfafa364ac7894c34019a957495..51de434e29b4c186b4b292e4e1d3c611277e8886 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -180,10 +180,16 @@ namespace {
|
|
|
| ChromeContentRendererClient* g_current_client;
|
|
|
| +// Whitelist PPAPI for Android Runtime for Chromium. (See crbug.com/383937)
|
| #if defined(ENABLE_PLUGINS)
|
| +const char* const kPredefinedAllowedCameraDeviceOrigins[] = {
|
| + "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",
|
| + "4EB74897CB187C7633357C2FE832E0AD6A44883A"
|
| +};
|
| +
|
| const char* const kPredefinedAllowedCompositorOrigins[] = {
|
| - "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/383937
|
| - "4EB74897CB187C7633357C2FE832E0AD6A44883A" // see crbug.com/383937
|
| + "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",
|
| + "4EB74897CB187C7633357C2FE832E0AD6A44883A"
|
| };
|
| #endif
|
|
|
| @@ -334,6 +340,9 @@ ChromeContentRendererClient::ChromeContentRendererClient() {
|
| ChromeExtensionsRendererClient::GetInstance());
|
| #endif
|
| #if defined(ENABLE_PLUGINS)
|
| + for (size_t i = 0; i < arraysize(kPredefinedAllowedCameraDeviceOrigins); ++i)
|
| + allowed_camera_device_origins_.insert(
|
| + kPredefinedAllowedCameraDeviceOrigins[i]);
|
| for (size_t i = 0; i < arraysize(kPredefinedAllowedCompositorOrigins); ++i)
|
| allowed_compositor_origins_.insert(kPredefinedAllowedCompositorOrigins[i]);
|
| #endif
|
| @@ -1592,6 +1601,20 @@ bool ChromeContentRendererClient::IsPluginAllowedToUseDevChannelAPIs() {
|
| #endif
|
| }
|
|
|
| +bool ChromeContentRendererClient::IsPluginAllowedToUseCameraDeviceAPI(
|
| + const GURL& url) {
|
| +#if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnablePepperTesting))
|
| + return true;
|
| +
|
| + if (IsExtensionOrSharedModuleWhitelisted(url, allowed_camera_device_origins_))
|
| + return true;
|
| +#endif
|
| +
|
| + return false;
|
| +}
|
| +
|
| bool ChromeContentRendererClient::IsPluginAllowedToUseCompositorAPI(
|
| const GURL& url) {
|
| #if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
|
|
|