Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm (294881 => 294882)
--- trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm 2022-05-26 17:25:38 UTC (rev 294881)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm 2022-05-26 17:46:28 UTC (rev 294882)
@@ -332,7 +332,7 @@
#pragma mark - WKFileUploadPanel
-@interface WKFileUploadPanel () <UIPopoverControllerDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIDocumentPickerDelegate, UIAdaptivePresentationControllerDelegate
+@interface WKFileUploadPanel () <UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIDocumentPickerDelegate, UIAdaptivePresentationControllerDelegate
#if USE(UICONTEXTMENU)
, UIContextMenuInteractionDelegate
#endif
@@ -351,9 +351,8 @@
RetainPtr<WKFileUploadMediaTranscoder> _mediaTranscoder;
#endif
RetainPtr<UIImagePickerController> _imagePicker;
- RetainPtr<UIViewController> _presentationViewController; // iPhone always. iPad for Fullscreen Camera.
+ RetainPtr<UIViewController> _presentationViewController;
ALLOW_DEPRECATED_DECLARATIONS_BEGIN
- RetainPtr<UIPopoverController> _presentationPopover; // iPad for action sheet and Photo Library.
BOOL _isPresentingSubMenu;
ALLOW_DEPRECATED_DECLARATIONS_END
#if USE(UICONTEXTMENU)
@@ -374,7 +373,6 @@
- (void)dealloc
{
[_imagePicker setDelegate:nil];
- [_presentationPopover setDelegate:nil];
[_documentPickerController setDelegate:nil];
#if USE(UICONTEXTMENU)
[self removeContextMenuInteraction];
@@ -503,9 +501,7 @@
if (auto view = _view.get())
[[UIViewController _viewControllerForFullScreenPresentationFromView:view.get()] dismissViewControllerAnimated:NO completion:nil];
-
- [_presentationPopover setDelegate:nil];
- _presentationPopover = nil;
+
_presentationViewController = nil;
[self _cancel];
@@ -513,12 +509,6 @@
- (void)_dismissDisplayAnimated:(BOOL)animated
{
- if (_presentationPopover) {
- [_presentationPopover dismissPopoverAnimated:animated];
- [_presentationPopover setDelegate:nil];
- _presentationPopover = nil;
- }
-
if (_presentationViewController) {
UIViewController *currentPresentedViewController = [_presentationViewController presentedViewController];
if (currentPresentedViewController == self || currentPresentedViewController == _imagePicker.get()) {
@@ -781,8 +771,8 @@
[_imagePicker setSourceType:sourceType];
[_imagePicker setMediaTypes:[self _mediaTypesForPickerSourceType:sourceType]];
[_imagePicker setDelegate:self];
+ [_imagePicker presentationController].delegate = self;
[_imagePicker setAllowsEditing:NO];
- [_imagePicker setModalPresentationStyle:UIModalPresentationFullScreen];
[_imagePicker _setAllowsMultipleSelection:_allowMultipleFiles];
[_imagePicker _setRequiresPickingConfirmation:YES];
[_imagePicker _setShowsFileSizePicker:YES];
@@ -790,36 +780,11 @@
if (_mediaCaptureType != WebCore::MediaCaptureTypeNone)
[_imagePicker setCameraDevice:cameraDeviceForMediaCaptureType(_mediaCaptureType)];
- // Use a popover on the iPad if the source type is not the camera.
- // The camera will use a fullscreen, modal view controller.
- BOOL usePopover = !currentUserInterfaceIdiomIsSmallScreen() && sourceType != UIImagePickerControllerSourceTypeCamera;
- if (usePopover)
- [self _presentPopoverWithContentViewController:_imagePicker.get() animated:YES];
- else
- [self _presentFullscreenViewController:_imagePicker.get() animated:YES];
+ [self _presentFullscreenViewController:_imagePicker.get() animated:YES];
}
#pragma mark - Presenting View Controllers
-- (void)_presentMenuOptionForCurrentInterfaceIdiom:(UIViewController *)viewController
-{
- if (currentUserInterfaceIdiomIsSmallScreen())
- [self _presentFullscreenViewController:viewController animated:YES];
- else
- [self _presentPopoverWithContentViewController:viewController animated:YES];
-}
-
-- (void)_presentPopoverWithContentViewController:(UIViewController *)contentViewController animated:(BOOL)animated
-{
- [self _dismissDisplayAnimated:animated];
-
- ALLOW_DEPRECATED_DECLARATIONS_BEGIN
- _presentationPopover = adoptNS([[UIPopoverController alloc] initWithContentViewController:contentViewController]);
- ALLOW_DEPRECATED_DECLARATIONS_END
- [_presentationPopover setDelegate:self];
- [_presentationPopover presentPopoverFromRect:CGRectIntegral(CGRectMake(_interactionPoint.x, _interactionPoint.y, 1, 1)) inView:_view.getAutoreleased() permittedArrowDirections:UIPopoverArrowDirectionAny animated:animated];
-}
-
- (void)_presentFullscreenViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[self _dismissDisplayAnimated:animated];
@@ -835,15 +800,6 @@
[self _cancel];
}
-#pragma mark - UIPopoverControllerDelegate
-
-ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
-- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
-ALLOW_DEPRECATED_IMPLEMENTATIONS_END
-{
- [self _cancel];
-}
-
#pragma mark - UIDocumentPickerControllerDelegate implementation
static NSString *displayStringForDocumentsAtURLs(NSArray<NSURL *> *urls)