Chromium Code Reviews| Index: ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm |
| diff --git a/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm b/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm |
| index afb4512c4cf9909a388b7141d5082e2e904ccd53..5588760ae73453254f4fcba5704e8039a70b6b9e 100644 |
| --- a/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm |
| +++ b/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm |
| @@ -14,55 +14,6 @@ |
| #error "This file requires ARC support." |
| #endif |
| -#pragma mark - UIActivityURLSource |
| - |
| -@interface UIActivityURLSource () { |
| - // The shared subject. |
| - NSString* _subject; |
| - // The shared url. |
| - NSURL* _url; |
| -} |
| - |
| -@end |
| - |
| -@implementation UIActivityURLSource |
| - |
| -- (instancetype)init { |
| - NOTREACHED(); |
| - return nil; |
| -} |
| - |
| -- (instancetype)initWithURL:(NSURL*)url subject:(NSString*)subject { |
| - DCHECK(subject); |
| - DCHECK(url); |
| - self = [super init]; |
| - if (self) { |
| - _subject = [subject copy]; |
| - _url = url; |
| - } |
| - return self; |
| -} |
| - |
| -#pragma mark - UIActivityItemSource |
| - |
| -- (id)activityViewController:(UIActivityViewController*)activityViewController |
| - itemForActivityType:(NSString*)activityType { |
| - return _url; |
| -} |
| - |
| -- (id)activityViewControllerPlaceholderItem: |
| - (UIActivityViewController*)activityViewController { |
| - return _url; |
| -} |
| - |
| -- (NSString*)activityViewController: |
| - (UIActivityViewController*)activityViewController |
| - subjectForActivityType:(NSString*)activityType { |
| - return _subject; |
| -} |
| - |
| -@end |
| - |
| #pragma mark - UIActivityTextSource |
| @interface UIActivityTextSource () { |
| @@ -157,6 +108,7 @@ |
| @interface UIActivityFindLoginActionSource () { |
| NSString* _subject; |
| NSURL* _url; |
| + ThumbnailGenerator _thumbnailGenerator; |
| } |
| @end |
| @@ -167,13 +119,17 @@ |
| return nil; |
| } |
| -- (instancetype)initWithURL:(NSURL*)url subject:(NSString*)subject { |
| +- (instancetype)initWithURL:(NSURL*)url |
| + subject:(NSString*)subject |
| + thumbnailGenerator:(ThumbnailGenerator)thumbnailGenerator { |
| DCHECK(url); |
| DCHECK(subject); |
| + DCHECK(thumbnailGenerator); |
| self = [super init]; |
| if (self) { |
| _url = url; |
| _subject = [subject copy]; |
| + _thumbnailGenerator = thumbnailGenerator; |
| } |
| return self; |
| } |
| @@ -239,4 +195,11 @@ |
| return (NSString*)kUTTypeURL; |
| } |
| +- (UIImage*)activityViewController: |
| + (UIActivityViewController*)activityViewController |
| + thumbnailImageForActivityType:(UIActivityType)activityType |
| + suggestedSize:(CGSize)size { |
| + return _thumbnailGenerator(size); |
|
Olivier
2017/01/20 20:41:59
What happens if the block is nil?
(it may work...
jif
2017/01/24 10:29:50
_thumbnailGenerator can't be nil (see DCHECK in in
|
| +} |
| + |
| @end |