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

Side by Side Diff: chrome/browser/extensions/app_sync_data.cc

Issue 782693002: Ensure there are always nice icons for bookmark apps. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac compile Created 6 years 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 #include "chrome/browser/extensions/app_sync_data.h" 5 #include "chrome/browser/extensions/app_sync_data.h"
6 6
7 #include "chrome/common/extensions/manifest_handlers/app_icon_color_info.h"
7 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" 8 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
8 #include "extensions/common/extension.h" 9 #include "extensions/common/extension.h"
9 #include "sync/api/sync_data.h" 10 #include "sync/api/sync_data.h"
10 #include "sync/protocol/app_specifics.pb.h" 11 #include "sync/protocol/app_specifics.pb.h"
11 #include "sync/protocol/sync.pb.h" 12 #include "sync/protocol/sync.pb.h"
12 13
13 namespace extensions { 14 namespace extensions {
14 15
15 AppSyncData::AppSyncData() {} 16 AppSyncData::AppSyncData() {}
16 17
(...skipping 17 matching lines...) Expand all
34 : extension_sync_data_(extension, 35 : extension_sync_data_(extension,
35 enabled, 36 enabled,
36 incognito_enabled, 37 incognito_enabled,
37 remote_install), 38 remote_install),
38 app_launch_ordinal_(app_launch_ordinal), 39 app_launch_ordinal_(app_launch_ordinal),
39 page_ordinal_(page_ordinal), 40 page_ordinal_(page_ordinal),
40 launch_type_(launch_type) { 41 launch_type_(launch_type) {
41 if (extension.from_bookmark()) { 42 if (extension.from_bookmark()) {
42 bookmark_app_description_ = extension.description(); 43 bookmark_app_description_ = extension.description();
43 bookmark_app_url_ = AppLaunchInfo::GetLaunchWebURL(&extension).spec(); 44 bookmark_app_url_ = AppLaunchInfo::GetLaunchWebURL(&extension).spec();
45 bookmark_app_icon_color_ = AppIconColorInfo::GetIconColorString(&extension);
44 } 46 }
45 } 47 }
46 48
47 AppSyncData::~AppSyncData() {} 49 AppSyncData::~AppSyncData() {}
48 50
49 syncer::SyncData AppSyncData::GetSyncData() const { 51 syncer::SyncData AppSyncData::GetSyncData() const {
50 sync_pb::EntitySpecifics specifics; 52 sync_pb::EntitySpecifics specifics;
51 PopulateAppSpecifics(specifics.mutable_app()); 53 PopulateAppSpecifics(specifics.mutable_app());
52 54
53 return syncer::SyncData::CreateLocalData(extension_sync_data_.id(), 55 return syncer::SyncData::CreateLocalData(extension_sync_data_.id(),
(...skipping 23 matching lines...) Expand all
77 sync_pb::AppSpecifics_LaunchType_IsValid(sync_launch_type)) { 79 sync_pb::AppSpecifics_LaunchType_IsValid(sync_launch_type)) {
78 specifics->set_launch_type(sync_launch_type); 80 specifics->set_launch_type(sync_launch_type);
79 } 81 }
80 82
81 if (!bookmark_app_url_.empty()) 83 if (!bookmark_app_url_.empty())
82 specifics->set_bookmark_app_url(bookmark_app_url_); 84 specifics->set_bookmark_app_url(bookmark_app_url_);
83 85
84 if (!bookmark_app_description_.empty()) 86 if (!bookmark_app_description_.empty())
85 specifics->set_bookmark_app_description(bookmark_app_description_); 87 specifics->set_bookmark_app_description(bookmark_app_description_);
86 88
89 if (!bookmark_app_icon_color_.empty())
90 specifics->set_bookmark_app_icon_color(bookmark_app_icon_color_);
91
87 extension_sync_data_.PopulateExtensionSpecifics( 92 extension_sync_data_.PopulateExtensionSpecifics(
88 specifics->mutable_extension()); 93 specifics->mutable_extension());
89 } 94 }
90 95
91 void AppSyncData::PopulateFromAppSpecifics( 96 void AppSyncData::PopulateFromAppSpecifics(
92 const sync_pb::AppSpecifics& specifics) { 97 const sync_pb::AppSpecifics& specifics) {
93 extension_sync_data_.PopulateFromExtensionSpecifics(specifics.extension()); 98 extension_sync_data_.PopulateFromExtensionSpecifics(specifics.extension());
94 99
95 app_launch_ordinal_ = syncer::StringOrdinal(specifics.app_launch_ordinal()); 100 app_launch_ordinal_ = syncer::StringOrdinal(specifics.app_launch_ordinal());
96 page_ordinal_ = syncer::StringOrdinal(specifics.page_ordinal()); 101 page_ordinal_ = syncer::StringOrdinal(specifics.page_ordinal());
97 102
98 launch_type_ = specifics.has_launch_type() 103 launch_type_ = specifics.has_launch_type()
99 ? static_cast<extensions::LaunchType>(specifics.launch_type()) 104 ? static_cast<extensions::LaunchType>(specifics.launch_type())
100 : LAUNCH_TYPE_INVALID; 105 : LAUNCH_TYPE_INVALID;
101 106
102 bookmark_app_url_ = specifics.bookmark_app_url(); 107 bookmark_app_url_ = specifics.bookmark_app_url();
103 bookmark_app_description_ = specifics.bookmark_app_description(); 108 bookmark_app_description_ = specifics.bookmark_app_description();
109 bookmark_app_icon_color_ = specifics.bookmark_app_icon_color();
104 } 110 }
105 111
106 void AppSyncData::PopulateFromSyncData(const syncer::SyncData& sync_data) { 112 void AppSyncData::PopulateFromSyncData(const syncer::SyncData& sync_data) {
107 PopulateFromAppSpecifics(sync_data.GetSpecifics().app()); 113 PopulateFromAppSpecifics(sync_data.GetSpecifics().app());
108 } 114 }
109 115
110 } // namespace extensions 116 } // namespace extensions
OLDNEW
« 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