Add a constructor that takes only the "interesting" args (basically the args that...
[chromium-blink-merge.git] / sync / protocol / nigori_specifics.proto
blob4f63ff4b696cef820912a04a0c987a8155cf0a7a
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
3 // found in the LICENSE file.
4 //
5 // Sync protocol datatype extension for nigori keys.
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file.
10 syntax = "proto2";
12 option optimize_for = LITE_RUNTIME;
13 option retain_unknown_fields = true;
15 package sync_pb;
17 import "encryption.proto";
19 message NigoriKey {
20   optional string name = 1;
21   optional bytes user_key = 2;
22   optional bytes encryption_key = 3;
23   optional bytes mac_key = 4;
26 message NigoriKeyBag {
27   repeated NigoriKey key = 2;
30 // Information about a device that is running a sync-enabled Chrome browser.
31 // We are mapping the unique per-device cache guid to more specific information
32 // about the device.
33 message DeviceInformation {
34   optional string cache_guid = 1;
36   // The name of the device is dependent on the OS running the Chrome instance.
37   // On a Chromebook this is "Chromebook", on Linux the distribution name, on
38   // Mac OSX the hadware model name and on Windows the computer name.
39   optional string name = 2;
41   // The platform of the device (ChromeOS, Linux, Mac, or Windows).
42   optional string platform = 3;
44   // The Chrome version of the sync-enabled Chrome browser.
45   optional string chrome_version = 4;
48 // Properties of nigori sync object.
49 message NigoriSpecifics {
50   optional EncryptedData encrypted = 1;
51   // True if |encrypted| is encrypted using a passphrase
52   // explicitly set by the user.
53   optional bool using_explicit_passphrase = 2;
55   // Obsolete encryption fields. These were deprecated due to legacy versions
56   // that understand their usage but did not perform encryption properly.
57   // optional bool deprecated_encrypt_bookmarks = 3;
58   // optional bool deprecated_encrypt_preferences = 4;
59   // optional bool deprecated_encrypt_autofill_profile = 5;
60   // optional bool deprecated_encrypt_autofill = 6;
61   // optional bool deprecated_encrypt_themes = 7;
62   // optional bool deprecated_encrypt_typed_urls = 8;
63   // optional bool deprecated_encrypt_extensions = 9;
64   // optional bool deprecated_encrypt_sessions = 10;
65   // optional bool deprecated_encrypt_apps = 11;
66   // optional bool deprecated_encrypt_search_engines = 12;
68   // Booleans corresponding to whether a datatype should be encrypted.
69   // Passwords are always encrypted, so we don't need a field here.
70   optional bool encrypt_bookmarks = 13;
71   optional bool encrypt_preferences = 14;
72   optional bool encrypt_autofill_profile = 15;
73   optional bool encrypt_autofill = 16;
74   optional bool encrypt_themes = 17;
75   optional bool encrypt_typed_urls = 18;
76   optional bool encrypt_extensions = 19;
77   optional bool encrypt_sessions = 20;
78   optional bool encrypt_apps = 21;
79   optional bool encrypt_search_engines = 22;
81   // Deprecated on clients where tab sync is enabled by default.
82   // optional bool sync_tabs = 23;
84   // If true, all current and future datatypes will be encrypted.
85   optional bool encrypt_everything = 24;
87   optional bool encrypt_extension_settings = 25;
88   optional bool encrypt_app_notifications = 26;
89   optional bool encrypt_app_settings = 27;
91   // User device information. Contains information about each device that has a
92   // sync-enabled Chrome browser connected to the user account.
93   repeated DeviceInformation device_information = 28;
94   
95   // Enable syncing favicons as part of tab sync.
96   optional bool sync_tab_favicons = 29;