| Index: chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm
 | 
| diff --git a/chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm b/chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm
 | 
| index 42732bdf4b85c5d89bd79787702f0bc43f7f86bb..5b3307afd4116ccc5bf41c381c312c5dc34551c2 100644
 | 
| --- a/chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm
 | 
| +++ b/chrome/browser/ui/cocoa/notifications/notification_builder_mac.mm
 | 
| @@ -6,7 +6,9 @@
 | 
|  
 | 
|  #import <AppKit/AppKit.h>
 | 
|  
 | 
| +#include "base/mac/mac_util.h"
 | 
|  #include "base/mac/scoped_nsobject.h"
 | 
| +
 | 
|  #include "chrome/browser/ui/cocoa/notifications/notification_constants_mac.h"
 | 
|  
 | 
|  namespace {
 | 
| @@ -68,8 +70,14 @@ NSString* const kNotificationSettingsButtonTag = @"settingsButton";
 | 
|  }
 | 
|  
 | 
|  - (void)setIcon:(NSImage*)icon {
 | 
| -  if (icon)
 | 
| -    [notificationData_ setObject:icon forKey:kNotificationImage];
 | 
| +  if (icon) {
 | 
| +    if ([icon conformsToProtocol:@protocol(NSSecureCoding)]) {
 | 
| +      [notificationData_ setObject:icon forKey:kNotificationImage];
 | 
| +    } else {  // NSImage only conforms to NSSecureCoding from 10.10 onwards.
 | 
| +      [notificationData_ setObject:[icon TIFFRepresentation]
 | 
| +                            forKey:kNotificationImage];
 | 
| +    }
 | 
| +  }
 | 
|  }
 | 
|  
 | 
|  - (void)setButtons:(NSString*)primaryButton
 | 
| @@ -125,8 +133,14 @@ NSString* const kNotificationSettingsButtonTag = @"settingsButton";
 | 
|    // Icon
 | 
|    if ([notificationData_ objectForKey:kNotificationImage]) {
 | 
|      if ([toast respondsToSelector:@selector(_identityImage)]) {
 | 
| -      NSImage* image = [notificationData_ objectForKey:kNotificationImage];
 | 
| -      [toast setValue:image forKey:@"_identityImage"];
 | 
| +      if ([[NSImage class] conformsToProtocol:@protocol(NSSecureCoding)]) {
 | 
| +        NSImage* image = [notificationData_ objectForKey:kNotificationImage];
 | 
| +        [toast setValue:image forKey:@"_identityImage"];
 | 
| +      } else {  // NSImage only conforms to NSSecureCoding from 10.10 onwards.
 | 
| +        base::scoped_nsobject<NSImage> image([[NSImage alloc]
 | 
| +            initWithData:[notificationData_ objectForKey:kNotificationImage]]);
 | 
| +        [toast setValue:image forKey:@"_identityImage"];
 | 
| +      }
 | 
|        [toast setValue:@NO forKey:@"_identityImageHasBorder"];
 | 
|      }
 | 
|    }
 | 
| 
 |