Title: [244371] trunk/Source/WebKit
Revision
244371
Author
[email protected]
Date
2019-04-16 21:45:49 -0700 (Tue, 16 Apr 2019)

Log 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.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (244370 => 244371)


--- trunk/Source/WebKit/ChangeLog	2019-04-17 03:34:10 UTC (rev 244370)
+++ trunk/Source/WebKit/ChangeLog	2019-04-17 04:45:49 UTC (rev 244371)
@@ -1,3 +1,19 @@
+2019-04-16  Andy Estes  <[email protected]>
+
+        [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.
+
 2019-04-16  Wenson Hsieh  <[email protected]>
 
         [iOS] [WebKit2] Add support for honoring -[UIMenuItem dontDismiss]

Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm (244370 => 244371)


--- trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm	2019-04-17 03:34:10 UTC (rev 244370)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm	2019-04-17 04:45:49 UTC (rev 244371)
@@ -404,10 +404,17 @@
     BOOL containsImageMediaType = !mediaTypes.count || arrayContainsUTIThatConformsTo(mediaTypes, kUTTypeImage);
     BOOL containsVideoMediaType = !mediaTypes.count || arrayContainsUTIThatConformsTo(mediaTypes, kUTTypeMovie);
 
+#if PLATFORM(IOSMAC)
+    // FIXME 49961589: Support picking media with UIImagePickerController
+    BOOL shouldPresentDocumentMenuViewController = NO;
+#else
+    BOOL shouldPresentDocumentMenuViewController = containsImageMediaType || containsVideoMediaType;
+#endif
+
     NSArray *documentTypes = mediaTypes.count ? mediaTypes : @[(__bridge NSString *)kUTTypeItem];
-    if (containsImageMediaType || containsVideoMediaType) {
+    if (shouldPresentDocumentMenuViewController) {
         // FIXME: UIDocumentMenuViewController is deprecated, we should use UIDocumentPickerViewController instead.
-        // FIXME: Support multiple file selection when implemented. <rdar://17177981>
+        // FIXME 49963514: Support multiple file selection
         _documentMenuController = adoptNS([[UIDocumentMenuViewController alloc] _initIgnoringApplicationEntitlementForImportOfTypes:documentTypes]);
         [_documentMenuController setDelegate:self];
 
@@ -426,7 +433,7 @@
         [self _presentMenuOptionForCurrentInterfaceIdiom:_documentMenuController.get()];
     } else {
         // Image and Video types are not accepted so bypass the menu and open the file picker directly.
-        // FIXME: Support multiple file selection when implemented. <rdar://17177981>
+        // FIXME 49963514: Support multiple file selection
         _documentPickerController = adoptNS([[UIDocumentPickerViewController alloc] initWithDocumentTypes:documentTypes inMode:UIDocumentPickerModeImport]);
         [_documentPickerController setDelegate:self];
         [self _presentFullscreenViewController:_documentPickerController.get() animated:YES];
@@ -544,12 +551,13 @@
 
 #pragma mark - UIDocumentPickerControllerDelegate implementation
 
-IGNORE_WARNINGS_BEGIN("deprecated-implementations")
-- (void)documentPicker:(UIDocumentPickerViewController *)documentPicker didPickDocumentAtURL:(NSURL *)url
-IGNORE_WARNINGS_END
+- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray <NSURL *> *)urls
 {
+    // FIXME 49963514: Support multiple file selection
+    ASSERT(urls.count == 1);
+    NSURL *url = ""
     [self _dismissDisplayAnimated:YES];
-    [self _chooseFiles:@[url] displayString:url.lastPathComponent iconImage:iconForFile(url)];
+    [self _chooseFiles:urls displayString:url.lastPathComponent iconImage:iconForFile(url)];
 }
 
 - (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)documentPicker
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to