Home | History | Annotate | Download | only in browser
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 //
      5 // Media device IDs come in two flavors: The machine-wide unique ID of
      6 // the device, which is what we use on the browser side, and one-way
      7 // hashes over the unique ID and a security origin, which we provide
      8 // to code on the renderer side as per-security-origin IDs.
      9 
     10 #ifndef CONTENT_PUBLIC_BROWSER_MEDIA_DEVICE_ID_H_
     11 #define CONTENT_PUBLIC_BROWSER_MEDIA_DEVICE_ID_H_
     12 
     13 #include <string>
     14 
     15 #include "content/common/content_export.h"
     16 #include "content/public/browser/resource_context.h"
     17 #include "content/public/common/media_stream_request.h"
     18 #include "url/gurl.h"
     19 
     20 namespace content {
     21 
     22 // Generates a one-way hash of a device's unique ID usable by one
     23 // particular security origin.
     24 CONTENT_EXPORT std::string GetHMACForMediaDeviceID(
     25     const ResourceContext::SaltCallback& sc,
     26     const GURL& security_origin,
     27     const std::string& raw_unique_id);
     28 
     29 // Convenience method to check if |device_guid| is an HMAC of
     30 // |raw_device_id| for |security_origin|.
     31 CONTENT_EXPORT bool DoesMediaDeviceIDMatchHMAC(
     32     const ResourceContext::SaltCallback& sc,
     33     const GURL& security_origin,
     34     const std::string& device_guid,
     35     const std::string& raw_unique_id);
     36 
     37 CONTENT_EXPORT bool GetMediaDeviceIDForHMAC(
     38     MediaStreamType stream_type,
     39     const ResourceContext::SaltCallback& rc,
     40     const GURL& security_origin,
     41     const std::string& source_id,
     42     std::string* device_id);
     43 
     44 }  // namespace content
     45 
     46 #endif  // CONTENT_PUBLIC_BROWSER_MEDIA_DEVICE_ID_H_
     47