summaryrefslogtreecommitdiffstats
path: root/sync/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'sync/protocol')
-rw-r--r--sync/protocol/app_specifics.proto13
-rw-r--r--sync/protocol/proto_value_conversions.cc10
-rw-r--r--sync/protocol/proto_value_conversions.h6
-rw-r--r--sync/protocol/proto_value_conversions_unittest.cc4
4 files changed, 32 insertions, 1 deletions
diff --git a/sync/protocol/app_specifics.proto b/sync/protocol/app_specifics.proto
index a43ea2f..fe07d2d 100644
--- a/sync/protocol/app_specifics.proto
+++ b/sync/protocol/app_specifics.proto
@@ -38,6 +38,15 @@ message AppNotificationSettings {
optional string oauth_client_id = 3;
}
+// Information about a linked app icon.
+message LinkedAppIconInfo {
+ // The URL of the app icon.
+ optional string url = 1;
+
+ // The size of the app icon in DIPs.
+ optional uint32 size = 2;
+}
+
// Properties of app sync objects.
//
// For now, an app is just an extension. We keep the two data types
@@ -79,4 +88,8 @@ message AppSpecifics {
// This is the color to use when generating bookmark app icons. The string is
// in #rrggbb or #rgb syntax, e.g. #d8d8d8.
optional string bookmark_app_icon_color = 8;
+
+ // This is information about linked icons (that is, icons that are downloaded
+ // from outside the app's bundle of files.
+ repeated LinkedAppIconInfo linked_app_icons = 9;
}
diff --git a/sync/protocol/proto_value_conversions.cc b/sync/protocol/proto_value_conversions.cc
index de55704..f169f4f 100644
--- a/sync/protocol/proto_value_conversions.cc
+++ b/sync/protocol/proto_value_conversions.cc
@@ -298,6 +298,14 @@ base::DictionaryValue* AppSettingSpecificsToValue(
return value;
}
+base::DictionaryValue* LinkedAppIconInfoToValue(
+ const sync_pb::LinkedAppIconInfo& proto) {
+ base::DictionaryValue* value = new base::DictionaryValue();
+ SET_STR(url);
+ SET_INT32(size);
+ return value;
+}
+
base::DictionaryValue* AppSpecificsToValue(
const sync_pb::AppSpecifics& proto) {
base::DictionaryValue* value = new base::DictionaryValue();
@@ -308,6 +316,8 @@ base::DictionaryValue* AppSpecificsToValue(
SET_ENUM(launch_type, GetLaunchTypeString);
SET_STR(bookmark_app_url);
SET_STR(bookmark_app_description);
+ SET_STR(bookmark_app_icon_color);
+ SET_REP(linked_app_icons, LinkedAppIconInfoToValue);
return value;
}
diff --git a/sync/protocol/proto_value_conversions.h b/sync/protocol/proto_value_conversions.h
index 02d7314..8aa02ad 100644
--- a/sync/protocol/proto_value_conversions.h
+++ b/sync/protocol/proto_value_conversions.h
@@ -46,6 +46,7 @@ class FaviconTrackingSpecifics;
class GlobalIdDirective;
class HistoryDeleteDirectiveSpecifics;
class KeystoreEncryptionFlagsSpecifics;
+class LinkedAppIconInfo;
class Media;
class ManagedUserSettingSpecifics;
class ManagedUserSharedSettingSpecifics;
@@ -99,10 +100,13 @@ SYNC_EXPORT_PRIVATE base::DictionaryValue* EncryptedDataToValue(
SYNC_EXPORT_PRIVATE base::DictionaryValue* AppListSpecificsToValue(
const sync_pb::AppListSpecifics& proto);
-// Sub-protocol of AppSpecifics.
+// Sub-protocols of AppSpecifics.
SYNC_EXPORT_PRIVATE base::DictionaryValue* AppSettingsToValue(
const sync_pb::AppNotificationSettings& app_notification_settings);
+SYNC_EXPORT_PRIVATE base::DictionaryValue* LinkedAppIconInfoToValue(
+ const sync_pb::LinkedAppIconInfo& linked_app_icon_info);
+
// Sub-protocols of SessionSpecifics.
SYNC_EXPORT_PRIVATE base::DictionaryValue* SessionHeaderToValue(
diff --git a/sync/protocol/proto_value_conversions_unittest.cc b/sync/protocol/proto_value_conversions_unittest.cc
index d52223b..47eb940 100644
--- a/sync/protocol/proto_value_conversions_unittest.cc
+++ b/sync/protocol/proto_value_conversions_unittest.cc
@@ -182,6 +182,10 @@ TEST_F(ProtoValueConversionsTest, BookmarkSpecificsData) {
EXPECT_EQ("value2", meta_value);
}
+TEST_F(ProtoValueConversionsTest, LinkedAppIconInfoToValue) {
+ TestSpecificsToValue(LinkedAppIconInfoToValue);
+}
+
TEST_F(ProtoValueConversionsTest, PriorityPreferenceSpecificsToValue) {
TestSpecificsToValue(PriorityPreferenceSpecificsToValue);
}