Changeset 244371 in webkit


Ignore:
Timestamp:
Apr 16, 2019 9:45:49 PM (5 years ago)
Author:
aestes@apple.com
Message:

[iOSMac] Use UIDocumentPickerViewController for picking files
https://bugs.webkit.org/show_bug.cgi?id=196999
<rdar://problem/49961414>

Reviewed by Tim Horton.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel _showDocumentPickerMenu]):
Changed to present a UIDocumentPickerViewController on iOSMac.

(-[WKFileUploadPanel documentPicker:didPickDocumentsAtURLs:]):
(-[WKFileUploadPanel documentPicker:didPickDocumentAtURL:]):
Replaced a deprecated delegate method implementation.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r244370 r244371  
     12019-04-16  Andy Estes  <aestes@apple.com>
     2
     3        [iOSMac] Use UIDocumentPickerViewController for picking files
     4        https://bugs.webkit.org/show_bug.cgi?id=196999
     5        <rdar://problem/49961414>
     6
     7        Reviewed by Tim Horton.
     8
     9        * UIProcess/ios/forms/WKFileUploadPanel.mm:
     10        (-[WKFileUploadPanel _showDocumentPickerMenu]):
     11        Changed to present a UIDocumentPickerViewController on iOSMac.
     12
     13        (-[WKFileUploadPanel documentPicker:didPickDocumentsAtURLs:]):
     14        (-[WKFileUploadPanel documentPicker:didPickDocumentAtURL:]):
     15        Replaced a deprecated delegate method implementation.
     16
    1172019-04-16  Wenson Hsieh  <wenson_hsieh@apple.com>
    218
  • trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm

    r243523 r244371  
    405405    BOOL containsVideoMediaType = !mediaTypes.count || arrayContainsUTIThatConformsTo(mediaTypes, kUTTypeMovie);
    406406
     407#if PLATFORM(IOSMAC)
     408    // FIXME 49961589: Support picking media with UIImagePickerController
     409    BOOL shouldPresentDocumentMenuViewController = NO;
     410#else
     411    BOOL shouldPresentDocumentMenuViewController = containsImageMediaType || containsVideoMediaType;
     412#endif
     413
    407414    NSArray *documentTypes = mediaTypes.count ? mediaTypes : @[(__bridge NSString *)kUTTypeItem];
    408     if (containsImageMediaType || containsVideoMediaType) {
     415    if (shouldPresentDocumentMenuViewController) {
    409416        // FIXME: UIDocumentMenuViewController is deprecated, we should use UIDocumentPickerViewController instead.
    410         // FIXME: Support multiple file selection when implemented. <rdar://17177981>
     417        // FIXME 49963514: Support multiple file selection
    411418        _documentMenuController = adoptNS([[UIDocumentMenuViewController alloc] _initIgnoringApplicationEntitlementForImportOfTypes:documentTypes]);
    412419        [_documentMenuController setDelegate:self];
     
    427434    } else {
    428435        // Image and Video types are not accepted so bypass the menu and open the file picker directly.
    429         // FIXME: Support multiple file selection when implemented. <rdar://17177981>
     436        // FIXME 49963514: Support multiple file selection
    430437        _documentPickerController = adoptNS([[UIDocumentPickerViewController alloc] initWithDocumentTypes:documentTypes inMode:UIDocumentPickerModeImport]);
    431438        [_documentPickerController setDelegate:self];
     
    545552#pragma mark - UIDocumentPickerControllerDelegate implementation
    546553
    547 IGNORE_WARNINGS_BEGIN("deprecated-implementations")
    548 - (void)documentPicker:(UIDocumentPickerViewController *)documentPicker didPickDocumentAtURL:(NSURL *)url
    549 IGNORE_WARNINGS_END
    550 {
     554- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray <NSURL *> *)urls
     555{
     556    // FIXME 49963514: Support multiple file selection
     557    ASSERT(urls.count == 1);
     558    NSURL *url = urls[0];
    551559    [self _dismissDisplayAnimated:YES];
    552     [self _chooseFiles:@[url] displayString:url.lastPathComponent iconImage:iconForFile(url)];
     560    [self _chooseFiles:urls displayString:url.lastPathComponent iconImage:iconForFile(url)];
    553561}
    554562
Note: See TracChangeset for help on using the changeset viewer.