const std::string& client_name,
const std::string& chrome_version,
const std::string& sync_user_agent,
- const sync_pb::SyncEnums::DeviceType device_type);
+ const sync_pb::SyncEnums::DeviceType device_type,
+ const std::string& signin_scoped_device_id);
~DeviceInfo();
// Sync specific unique identifier for the device. Note if a device
// Device Type.
sync_pb::SyncEnums::DeviceType device_type() const;
+ // Device_id that is stable until user signs out. This device_id is used for
+ // annotating login scoped refresh token.
+ const std::string& signin_scoped_device_id() const;
+
// Gets the OS in string form.
std::string GetOSString() const;
// it as parameter to the callback.
static void CreateLocalDeviceInfo(
const std::string& guid,
+ const std::string& signin_scoped_device_id,
base::Callback<void(const DeviceInfo& local_info)> callback);
// Gets the local device name and passes it as a parameter to callback.
static void CreateLocalDeviceInfoContinuation(
const std::string& guid,
+ const std::string& signin_scoped_device_id,
base::Callback<void(const DeviceInfo& local_info)> callback,
const std::string& session_name);
const sync_pb::SyncEnums::DeviceType device_type_;
+ std::string signin_scoped_device_id_;
+
// Exposing |guid| would lead to a stable unique id for a device which
// can potentially be used for tracking. Public ids are privacy safe
// ids in that the same device will have different id for different apps