Diff
Modified: trunk/Source/WebKit/ChangeLog (293116 => 293117)
--- trunk/Source/WebKit/ChangeLog 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/ChangeLog 2022-04-20 21:42:58 UTC (rev 293117)
@@ -1,3 +1,37 @@
+2022-04-20 Megan Gardner <[email protected]>
+
+ Address recent deprecation warnings on iOS.
+ https://bugs.webkit.org/show_bug.cgi?id=239560
+
+ Reviewed by Wenson Hsieh.
+
+ * Platform/spi/ios/UIKitSPI.h:
+ * UIProcess/ios/WKActionSheetAssistant.mm:
+ (-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
+ (-[WKActionSheetAssistant contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+ * UIProcess/ios/WKContentViewInteraction.mm:
+ (-[WKContentView setUpInteraction]):
+ (-[WKContentView canPerformActionForWebView:withSender:]):
+ (-[WKContentView pasteForWebView:]):
+ (-[WKContentView _handleDOMPasteRequestWithResult:]):
+ (-[WKContentView _requestDOMPasteAccessForCategory:elementRect:originIdentifier:completionHandler:]):
+ (-[WKContentView contextMenuInteraction:configuration:previewForHighlightingItemWithIdentifier:]):
+ (-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:]):
+ (-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+ (-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]): Deleted.
+ * UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
+ (-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
+ (-[WKDataListSuggestionsDropdown contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+ * UIProcess/ios/forms/WKDateTimeInputControl.mm:
+ (-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
+ (-[WKDateTimePicker contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+ * UIProcess/ios/forms/WKFileUploadPanel.mm:
+ (-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
+ (-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+ * UIProcess/ios/forms/WKFormSelectPicker.mm:
+ (-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
+ (-[WKSelectPicker contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
+
2022-04-20 Alan Bujtas <[email protected]>
[IFC][Integration] Do not call WebPreferences::simpleLineLayoutEnabled in canUseForLineLayoutWithReason
Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (293116 => 293117)
--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2022-04-20 21:42:58 UTC (rev 293117)
@@ -41,6 +41,7 @@
#import <UIKit/UIDevice_Private.h>
#import <UIKit/UIDocumentPasswordView.h>
#import <UIKit/UIDocumentPickerViewController_Private.h>
+#import <UIKit/UIEditMenuInteraction_Private.h>
#import <UIKit/UIFont_Private.h>
#import <UIKit/UIGeometry_Private.h>
#import <UIKit/UIGestureRecognizer_Private.h>
@@ -1212,9 +1213,11 @@
@property (nonatomic, readonly) UIKeyboardPreferencesController<TIPreferencesControllerActions> *preferencesActions;
@end
+ALLOW_DEPRECATED_DECLARATIONS_BEGIN
@interface UIMenuItem (UIMenuController_SPI)
@property (nonatomic) BOOL dontDismiss;
@end
+ALLOW_DEPRECATED_DECLARATIONS_END
@interface UICalloutBar : UIView
+ (UICalloutBar *)activeCalloutBar;
Modified: trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -924,7 +924,7 @@
return nil;
}
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
#if ENABLE(DATA_DETECTION)
if (interaction == _dataDetectorContextMenuInteraction) {
Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -1077,8 +1077,12 @@
#endif
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
+
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[center addObserver:self selector:@selector(_willHideMenu:) name:UIMenuControllerWillHideMenuNotification object:nil];
[center addObserver:self selector:@selector(_didHideMenu:) name:UIMenuControllerDidHideMenuNotification object:nil];
+ ALLOW_DEPRECATED_DECLARATIONS_END
+
[center addObserver:self selector:@selector(_keyboardDidRequestDismissal:) name:UIKeyboardPrivateDidRequestDismissalNotification object:nil];
_showingTextStyleOptions = NO;
@@ -4117,10 +4121,12 @@
}
if (action == @selector(selectAll:)) {
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
if ([sender isKindOfClass:UIMenuController.class]) {
// By platform convention we don't show Select All in the callout menu for a range selection.
return !editorState.selectionIsRange && self.hasContent;
}
+ ALLOW_DEPRECATED_DECLARATIONS_END
return YES;
}
@@ -4150,8 +4156,10 @@
if (!mayContainSelectableText(_focusedElementInformation.elementType) || _focusedElementInformation.isReadOnly)
return NO;
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
if ([sender isKindOfClass:UIMenuController.class] && editorState.selectionIsRange)
return NO;
+ ALLOW_DEPRECATED_DECLARATIONS_END
}
#endif // ENABLE(IMAGE_ANALYSIS)
@@ -4206,8 +4214,10 @@
- (void)pasteForWebView:(id)sender
{
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
if (sender == UIMenuController.sharedMenuController && [self _handleDOMPasteRequestWithResult:WebCore::DOMPasteAccessResponse::GrantedForGesture])
return;
+ ALLOW_DEPRECATED_DECLARATIONS_END
_autocorrectionContextNeedsUpdate = YES;
_page->executeEditCommand("paste"_s);
@@ -4370,7 +4380,9 @@
}
if (auto pasteHandler = WTFMove(_domPasteRequestHandler)) {
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[UIMenuController.sharedMenuController hideMenuFromView:self];
+ ALLOW_DEPRECATED_DECLARATIONS_END
pasteHandler(response);
return YES;
}
@@ -7050,8 +7062,9 @@
menuControllerRect = { WebCore::IntPoint(_lastInteractionLocation), { } };
menuControllerRect.inflate(interactionLocationMargin);
}
-
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[UIMenuController.sharedMenuController showMenuFromView:self rect:menuControllerRect];
+ ALLOW_DEPRECATED_DECLARATIONS_END
}
- (void)doAfterEditorStateUpdateAfterFocusingElement:(dispatch_block_t)block
@@ -11878,7 +11891,7 @@
return [_actionSheetAssistant suggestedActionsForContextMenuWithPositionInformation:_positionInformation];
}
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration previewForHighlightingItemWithIdentifier:(id<NSCopying>)identifier
{
[self _startSuppressingSelectionAssistantForReason:WebKit::InteractionIsHappening];
[self _cancelTouchEventGestureRecognizer];
@@ -11912,7 +11925,7 @@
}
}
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration dismissalPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
return std::exchange(_contextMenuInteractionTargetedPreview, nil).autorelease();
}
Modified: trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -552,7 +552,7 @@
#pragma mark UIContextMenuInteractionDelegate
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
return [self.view _createTargetedContextMenuHintPreviewForFocusedElement];
}
Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKDateTimeInputControl.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/forms/WKDateTimeInputControl.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKDateTimeInputControl.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -416,7 +416,8 @@
return UIEdgeInsetsZero;
}
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
return [_view _createTargetedContextMenuHintPreviewForFocusedElement];
}
Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -637,7 +637,7 @@
#if USE(UICONTEXTMENU)
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
return [_view _createTargetedContextMenuHintPreviewIfPossible];
}
Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm (293116 => 293117)
--- trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -649,7 +649,7 @@
return nil;
}
-- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForHighlightingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
+- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configuration:(UIContextMenuConfiguration *)configuration highlightPreviewForItemWithIdentifier:(id<NSCopying>)identifier
{
return [_view _createTargetedContextMenuHintPreviewForFocusedElement];
}
Modified: trunk/Tools/ChangeLog (293116 => 293117)
--- trunk/Tools/ChangeLog 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Tools/ChangeLog 2022-04-20 21:42:58 UTC (rev 293117)
@@ -1,3 +1,21 @@
+2022-04-20 Megan Gardner <[email protected]>
+
+ Address recent deprecation warnings on iOS.
+ https://bugs.webkit.org/show_bug.cgi?id=239560
+
+ Reviewed by Wenson Hsieh.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
+ (TEST):
+ * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
+ (-[TestRunnerWKWebView initWithFrame:configuration:]):
+ (-[TestRunnerWKWebView _addCustomItemToMenuControllerIfNecessary]):
+ (-[TestRunnerWKWebView resetCustomMenuAction]):
+ (-[TestRunnerWKWebView canPerformAction:withSender:]):
+ * WebKitTestRunner/ios/TestControllerIOS.mm:
+ (WTR::TestController::platformInitialize):
+ (WTR::TestController::platformDestroy):
+
2022-04-20 Commit Queue <[email protected]>
Unreviewed, reverting r292508.
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm (293116 => 293117)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -136,7 +136,9 @@
[webView selectAll:nil];
[webView waitForNextPresentationUpdate];
EXPECT_TRUE([webView canPerformAction:@selector(captureTextFromCamera:) withSender:nil]);
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
EXPECT_FALSE([webView canPerformAction:@selector(captureTextFromCamera:) withSender:UIMenuController.sharedMenuController]);
+ ALLOW_DEPRECATED_DECLARATIONS_END
[webView collapseToEnd];
[webView waitForNextPresentationUpdate];
Modified: trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm (293116 => 293117)
--- trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -111,9 +111,11 @@
#else
[center addObserver:self selector:@selector(_invokeShowKeyboardCallbackIfNecessary) name:UIKeyboardDidShowNotification object:nil];
[center addObserver:self selector:@selector(_invokeHideKeyboardCallbackIfNecessary) name:UIKeyboardDidHideNotification object:nil];
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[center addObserver:self selector:@selector(_didShowMenu) name:UIMenuControllerDidShowMenuNotification object:nil];
[center addObserver:self selector:@selector(_willHideMenu) name:UIMenuControllerWillHideMenuNotification object:nil];
[center addObserver:self selector:@selector(_didHideMenu) name:UIMenuControllerDidHideMenuNotification object:nil];
+ ALLOW_DEPRECATED_DECLARATIONS_END
[center addObserver:self selector:@selector(_willPresentPopover) name:@"UIPopoverControllerWillPresentPopoverNotification" object:nil];
[center addObserver:self selector:@selector(_didDismissPopover) name:@"UIPopoverControllerDidDismissPopoverNotification" object:nil];
self.UIDelegate = self;
@@ -282,8 +284,10 @@
return;
auto item = adoptNS([[UIMenuItem alloc] initWithTitle:_customMenuActionInfo->name.get() action:@selector(performCustomAction:)]);
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[item setDontDismiss:!_customMenuActionInfo->dismissesAutomatically];
UIMenuController *controller = UIMenuController.sharedMenuController;
+ ALLOW_DEPRECATED_DECLARATIONS_END
controller.menuItems = @[ item.get() ];
[controller update];
}
@@ -302,7 +306,9 @@
- (void)resetCustomMenuAction
{
_customMenuActionInfo.reset();
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
UIMenuController.sharedMenuController.menuItems = @[ ];
+ ALLOW_DEPRECATED_DECLARATIONS_END
}
- (void)performCustomAction:(id)sender
@@ -325,7 +331,9 @@
if (isCustomAction)
canPerformActionByDefault = _customMenuActionInfo.has_value();
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
if (canPerformActionByDefault && _allowedMenuActions && sender == UIMenuController.sharedMenuController) {
+ ALLOW_DEPRECATED_DECLARATIONS_END
BOOL isAllowed = NO;
if (isCustomAction) {
for (NSString *allowedAction in _allowedMenuActions.get()) {
Modified: trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm (293116 => 293117)
--- trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm 2022-04-20 21:41:33 UTC (rev 293116)
+++ trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm 2022-04-20 21:42:58 UTC (rev 293117)
@@ -110,8 +110,10 @@
auto center = CFNotificationCenterGetLocalCenter();
CFNotificationCenterAddObserver(center, this, handleKeyboardWillHideNotification, (CFStringRef)UIKeyboardWillHideNotification, nullptr, CFNotificationSuspensionBehaviorDeliverImmediately);
CFNotificationCenterAddObserver(center, this, handleKeyboardDidHideNotification, (CFStringRef)UIKeyboardDidHideNotification, nullptr, CFNotificationSuspensionBehaviorDeliverImmediately);
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
CFNotificationCenterAddObserver(center, this, handleMenuWillHideNotification, (CFStringRef)UIMenuControllerWillHideMenuNotification, nullptr, CFNotificationSuspensionBehaviorDeliverImmediately);
CFNotificationCenterAddObserver(center, this, handleMenuDidHideNotification, (CFStringRef)UIMenuControllerDidHideMenuNotification, nullptr, CFNotificationSuspensionBehaviorDeliverImmediately);
+ ALLOW_DEPRECATED_DECLARATIONS_END
}
void TestController::platformDestroy()
@@ -121,8 +123,10 @@
auto center = CFNotificationCenterGetLocalCenter();
CFNotificationCenterRemoveObserver(center, this, (CFStringRef)UIKeyboardWillHideNotification, nullptr);
CFNotificationCenterRemoveObserver(center, this, (CFStringRef)UIKeyboardDidHideNotification, nullptr);
+ ALLOW_DEPRECATED_DECLARATIONS_BEGIN
CFNotificationCenterRemoveObserver(center, this, (CFStringRef)UIMenuControllerWillHideMenuNotification, nullptr);
CFNotificationCenterRemoveObserver(center, this, (CFStringRef)UIMenuControllerDidHideMenuNotification, nullptr);
+ ALLOW_DEPRECATED_DECLARATIONS_END
}
void TestController::initializeInjectedBundlePath()