Changeset 246395 in webkit


Ignore:
Timestamp:
Jun 12, 2019 10:57:09 PM (5 years ago)
Author:
graouts@webkit.org
Message:

Show the web page URL when sharing an AR model
https://bugs.webkit.org/show_bug.cgi?id=198812
<rdar://problem/48689498>

Reviewed by Dean Jackson.

Source/WebCore/PAL:

  • pal/spi/ios/SystemPreviewSPI.h:

Source/WebKit:

  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::didStart):

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:

(-[_WKPreviewControllerDataSource initWithMIMEType:originatingPageURL:]):
(-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
(WebKit::SystemPreviewController::start):
(-[_WKPreviewControllerDataSource initWithMIMEType:]): Deleted.

  • UIProcess/SystemPreviewController.h:

Source/WTF:

  • wtf/Platform.h:
Location:
trunk/Source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r246388 r246395  
     12019-06-12  Antoine Quint  <graouts@apple.com>
     2
     3        Show the web page URL when sharing an AR model
     4        https://bugs.webkit.org/show_bug.cgi?id=198812
     5        <rdar://problem/48689498>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * wtf/Platform.h:
     10
    1112019-06-12  Youenn Fablet  <youenn@apple.com>
    212
  • trunk/Source/WTF/wtf/Platform.h

    r246388 r246395  
    15271527
    15281528#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
     1529#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
     1530#endif
     1531
     1532#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
    15291533#define HAVE_UI_WK_DOCUMENT_CONTEXT 1
    15301534#endif
  • trunk/Source/WebCore/PAL/ChangeLog

    r246285 r246395  
     12019-06-12  Antoine Quint  <graouts@apple.com>
     2
     3        Show the web page URL when sharing an AR model
     4        https://bugs.webkit.org/show_bug.cgi?id=198812
     5        <rdar://problem/48689498>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * pal/spi/ios/SystemPreviewSPI.h:
     10
    1112019-06-10  Sam Weinig  <weinig@apple.com>
    212
  • trunk/Source/WebCore/PAL/pal/spi/ios/SystemPreviewSPI.h

    r233266 r246395  
    2626#if USE(APPLE_INTERNAL_SDK)
    2727
     28#if HAVE(ARKIT_QUICK_LOOK_PREVIEW_ITEM)
     29#import <AssetViewer/ARQuickLookWebKitItem.h>
     30#endif
     31
    2832#import <AssetViewer/ASVThumbnailView.h>
    2933
     
    4650@end
    4751
     52#if HAVE(ARKIT_QUICK_LOOK_PREVIEW_ITEM)
     53#import <ARKit/ARKit.h>
     54
     55@class ARQuickLookWebKitItem;
     56
     57@interface ARQuickLookWebKitItem : QLItem
     58- (instancetype)initWithPreviewItemProvider:(NSItemProvider *_Nonnull)itemProvider contentType:(NSString *_Nonnull)contentType previewTitle:(NSString *_Nonnull)previewTitle fileSize:(NSNumber *_Nonnull)fileSize previewItem:(ARQuickLookPreviewItem *)previewItem;
     59@end
    4860#endif
    4961
     62#endif
     63
  • trunk/Source/WebKit/ChangeLog

    r246392 r246395  
     12019-06-12  Antoine Quint  <graouts@apple.com>
     2
     3        Show the web page URL when sharing an AR model
     4        https://bugs.webkit.org/show_bug.cgi?id=198812
     5        <rdar://problem/48689498>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * UIProcess/Cocoa/DownloadClient.mm:
     10        (WebKit::DownloadClient::didStart):
     11        * UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
     12        (-[_WKPreviewControllerDataSource initWithMIMEType:originatingPageURL:]):
     13        (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
     14        (WebKit::SystemPreviewController::start):
     15        (-[_WKPreviewControllerDataSource initWithMIMEType:]): Deleted.
     16        * UIProcess/SystemPreviewController.h:
     17
    1182019-06-12  Antti Koivisto  <antti@apple.com>
    219
  • trunk/Source/WebKit/UIProcess/Cocoa/DownloadClient.mm

    r242339 r246395  
    7272        if (auto* webPage = downloadProxy.originatingPage()) {
    7373            // FIXME: Update the MIME-type once it is known in the ResourceResponse.
    74             webPage->systemPreviewController()->start("application/octet-stream"_s, downloadProxy.systemPreviewDownloadRect());
     74            webPage->systemPreviewController()->start(URL(URL(), webPage->currentURL()), "application/octet-stream"_s, downloadProxy.systemPreviewDownloadRect());
    7575        }
    7676        takeActivityToken(downloadProxy);
  • trunk/Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm

    r244201 r246395  
    4040#import <wtf/WeakObjCPtr.h>
    4141
     42#if HAVE(ARKIT_QUICK_LOOK_PREVIEW_ITEM)
     43#import <pal/spi/ios/SystemPreviewSPI.h>
     44SOFT_LINK_PRIVATE_FRAMEWORK(ARKit);
     45SOFT_LINK_CLASS(ARKit, ARQuickLookPreviewItem);
     46SOFT_LINK_PRIVATE_FRAMEWORK(AssetViewer);
     47SOFT_LINK_CLASS(AssetViewer, ARQuickLookWebKitItem);
     48#endif
     49
    4250@interface _WKPreviewControllerDataSource : NSObject <QLPreviewControllerDataSource> {
    4351    RetainPtr<NSItemProvider> _itemProvider;
     52#if HAVE(ARKIT_QUICK_LOOK_PREVIEW_ITEM)
     53    RetainPtr<ARQuickLookWebKitItem> _item;
     54#else
    4455    RetainPtr<QLItem> _item;
     56#endif
     57    URL _originatingPageURL;
    4558    URL _downloadedURL;
    4659};
     
    5366@implementation _WKPreviewControllerDataSource
    5467
    55 - (instancetype)initWithMIMEType:(NSString*)mimeType
     68- (instancetype)initWithMIMEType:(NSString*)mimeType originatingPageURL:(URL)url
    5669{
    5770    if (!(self = [super init]))
    5871        return nil;
    5972
     73    _originatingPageURL = url;
    6074    _mimeType = [mimeType copy];
    6175
     
    8599    NSString *contentType = WebCore::UTIFromMIMEType("model/vnd.usdz+zip"_s);
    86100
     101#if HAVE(ARKIT_QUICK_LOOK_PREVIEW_ITEM)
     102    ARQuickLookPreviewItem *previewItem = [allocARQuickLookPreviewItemInstance() initWithFileAtURL:_downloadedURL];
     103    previewItem.canonicalWebPageURL = _originatingPageURL;
     104
     105    _item = [allocARQuickLookWebKitItemInstance() initWithPreviewItemProvider:_itemProvider.get() contentType:contentType previewTitle:@"Preview" fileSize:@(0) previewItem:previewItem];
     106#else
    87107    _item = adoptNS([PAL::allocQLItemInstance() initWithPreviewItemProvider:_itemProvider.get() contentType:contentType previewTitle:@"Preview" fileSize:@(0)]);
     108#endif
    88109    [_item setUseLoadingTimeout:NO];
    89110
     
    198219namespace WebKit {
    199220
    200 void SystemPreviewController::start(const String& mimeType, const WebCore::IntRect& fromRect)
     221void SystemPreviewController::start(URL originatingPageURL, const String& mimeType, const WebCore::IntRect& fromRect)
    201222{
    202223    ASSERT(!m_qlPreviewController);
     
    214235    [m_qlPreviewController setDelegate:m_qlPreviewControllerDelegate.get()];
    215236
    216     m_qlPreviewControllerDataSource = adoptNS([[_WKPreviewControllerDataSource alloc] initWithMIMEType:mimeType]);
     237    m_qlPreviewControllerDataSource = adoptNS([[_WKPreviewControllerDataSource alloc] initWithMIMEType:mimeType originatingPageURL:originatingPageURL]);
    217238    [m_qlPreviewController setDataSource:m_qlPreviewControllerDataSource.get()];
    218239
  • trunk/Source/WebKit/UIProcess/SystemPreviewController.h

    r238771 r246395  
    4949    bool canPreview(const String& mimeType) const;
    5050
    51     void start(const String& mimeType, const WebCore::IntRect&);
     51    void start(URL originatingPageURL, const String& mimeType, const WebCore::IntRect&);
    5252    void updateProgress(float);
    5353    void finish(URL);
Note: See TracChangeset for help on using the changeset viewer.