Changeset 277389 in webkit
- Timestamp:
- May 12, 2021, 2:08:35 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/Cocoa/WebPageProxyCocoa.mm (modified) (1 diff)
-
UIProcess/ios/WKActionSheetAssistant.h (modified) (1 diff)
-
UIProcess/ios/WKActionSheetAssistant.mm (modified) (1 diff)
-
UIProcess/mac/WKImageExtractionPreviewController.h (modified) (1 diff)
-
UIProcess/mac/WKImageExtractionPreviewController.mm (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r277386 r277389 1 2021-05-12 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Plumb some more metadata to QuickLook when revealing images 4 https://bugs.webkit.org/show_bug.cgi?id=225709 5 rdar://77864866 6 7 Reviewed by Devin Rousso. 8 9 Add plumbing to supply QuickLook with some additional information about the image URL and current page URL when 10 revealing images. 11 12 * UIProcess/Cocoa/WebPageProxyCocoa.mm: 13 (WebKit::WebPageProxy::handleContextMenuRevealImage): 14 * UIProcess/ios/WKActionSheetAssistant.h: 15 * UIProcess/ios/WKActionSheetAssistant.mm: 16 (-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]): 17 * UIProcess/mac/WKImageExtractionPreviewController.h: 18 * UIProcess/mac/WKImageExtractionPreviewController.mm: 19 (-[WKImageExtractionPreviewItem initWithFileURL:title:imageURL:pageURL:]): 20 (-[WKImageExtractionPreviewItem dealloc]): 21 (-[WKImageExtractionPreviewItem previewItemURL]): 22 (-[WKImageExtractionPreviewItem previewOptions]): 23 (-[WKImageExtractionPreviewController initWithPage:fileURL:title:imageURL:]): 24 25 Rename the `URL` argument to `fileURL`, to avoid confusion with the new `imageURL` that's passed in. Note that 26 this is temporary, since we'll adopt new QuickLook SPI on macOS once the fix for rdar://74299451 is available. 27 28 (-[WKImageExtractionPreviewItem initWithURL:title:]): Deleted. 29 (-[WKImageExtractionPreviewController initWithPage:url:title:]): Deleted. 30 1 31 2021-05-12 Aditya Keerthi <akeerthi@apple.com> 2 32 -
trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
r277196 r277389 615 615 return; 616 616 617 revealExtractedImageInPreviewPanel(*result.imageBitmap, result.toolTipText );617 revealExtractedImageInPreviewPanel(*result.imageBitmap, result.toolTipText, URL { URL { }, result.absoluteImageURL }); 618 618 } 619 619 -
trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h
r274521 r277389 82 82 #if ENABLE(IMAGE_EXTRACTION) 83 83 - (BOOL)actionSheetAssistant:(WKActionSheetAssistant *)assistant shouldIncludeImageExtractionActionForElement:(_WKActivatedElementInfo *)element; 84 - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant handleImageExtraction:(UIImage *)image title:(NSString *)title;84 - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant handleImageExtraction:(UIImage *)image imageURL:(NSURL *)imageURL title:(NSString *)title; 85 85 - (BOOL)actionSheetAssistant:(WKActionSheetAssistant *)assistant shouldIncludeRevealImageActionForElement:(_WKActivatedElementInfo *)element; 86 - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant handleRevealImage:(UIImage *)image title:(NSString *)title;86 - (void)actionSheetAssistant:(WKActionSheetAssistant *)assistant handleRevealImage:(UIImage *)image imageURL:(NSURL *)imageURL title:(NSString *)title; 87 87 #endif 88 88 @end -
trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
r274521 r277389 1017 1017 case _WKElementActionTypeImageExtraction: 1018 1018 #if ENABLE(IMAGE_EXTRACTION) 1019 [delegate actionSheetAssistant:self handleImageExtraction:element.image title:element.title];1019 [delegate actionSheetAssistant:self handleImageExtraction:element.image imageURL:element.imageURL title:element.title]; 1020 1020 #endif 1021 1021 break; 1022 1022 case _WKElementActionTypeRevealImage: 1023 1023 #if ENABLE(IMAGE_EXTRACTION) 1024 [delegate actionSheetAssistant:self handleRevealImage:element.image title:element.title];1024 [delegate actionSheetAssistant:self handleRevealImage:element.image imageURL:element.imageURL title:element.title]; 1025 1025 #endif 1026 1026 break; -
trunk/Source/WebKit/UIProcess/mac/WKImageExtractionPreviewController.h
r275913 r277389 35 35 36 36 @interface WKImageExtractionPreviewItem : NSObject <QLPreviewItem> 37 - (instancetype)initWith URL:(NSURL *)url title:(NSString *)title;37 - (instancetype)initWithFileURL:(NSURL *)fileURL title:(NSString *)title imageURL:(NSURL *)imageURL pageURL:(NSURL *)pageURL; 38 38 @end 39 39 40 40 @interface WKImageExtractionPreviewController : NSObject <QLPreviewPanelDelegate, QLPreviewPanelDataSource> 41 - (instancetype)initWithPage:(WebKit::WebPageProxy&)page url:(NSURL *)url title:(NSString *)title;41 - (instancetype)initWithPage:(WebKit::WebPageProxy&)page fileURL:(NSURL *)fileURL title:(NSString *)title imageURL:(NSURL *)imageURL; 42 42 @end 43 43 -
trunk/Source/WebKit/UIProcess/mac/WKImageExtractionPreviewController.mm
r275913 r277389 35 35 36 36 @implementation WKImageExtractionPreviewItem { 37 RetainPtr<NSURL> _ url;37 RetainPtr<NSURL> _fileURL; 38 38 RetainPtr<NSString> _title; 39 RetainPtr<NSURL> _imageURL; 40 RetainPtr<NSURL> _pageURL; 39 41 } 40 42 41 - (instancetype)initWith URL:(NSURL *)url title:(NSString *)title43 - (instancetype)initWithFileURL:(NSURL *)fileURL title:(NSString *)title imageURL:(NSURL *)imageURL pageURL:(NSURL *)pageURL 42 44 { 43 45 if (!(self = [super init])) 44 46 return nil; 45 47 46 _ url = url;48 _fileURL = fileURL; 47 49 _title = adoptNS([title copy]); 50 _imageURL = imageURL; 51 _pageURL = pageURL; 48 52 49 53 return self; … … 52 56 - (void)dealloc 53 57 { 54 FileSystem::deleteFile([_ urlpath]);58 FileSystem::deleteFile([_fileURL path]); 55 59 56 60 [super dealloc]; … … 61 65 - (NSURL *)previewItemURL 62 66 { 63 return _ url.get();67 return _fileURL.get(); 64 68 } 65 69 … … 67 71 { 68 72 return _title.get(); 73 } 74 75 - (NSDictionary *)previewOptions 76 { 77 if (!_imageURL && !_pageURL) 78 return nil; 79 80 auto previewOptions = adoptNS([[NSMutableDictionary alloc] initWithCapacity:2]); 81 if (_imageURL) 82 [previewOptions setObject:_imageURL.get() forKey:@"imageURL"]; 83 if (_pageURL) 84 [previewOptions setObject:_pageURL.get() forKey:@"pageURL"]; 85 return previewOptions.autorelease(); 69 86 } 70 87 … … 76 93 } 77 94 78 - (instancetype)initWithPage:(WebKit::WebPageProxy&)page url:(NSURL *)url title:(NSString *)title95 - (instancetype)initWithPage:(WebKit::WebPageProxy&)page fileURL:(NSURL *)fileURL title:(NSString *)title imageURL:(NSURL *)imageURL 79 96 { 80 97 if (!(self = [super init])) … … 82 99 83 100 _page = makeWeakPtr(page); 84 _previewItem = adoptNS([[WKImageExtractionPreviewItem alloc] initWithURL:url title:title]); 101 102 // FIXME: We should turn `_previewItem` into a QLItem once the fix for rdar://74299451 is available. 103 _previewItem = adoptNS([[WKImageExtractionPreviewItem alloc] initWithFileURL:fileURL title:title imageURL:imageURL pageURL:URL { URL { }, page.currentURL() }]); 85 104 86 105 return self;
Note:
See TracChangeset
for help on using the changeset viewer.