Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(405)

Side by Side Diff: chrome/browser/sync/glue/device_info.h

Issue 395013002: Pass signin_scoped_device_id to DeviceInfoSpecifics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Revers chrome_signin_client Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_ 5 #ifndef CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_
6 #define CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_ 6 #define CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 10 matching lines...) Expand all
21 21
22 namespace browser_sync { 22 namespace browser_sync {
23 23
24 // A class that holds information regarding the properties of a device. 24 // A class that holds information regarding the properties of a device.
25 class DeviceInfo { 25 class DeviceInfo {
26 public: 26 public:
27 DeviceInfo(const std::string& guid, 27 DeviceInfo(const std::string& guid,
28 const std::string& client_name, 28 const std::string& client_name,
29 const std::string& chrome_version, 29 const std::string& chrome_version,
30 const std::string& sync_user_agent, 30 const std::string& sync_user_agent,
31 const sync_pb::SyncEnums::DeviceType device_type); 31 const sync_pb::SyncEnums::DeviceType device_type,
32 const std::string& signin_scoped_device_id);
32 ~DeviceInfo(); 33 ~DeviceInfo();
33 34
34 // Sync specific unique identifier for the device. Note if a device 35 // Sync specific unique identifier for the device. Note if a device
35 // is wiped and sync is set up again this id WILL be different. 36 // is wiped and sync is set up again this id WILL be different.
36 // The same device might have more than 1 guid if the device has multiple 37 // The same device might have more than 1 guid if the device has multiple
37 // accounts syncing. 38 // accounts syncing.
38 const std::string& guid() const; 39 const std::string& guid() const;
39 40
40 // The host name for the client. 41 // The host name for the client.
41 const std::string& client_name() const; 42 const std::string& client_name() const;
42 43
43 // Chrome version string. 44 // Chrome version string.
44 const std::string& chrome_version() const; 45 const std::string& chrome_version() const;
45 46
46 // The user agent is the combination of OS type, chrome version and which 47 // The user agent is the combination of OS type, chrome version and which
47 // channel of chrome(stable or beta). For more information see 48 // channel of chrome(stable or beta). For more information see
48 // |DeviceInfo::MakeUserAgentForSyncApi|. 49 // |DeviceInfo::MakeUserAgentForSyncApi|.
49 const std::string& sync_user_agent() const; 50 const std::string& sync_user_agent() const;
50 51
51 // Third party visible id for the device. See |public_id_| for more details. 52 // Third party visible id for the device. See |public_id_| for more details.
52 const std::string& public_id() const; 53 const std::string& public_id() const;
53 54
54 // Device Type. 55 // Device Type.
55 sync_pb::SyncEnums::DeviceType device_type() const; 56 sync_pb::SyncEnums::DeviceType device_type() const;
56 57
58 // Device_id that is stable until user signs out. This device_id is used for
59 // annotating login scoped refresh token.
60 const std::string& signin_scoped_device_id() const;
61
57 // Gets the OS in string form. 62 // Gets the OS in string form.
58 std::string GetOSString() const; 63 std::string GetOSString() const;
59 64
60 // Gets the device type in string form. 65 // Gets the device type in string form.
61 std::string GetDeviceTypeString() const; 66 std::string GetDeviceTypeString() const;
62 67
63 // Compares this object's fields with another's. 68 // Compares this object's fields with another's.
64 bool Equals(const DeviceInfo& other) const; 69 bool Equals(const DeviceInfo& other) const;
65 70
66 // Apps can set ids for a device that is meaningful to them but 71 // Apps can set ids for a device that is meaningful to them but
67 // not unique enough so the user can be tracked. Exposing |guid| 72 // not unique enough so the user can be tracked. Exposing |guid|
68 // would lead to a stable unique id for a device which can potentially 73 // would lead to a stable unique id for a device which can potentially
69 // be used for tracking. 74 // be used for tracking.
70 void set_public_id(std::string id); 75 void set_public_id(std::string id);
71 76
72 // Converts the |DeviceInfo| values to a JS friendly DictionaryValue, 77 // Converts the |DeviceInfo| values to a JS friendly DictionaryValue,
73 // which extension APIs can expose to third party apps. 78 // which extension APIs can expose to third party apps.
74 base::DictionaryValue* ToValue(); 79 base::DictionaryValue* ToValue();
75 80
76 static sync_pb::SyncEnums::DeviceType GetLocalDeviceType(); 81 static sync_pb::SyncEnums::DeviceType GetLocalDeviceType();
77 82
78 // Creates a |DeviceInfo| object representing the local device and passes 83 // Creates a |DeviceInfo| object representing the local device and passes
79 // it as parameter to the callback. 84 // it as parameter to the callback.
80 static void CreateLocalDeviceInfo( 85 static void CreateLocalDeviceInfo(
81 const std::string& guid, 86 const std::string& guid,
87 const std::string& signin_scoped_device_id,
82 base::Callback<void(const DeviceInfo& local_info)> callback); 88 base::Callback<void(const DeviceInfo& local_info)> callback);
83 89
84 // Gets the local device name and passes it as a parameter to callback. 90 // Gets the local device name and passes it as a parameter to callback.
85 static void GetClientName( 91 static void GetClientName(
86 base::Callback<void(const std::string& local_info)> callback); 92 base::Callback<void(const std::string& local_info)> callback);
87 93
88 // Helper to construct a user agent string (ASCII) suitable for use by 94 // Helper to construct a user agent string (ASCII) suitable for use by
89 // the syncapi for any HTTP communication. This string is used by the sync 95 // the syncapi for any HTTP communication. This string is used by the sync
90 // backend for classifying client types when calculating statistics. 96 // backend for classifying client types when calculating statistics.
91 static std::string MakeUserAgentForSyncApi( 97 static std::string MakeUserAgentForSyncApi(
92 const chrome::VersionInfo& version_info); 98 const chrome::VersionInfo& version_info);
93 99
94 private: 100 private:
95 static void GetClientNameContinuation( 101 static void GetClientNameContinuation(
96 base::Callback<void(const std::string& local_info)> callback, 102 base::Callback<void(const std::string& local_info)> callback,
97 const std::string& session_name); 103 const std::string& session_name);
98 104
99 static void CreateLocalDeviceInfoContinuation( 105 static void CreateLocalDeviceInfoContinuation(
100 const std::string& guid, 106 const std::string& guid,
107 const std::string& signin_scoped_device_id,
101 base::Callback<void(const DeviceInfo& local_info)> callback, 108 base::Callback<void(const DeviceInfo& local_info)> callback,
102 const std::string& session_name); 109 const std::string& session_name);
103 110
104 const std::string guid_; 111 const std::string guid_;
105 112
106 const std::string client_name_; 113 const std::string client_name_;
107 114
108 const std::string chrome_version_; 115 const std::string chrome_version_;
109 116
110 const std::string sync_user_agent_; 117 const std::string sync_user_agent_;
111 118
112 const sync_pb::SyncEnums::DeviceType device_type_; 119 const sync_pb::SyncEnums::DeviceType device_type_;
113 120
121 std::string signin_scoped_device_id_;
122
114 // Exposing |guid| would lead to a stable unique id for a device which 123 // Exposing |guid| would lead to a stable unique id for a device which
115 // can potentially be used for tracking. Public ids are privacy safe 124 // can potentially be used for tracking. Public ids are privacy safe
116 // ids in that the same device will have different id for different apps 125 // ids in that the same device will have different id for different apps
117 // and they are also reset when app/extension is uninstalled. 126 // and they are also reset when app/extension is uninstalled.
118 std::string public_id_; 127 std::string public_id_;
119 128
120 DISALLOW_COPY_AND_ASSIGN(DeviceInfo); 129 DISALLOW_COPY_AND_ASSIGN(DeviceInfo);
121 }; 130 };
122 131
123 } // namespace browser_sync 132 } // namespace browser_sync
124 133
125 #endif // CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_ 134 #endif // CHROME_BROWSER_SYNC_GLUE_DEVICE_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698