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