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

Unified Diff: chrome/browser/extensions/app_sync_data.cc

Issue 1066623008: Sync bookmark app icon urls and sizes, and download icons for new apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated sync value conversions Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/app_sync_data.h ('k') | chrome/browser/extensions/bookmark_app_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/app_sync_data.cc
diff --git a/chrome/browser/extensions/app_sync_data.cc b/chrome/browser/extensions/app_sync_data.cc
index ba3b232f7515eadc007106b2c4af56b89cc40f14..d49eb4e9eb0e6b14f0eb089485733a28416101b1 100644
--- a/chrome/browser/extensions/app_sync_data.cc
+++ b/chrome/browser/extensions/app_sync_data.cc
@@ -6,6 +6,7 @@
#include "chrome/common/extensions/manifest_handlers/app_icon_color_info.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
+#include "chrome/common/extensions/manifest_handlers/linked_app_icons.h"
#include "extensions/common/extension.h"
#include "sync/api/sync_data.h"
#include "sync/protocol/app_specifics.pb.h"
@@ -13,6 +14,12 @@
namespace extensions {
+AppSyncData::LinkedAppIconInfo::LinkedAppIconInfo() {
+}
+
+AppSyncData::LinkedAppIconInfo::~LinkedAppIconInfo() {
+}
+
AppSyncData::AppSyncData() {}
AppSyncData::AppSyncData(const Extension& extension,
@@ -35,6 +42,14 @@ AppSyncData::AppSyncData(const Extension& extension,
bookmark_app_description_ = extension.description();
bookmark_app_url_ = AppLaunchInfo::GetLaunchWebURL(&extension).spec();
bookmark_app_icon_color_ = AppIconColorInfo::GetIconColorString(&extension);
+ extensions::LinkedAppIcons icons =
+ LinkedAppIcons::GetLinkedAppIcons(&extension);
+ for (const auto& icon : icons.icons) {
+ LinkedAppIconInfo linked_icon;
+ linked_icon.url = icon.url;
+ linked_icon.size = icon.size;
+ linked_icons_.push_back(linked_icon);
+ }
}
}
@@ -102,6 +117,13 @@ void AppSyncData::PopulateAppSpecifics(sync_pb::AppSpecifics* specifics) const {
if (!bookmark_app_icon_color_.empty())
specifics->set_bookmark_app_icon_color(bookmark_app_icon_color_);
+ for (const auto& linked_icon : linked_icons_) {
+ sync_pb::LinkedAppIconInfo* linked_app_icon_info =
+ specifics->add_linked_app_icons();
+ linked_app_icon_info->set_url(linked_icon.url.spec());
+ linked_app_icon_info->set_size(linked_icon.size);
+ }
+
extension_sync_data_.PopulateExtensionSpecifics(
specifics->mutable_extension());
}
@@ -122,6 +144,18 @@ bool AppSyncData::PopulateFromAppSpecifics(
bookmark_app_url_ = specifics.bookmark_app_url();
bookmark_app_description_ = specifics.bookmark_app_description();
bookmark_app_icon_color_ = specifics.bookmark_app_icon_color();
+
+ for (int i = 0; i < specifics.linked_app_icons_size(); ++i) {
+ const sync_pb::LinkedAppIconInfo& linked_app_icon_info =
+ specifics.linked_app_icons(i);
+ if (linked_app_icon_info.has_url() && linked_app_icon_info.has_size()) {
+ LinkedAppIconInfo linked_icon;
+ linked_icon.url = GURL(linked_app_icon_info.url());
+ linked_icon.size = linked_app_icon_info.size();
+ linked_icons_.push_back(linked_icon);
+ }
+ }
+
return true;
}
« no previous file with comments | « chrome/browser/extensions/app_sync_data.h ('k') | chrome/browser/extensions/bookmark_app_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698