RESOLVED FIXED 146557
Allow the UIDelegate to customize an image preview
https://bugs.webkit.org/show_bug.cgi?id=146557
Summary Allow the UIDelegate to customize an image preview
Beth Dakin
Reported 2015-07-02 13:43:59 PDT
Allow the UIDelegate to customize an image preview rdar://problem/21657424
Attachments
Patch (8.63 KB, patch)
2015-07-02 13:53 PDT, Beth Dakin
thorton: review+
Beth Dakin
Comment 1 2015-07-02 13:53:28 PDT
Tim Horton
Comment 2 2015-07-02 14:20:58 PDT
Comment on attachment 256030 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=256030&action=review > Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:60 > +- (void)_webView:(WKWebView *)webView willPreviewImageWithURL:(NSURL *)imageURL; > +- (void)_webView:(WKWebView *)webView commitPreviewedImageWithURL:(NSURL *)imageURL; Please add WK_AVAILABLE macros. > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3216 > + id<WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([_webView UIDelegate]); space after id > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3237 > + if (absoluteImageURL.isEmpty() || !WebCore::protocolIsInHTTPFamily(absoluteImageURL)) At some point we should consider data: URL images. > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3241 > + NSURL *targetURL = [NSURL _web_URLWithWTFString:_positionInformation.imageURL]; No real need for the temporary, just like below. > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3252 > + id<WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([_webView UIDelegate]); space after id > Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2162 > + info.imageURL = [(NSURL *)element->document().completeURL(downcast<HTMLImageElement>(*element).src()) absoluteString]; What happens if it's a srcset image?
Beth Dakin
Comment 3 2015-07-02 16:58:15 PDT
(In reply to comment #2) > Comment on attachment 256030 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=256030&action=review > > > Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:60 > > +- (void)_webView:(WKWebView *)webView willPreviewImageWithURL:(NSURL *)imageURL; > > +- (void)_webView:(WKWebView *)webView commitPreviewedImageWithURL:(NSURL *)imageURL; > > Please add WK_AVAILABLE macros. > Added. > > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3216 > > + id<WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([_webView UIDelegate]); > > space after id > Fixed. > > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3237 > > + if (absoluteImageURL.isEmpty() || !WebCore::protocolIsInHTTPFamily(absoluteImageURL)) > > At some point we should consider data: URL images. > I added them! Still need to follow-up with Sam to make sure it's okay. > > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3241 > > + NSURL *targetURL = [NSURL _web_URLWithWTFString:_positionInformation.imageURL]; > > No real need for the temporary, just like below. > Fixed. > > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3252 > > + id<WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([_webView UIDelegate]); > > space after id > Fixed. > > Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2162 > > + info.imageURL = [(NSURL *)element->document().completeURL(downcast<HTMLImageElement>(*element).src()) absoluteString]; > > What happens if it's a srcset image? Good eye! They were broken. I fixed them by getting the URL from the RenderImage's CachedImage instead. http://trac.webkit.org/changeset/186236
Note You need to log in before you can comment on or make changes to this bug.