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

Side by Side Diff: chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm

Issue 2093953002: Introduce a new API to handle native notification clicks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 4 years, 5 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #import "chrome/browser/ui/cocoa/notifications/notification_builder_mac.h" 5 #import "chrome/browser/ui/cocoa/notifications/notification_builder_mac.h"
6 6
7 #import <AppKit/AppKit.h> 7 #import <AppKit/AppKit.h>
8 8
9 #include "base/mac/mac_util.h" 9 #include "base/mac/mac_util.h"
10 #include "base/mac/scoped_nsobject.h" 10 #include "base/mac/scoped_nsobject.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 DCHECK(profileId.length); 107 DCHECK(profileId.length);
108 [notificationData_ setObject:profileId 108 [notificationData_ setObject:profileId
109 forKey:notification_constants::kNotificationProfileId]; 109 forKey:notification_constants::kNotificationProfileId];
110 } 110 }
111 111
112 - (void)setIncognito:(BOOL)incognito { 112 - (void)setIncognito:(BOOL)incognito {
113 [notificationData_ setObject:[NSNumber numberWithBool:incognito] 113 [notificationData_ setObject:[NSNumber numberWithBool:incognito]
114 forKey:notification_constants::kNotificationIncognito]; 114 forKey:notification_constants::kNotificationIncognito];
115 } 115 }
116 116
117 - (void)setNotificationType:(NSNumber*)notificationType {
118 [notificationData_ setObject:notificationType
119 forKey:notification_constants::kNotificationType];
120 }
121
117 - (NSUserNotification*)buildUserNotification { 122 - (NSUserNotification*)buildUserNotification {
118 base::scoped_nsobject<NSUserNotification> toast( 123 base::scoped_nsobject<NSUserNotification> toast(
119 [[NSUserNotification alloc] init]); 124 [[NSUserNotification alloc] init]);
120 [toast setTitle:[notificationData_ objectForKey:kNotificationTitle]]; 125 [toast setTitle:[notificationData_ objectForKey:kNotificationTitle]];
121 [toast setSubtitle:[notificationData_ objectForKey:kNotificationSubTitle]]; 126 [toast setSubtitle:[notificationData_ objectForKey:kNotificationSubTitle]];
122 [toast setInformativeText:[notificationData_ 127 [toast setInformativeText:[notificationData_
123 objectForKey:kNotificationInformativeText]]; 128 objectForKey:kNotificationInformativeText]];
124 129
125 // Icon 130 // Icon
126 if ([notificationData_ objectForKey:kNotificationImage]) { 131 if ([notificationData_ objectForKey:kNotificationImage]) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 203
199 DCHECK([notificationData_ 204 DCHECK([notificationData_
200 objectForKey:notification_constants::kNotificationProfileId]); 205 objectForKey:notification_constants::kNotificationProfileId]);
201 NSString* profileId = [notificationData_ 206 NSString* profileId = [notificationData_
202 objectForKey:notification_constants::kNotificationProfileId]; 207 objectForKey:notification_constants::kNotificationProfileId];
203 208
204 DCHECK([notificationData_ 209 DCHECK([notificationData_
205 objectForKey:notification_constants::kNotificationIncognito]); 210 objectForKey:notification_constants::kNotificationIncognito]);
206 NSNumber* incognito = [notificationData_ 211 NSNumber* incognito = [notificationData_
207 objectForKey:notification_constants::kNotificationIncognito]; 212 objectForKey:notification_constants::kNotificationIncognito];
213 NSNumber* type = [notificationData_
214 objectForKey:notification_constants::kNotificationType];
208 215
209 toast.get().userInfo = @{ 216 toast.get().userInfo = @{
210 notification_constants::kNotificationOrigin : origin, 217 notification_constants::kNotificationOrigin : origin,
211 notification_constants::kNotificationId : notificationId, 218 notification_constants::kNotificationId : notificationId,
212 notification_constants::kNotificationProfileId : profileId, 219 notification_constants::kNotificationProfileId : profileId,
213 notification_constants::kNotificationIncognito : incognito, 220 notification_constants::kNotificationIncognito : incognito,
221 notification_constants::kNotificationType : type,
222
Robert Sesek 2016/07/06 16:50:39 nit: extra blank line
Miguel Garcia 2016/07/07 11:02:29 Done.
214 }; 223 };
215 224
216 return toast.autorelease(); 225 return toast.autorelease();
217 } 226 }
218 227
219 - (NSDictionary*)buildDictionary { 228 - (NSDictionary*)buildDictionary {
220 return [[notificationData_ copy] autorelease]; 229 return [[notificationData_ copy] autorelease];
221 } 230 }
222 231
223 @end 232 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698