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

Unified Diff: ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm

Issue 2645653003: Expose thumbnails of pages to iOS share extensions. (Closed)
Patch Set: Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698