Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / public / browser / media_device_id.cc
index 65ac7e2..c8e5f23 100644 (file)
@@ -6,6 +6,8 @@
 #include "base/logging.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
+#include "content/browser/browser_main_loop.h"
+#include "content/browser/renderer_host/media/media_stream_manager.h"
 #include "crypto/hmac.h"
 
 namespace content {
@@ -22,7 +24,7 @@ std::string GetHMACForMediaDeviceID(const ResourceContext::SaltCallback& sc,
   bool result = hmac.Init(security_origin.spec()) &&
       hmac.Sign(raw_unique_id + salt, &digest[0], digest.size());
   DCHECK(result);
-  return StringToLowerASCII(base::HexEncode(&digest[0], digest.size()));
+  return base::StringToLowerASCII(base::HexEncode(&digest[0], digest.size()));
 }
 
 bool DoesMediaDeviceIDMatchHMAC(const ResourceContext::SaltCallback& sc,
@@ -36,4 +38,20 @@ bool DoesMediaDeviceIDMatchHMAC(const ResourceContext::SaltCallback& sc,
   return guid_from_raw_device_id == device_guid;
 }
 
+bool GetMediaDeviceIDForHMAC(MediaStreamType stream_type,
+                             const ResourceContext::SaltCallback& rc,
+                             const GURL& security_origin,
+                             const std::string& source_id,
+                             std::string* device_id) {
+  content::MediaStreamManager* manager =
+      content::BrowserMainLoop::GetInstance()->media_stream_manager();
+
+  return manager->TranslateSourceIdToDeviceId(
+      content::MEDIA_DEVICE_VIDEO_CAPTURE,
+      rc,
+      security_origin,
+      source_id,
+      device_id);
+}
+
 }  // namespace content