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 ab0212949f54ab8b8919fab25b5b128df0a4146d..c7d5c90c8bc89e4dbd9f8ef0c28f2912753b3a28 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -181,6 +181,11 @@ namespace { |
ChromeContentRendererClient* g_current_client; |
#if defined(ENABLE_PLUGINS) |
+const char* const kPredefinedAllowedCameraDeviceOrigins[] = { |
+ "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/383937 |
+ "4EB74897CB187C7633357C2FE832E0AD6A44883A" // see crbug.com/383937 |
Nico
2015/02/21 22:24:12
can we please stop whitelisting random extension i
Justin Chuang
2015/02/22 12:06:26
I don't know the whole story.
Dave, would it hel
dmichael (off chromium)
2015/02/24 18:24:09
Sorry, Nico. This is born of wanting to provide AP
Justin Chuang
2015/02/25 03:59:02
I can do that only if it's not urgent. I may not b
|
+}; |
+ |
const char* const kPredefinedAllowedCompositorOrigins[] = { |
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", // see crbug.com/383937 |
"4EB74897CB187C7633357C2FE832E0AD6A44883A" // see crbug.com/383937 |
@@ -1553,6 +1558,26 @@ 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; |
+ |
+ std::set<std::string> allowed_origins; |
+ for (size_t i = 0; i < arraysize(kPredefinedAllowedCameraDeviceOrigins); ++i) |
+ allowed_origins.insert(kPredefinedAllowedCameraDeviceOrigins[i]); |
Nico
2015/02/21 23:21:02
(fwiw, the other whitelists build the set once in
Justin Chuang
2015/02/22 12:06:26
Done.
|
+ if (IsExtensionOrSharedModuleWhitelisted(url, allowed_origins)) |
+ return true; |
+ |
+ chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); |
+ return channel <= chrome::VersionInfo::CHANNEL_DEV; |
+#else |
+ return false; |
+#endif |
+} |
+ |
bool ChromeContentRendererClient::IsPluginAllowedToUseCompositorAPI( |
const GURL& url) { |
#if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS) |