RESOLVED FIXED 210894
Soft link QuickLookThumbnailing framework
https://bugs.webkit.org/show_bug.cgi?id=210894
Summary Soft link QuickLookThumbnailing framework
Nikos Mouchtaris
Reported 2020-04-22 19:48:50 PDT
Soft link QuickLookThumbnailing framework
Attachments
Patch (20.62 KB, patch)
2020-04-22 19:52 PDT, Nikos Mouchtaris
no flags
Patch (16.63 KB, patch)
2020-04-22 20:11 PDT, Nikos Mouchtaris
no flags
Patch (16.59 KB, patch)
2020-04-22 20:19 PDT, Nikos Mouchtaris
no flags
Patch (16.68 KB, patch)
2020-04-23 10:21 PDT, Nikos Mouchtaris
no flags
Nikos Mouchtaris
Comment 1 2020-04-22 19:52:13 PDT
Tim Horton
Comment 2 2020-04-22 19:59:05 PDT
Comment on attachment 397306 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=397306&action=review > Source/WebKit/Configurations/WebKit.xcconfig:130 > +//WK_QUICKLOOK_THUMBNAILING_LDFLAGS_macosx = $(WK_QUICKLOOK_THUMBNAILING_LDFLAGS$(WK_MACOS_1015)); > +//WK_QUICKLOOK_THUMBNAILING_LDFLAGS_MACOS_SINCE_1015 = -framework QuickLookThumbnailing; > +//WK_QUICKLOOK_THUMBNAILING_LDFLAGS_iphoneos = -framework QuickLookThumbnailing; You'll want to actually delete this, not just comment it out > Source/WebKit/UIProcess/QuickLookThumbnailLoader.mm:79 > + _filePath = adoptNS([[NSURL fileURLWithPath:fileURL] copy]); No need for the adopt OR the copy: you can just assign an autoreleased NSURL (as returned by -fileURLWithPath) to a RetainPtr. It will retain it, and all will be well. The previous code was OK > Source/WebKit/UIProcess/QuickLookThumbnailLoader.mm:95 > - auto fileURLPath = adoptNS([NSURL fileURLWithPath:filePath]); > + auto fileURLPath = adoptNS([[NSURL fileURLWithPath:filePath] copy]); THIS one was wrong, and will crash. Remove the adoptNS(), and don't add a copy (you only need adopt if you have a +1 object, returned by a -new or -alloc or -create -- NOT for an autoreleased object like here). > Source/WebKit/UIProcess/QuickLookThumbnailLoader.mm:104 > + req.get().iconMode = YES; we generally prefer [req setIconMode:YES]; (normally we'd rather dot notation, but the .get(). is SO UGLY) > Source/WebKit/UIProcess/QuickLookThumbnailingSPI.h:26 > +#if HAVE(QUICKLOOK_THUMBNAILING) You don't actually need this SPI header! QuickLookThumbnailing is API, you can include the real header in QuickLookThumbnailingSoftLink, no problem. Soft linking is only about linking, it has no impact on whether or not you can include headers from the framework.
Nikos Mouchtaris
Comment 3 2020-04-22 20:11:38 PDT
Nikos Mouchtaris
Comment 4 2020-04-22 20:19:53 PDT
EWS
Comment 5 2020-04-22 21:05:31 PDT
Committed r260553: <https://trac.webkit.org/changeset/260553> All reviewed patches have been landed. Closing bug and clearing flags on attachment 397310 [details].
Radar WebKit Bug Importer
Comment 6 2020-04-22 21:06:14 PDT
Ryan Haddad
Comment 7 2020-04-22 23:12:48 PDT
This change broke iOS and Catalina builds: /Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/QuickLookThumbnailLoader.mm:97:46: error: property 'get' not found on object of type 'NSURL *' https://build.webkit.org/builders/Apple-Catalina-Release-Build/builds/5902/steps/compile-webkit/logs/stdio https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20%28Build%29/builds/6353/steps/compile-webkit/logs/stdio
Ryan Haddad
Comment 8 2020-04-22 23:15:36 PDT
Reverted r260553 for reason: Broke iOS and Catalina builds. Committed r260558: <https://trac.webkit.org/changeset/260558>
Nikos Mouchtaris
Comment 9 2020-04-23 10:21:47 PDT
EWS
Comment 10 2020-04-23 10:49:04 PDT
Committed r260581: <https://trac.webkit.org/changeset/260581> All reviewed patches have been landed. Closing bug and clearing flags on attachment 397356 [details].
Note You need to log in before you can comment on or make changes to this bug.