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

Side by Side Diff: chrome/browser/notifications/sync_notifier/synced_notification_app_info_service.cc

Issue 228753006: Reland r262272: "Hook up the Info URL from SyncedNotificationsAppInfo". (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed test on linux+aura, disabled on linux-gtk Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // The SyncedNotificationAppInfoService brings down read only metadata from the 5 // The SyncedNotificationAppInfoService brings down read only metadata from the
6 // sync server with information about the services sending synced notifications. 6 // sync server with information about the services sending synced notifications.
7 7
8 #include "chrome/browser/notifications/sync_notifier/synced_notification_app_inf o_service.h" 8 #include "chrome/browser/notifications/sync_notifier/synced_notification_app_inf o_service.h"
9 9
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 // Static Method. Convert from a server protobuf to our internal format. 238 // Static Method. Convert from a server protobuf to our internal format.
239 scoped_ptr<SyncedNotificationAppInfo> 239 scoped_ptr<SyncedNotificationAppInfo>
240 SyncedNotificationAppInfoService::CreateSyncedNotificationAppInfoFromProtobuf( 240 SyncedNotificationAppInfoService::CreateSyncedNotificationAppInfoFromProtobuf(
241 const sync_pb::SyncedNotificationAppInfo& server_app_info) { 241 const sync_pb::SyncedNotificationAppInfo& server_app_info) {
242 242
243 // Check for mandatory fields in the sync_data object. 243 // Check for mandatory fields in the sync_data object.
244 std::string display_name; 244 std::string display_name;
245 if (server_app_info.has_settings_display_name()) { 245 if (server_app_info.has_settings_display_name()) {
246 display_name = server_app_info.settings_display_name(); 246 display_name = server_app_info.settings_display_name();
247 } 247 }
248
248 scoped_ptr<SyncedNotificationAppInfo> app_info; 249 scoped_ptr<SyncedNotificationAppInfo> app_info;
249 if (display_name.length() == 0) 250 if (display_name.length() == 0)
250 return app_info.Pass(); 251 return app_info.Pass();
251 252
252 // Create a new app info object based on the supplied protobuf. 253 // Create a new app info object based on the supplied protobuf.
253 app_info.reset(new SyncedNotificationAppInfo(profile_, display_name, this)); 254 app_info.reset(new SyncedNotificationAppInfo(profile_, display_name, this));
254 255
256 // This URL is used whenever the user clicks on the body of the app's welcome
257 // notification.
258 if (server_app_info.has_info_url()) {
259 app_info->SetWelcomeLinkUrl(GURL(server_app_info.info_url()));
260 }
261
255 // TODO(petewil): Eventually we will add the monochrome icon here, and we may 262 // TODO(petewil): Eventually we will add the monochrome icon here, and we may
256 // need to fetch the correct url for the current DPI. 263 // need to fetch the correct url for the current DPI.
257 // Add the icon URL, if any. 264 // Add the icon URL, if any.
258 if (server_app_info.has_icon()) { 265 if (server_app_info.has_icon()) {
259 std::string icon_url = server_app_info.icon().url(); 266 std::string icon_url = server_app_info.icon().url();
260 // Set the URLs for the low and high DPI images. 267 // Set the URLs for the low and high DPI images.
261 // TODO(petewil): Since the high DPI image is not available yet, we just 268 // TODO(petewil): Since the high DPI image is not available yet, we just
262 // pass an empty URL for now. Fix this once the high DPI URL is available. 269 // pass an empty URL for now. Fix this once the high DPI URL is available.
263 app_info->SetSettingsURLs(GURL(icon_url), GURL()); 270 app_info->SetSettingsURLs(GURL(icon_url), GURL());
264 } 271 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 } 359 }
353 360
354 // Add a new app info to our data structure. This takes ownership 361 // Add a new app info to our data structure. This takes ownership
355 // of the passed in pointer. 362 // of the passed in pointer.
356 void SyncedNotificationAppInfoService::Add( 363 void SyncedNotificationAppInfoService::Add(
357 scoped_ptr<SyncedNotificationAppInfo> app_info) { 364 scoped_ptr<SyncedNotificationAppInfo> app_info) {
358 sending_service_infos_.push_back(app_info.release()); 365 sending_service_infos_.push_back(app_info.release());
359 } 366 }
360 367
361 } // namespace notifier 368 } // namespace notifier
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698