Index: chrome/browser/media/media_capture_devices_dispatcher.cc |
diff --git a/chrome/browser/media/media_capture_devices_dispatcher.cc b/chrome/browser/media/media_capture_devices_dispatcher.cc |
index 93d462b8bbe66567759879b3ea2e852421d03587..511f6c27145c5ac3274b4305afa50f31c4029bf5 100644 |
--- a/chrome/browser/media/media_capture_devices_dispatcher.cc |
+++ b/chrome/browser/media/media_capture_devices_dispatcher.cc |
@@ -89,60 +89,31 @@ bool IsMediaRequestWhitelistedForExtension( |
extension->id() == "nnckehldicaciogcbchegobnafnjkcne"; |
} |
-// This is a short-term solution to allow testing of the the Screen Capture API |
-// with Google Hangouts in M27. |
-// TODO(sergeyu): Remove this whitelist as soon as possible. |
-bool IsOriginWhitelistedForScreenCapture(const GURL& origin) { |
-#if defined(OFFICIAL_BUILD) |
- if (// Google Hangouts. |
- (origin.SchemeIs("https") && |
- EndsWith(origin.spec(), ".talkgadget.google.com/", true)) || |
- origin.spec() == "https://talkgadget.google.com/" || |
- origin.spec() == "https://plus.google.com/" || |
- origin.spec() == "chrome-extension://pkedcjkdefgpdelpbcmbmeomcjbeemfm/" || |
- origin.spec() == "chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/" || |
- origin.spec() == "chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/" || |
- origin.spec() == "chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/" || |
- origin.spec() == "chrome-extension://gfdkimpbcpahaombhbimeihdjnejgicl/") { |
- return true; |
- } |
- // Check against hashed origins. |
- // TODO(hshi): remove this when trusted tester becomes public. |
- const std::string origin_hash = base::SHA1HashString(origin.spec()); |
- DCHECK_EQ(origin_hash.length(), base::kSHA1Length); |
- const std::string hexencoded_origin_hash = |
- base::HexEncode(origin_hash.data(), origin_hash.length()); |
+bool IsBuiltInExtension(const GURL& origin) { |
return |
- hexencoded_origin_hash == "3C2705BC432E7C51CA8553FDC5BEE873FF2468EE"; |
-#else |
- return false; |
-#endif |
+ // Feedback Extension. |
+ origin.spec() == "chrome-extension://gfdkimpbcpahaombhbimeihdjnejgicl/"; |
} |
-#if defined(OS_CHROMEOS) |
// Returns true of the security origin is associated with casting. |
bool IsOriginForCasting(const GURL& origin) { |
#if defined(OFFICIAL_BUILD) |
// Whitelisted tab casting extensions. |
- if (origin.spec() == "chrome-extension://pkedcjkdefgpdelpbcmbmeomcjbeemfm/" || |
- origin.spec() == "chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/" || |
- origin.spec() == "chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/" || |
- origin.spec() == "chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/") { |
- return true; |
- } |
- // Check against hashed origins. |
- // TODO(hshi): remove this when trusted tester becomes public. |
- const std::string origin_hash = base::SHA1HashString(origin.spec()); |
- DCHECK_EQ(origin_hash.length(), base::kSHA1Length); |
- const std::string hexencoded_origin_hash = |
- base::HexEncode(origin_hash.data(), origin_hash.length()); |
return |
- hexencoded_origin_hash == "3C2705BC432E7C51CA8553FDC5BEE873FF2468EE"; |
+ // Dev |
+ origin.spec() == "chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/" || |
+ // Canary |
+ origin.spec() == "chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/" || |
+ // Beta (internal) |
+ origin.spec() == "chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/" || |
+ // Google Cast Beta |
+ origin.spec() == "chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/" || |
+ // Google Cast Stable |
+ origin.spec() == "chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/"; |
#else |
return false; |
#endif |
} |
-#endif |
// Helper to get title of the calling application shown in the screen capture |
// notification. |
@@ -435,7 +406,8 @@ void MediaCaptureDevicesDispatcher::ProcessScreenCaptureAccessRequest( |
const bool screen_capture_enabled = |
CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableUserMediaScreenCapturing) || |
- IsOriginWhitelistedForScreenCapture(request.security_origin); |
+ IsOriginForCasting(request.security_origin) || |
+ IsBuiltInExtension(request.security_origin); |
const bool origin_is_secure = |
request.security_origin.SchemeIsSecure() || |