Title: [255507] trunk
- Revision
- 255507
- Author
- ddkil...@apple.com
- Date
- 2020-01-31 10:33:13 -0800 (Fri, 31 Jan 2020)
Log Message
REGRESSION: [ iPadOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html always fails
<https://webkit.org/b/206759>
<rdar://problem/58872607>
Reviewed by Brent Fulgham.
Source/WebKit:
Test: imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html
* Platform/spi/ios/UIKitSPI.h:
(-[UIViewController isPerformingModalTransition]): Add SPI
declaration.
Tools:
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
(WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):
- Add declaration.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):
- Implement by waiting for
-[UIViewController isPerformingModalTransition] to return NO
while spinning the runloop.
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
- Call waitForModalTransitionToFinish() to fix the test.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (255506 => 255507)
--- trunk/Source/WebKit/ChangeLog 2020-01-31 18:05:08 UTC (rev 255506)
+++ trunk/Source/WebKit/ChangeLog 2020-01-31 18:33:13 UTC (rev 255507)
@@ -1,3 +1,17 @@
+2020-01-31 David Kilzer <ddkil...@apple.com>
+
+ REGRESSION: [ iPadOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html always fails
+ <https://webkit.org/b/206759>
+ <rdar://problem/58872607>
+
+ Reviewed by Brent Fulgham.
+
+ Test: imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html
+
+ * Platform/spi/ios/UIKitSPI.h:
+ (-[UIViewController isPerformingModalTransition]): Add SPI
+ declaration.
+
2020-01-31 Brent Fulgham <bfulg...@apple.com>
REGRESSION (r251511): [iOS] HDR Playback broken
Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (255506 => 255507)
--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2020-01-31 18:05:08 UTC (rev 255506)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2020-01-31 18:33:13 UTC (rev 255507)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2014-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -467,6 +467,7 @@
@interface UIViewController ()
+ (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
+ (UIViewController *)viewControllerForView:(UIView *)view;
+- (BOOL)isPerformingModalTransition;
@end
@interface UIViewController (ViewService)
Modified: trunk/Tools/ChangeLog (255506 => 255507)
--- trunk/Tools/ChangeLog 2020-01-31 18:05:08 UTC (rev 255506)
+++ trunk/Tools/ChangeLog 2020-01-31 18:33:13 UTC (rev 255507)
@@ -1,3 +1,22 @@
+2020-01-31 David Kilzer <ddkil...@apple.com>
+
+ REGRESSION: [ iPadOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html always fails
+ <https://webkit.org/b/206759>
+ <rdar://problem/58872607>
+
+ Reviewed by Brent Fulgham.
+
+ * WebKitTestRunner/ios/UIScriptControllerIOS.h:
+ (WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):
+ - Add declaration.
+ * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
+ (WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):
+ - Implement by waiting for
+ -[UIViewController isPerformingModalTransition] to return NO
+ while spinning the runloop.
+ (WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
+ - Call waitForModalTransitionToFinish() to fix the test.
+
2020-01-31 Aakash Jain <aakash_j...@apple.com>
[ews] add build step to set custom build summary
Modified: trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h (255506 => 255507)
--- trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h 2020-01-31 18:05:08 UTC (rev 255506)
+++ trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h 2020-01-31 18:33:13 UTC (rev 255507)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2019-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -155,6 +155,7 @@
void clearAllCallbacks() override;
private:
+ void waitForModalTransitionToFinish() const;
void waitForSingleTapToReset() const;
WebCore::FloatRect rectForMenuAction(CFStringRef) const;
void singleTapAtPointWithModifiers(WebCore::FloatPoint location, Vector<String>&& modifierFlags, BlockPtr<void()>&&);
Modified: trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm (255506 => 255507)
--- trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm 2020-01-31 18:05:08 UTC (rev 255506)
+++ trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm 2020-01-31 18:33:13 UTC (rev 255507)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-2020 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -253,6 +253,12 @@
singleTapAtPoint(x, y, callback);
}
+void UIScriptControllerIOS::waitForModalTransitionToFinish() const
+{
+ while ([webView().window.rootViewController isPerformingModalTransition])
+ [NSRunLoop.currentRunLoop runMode:NSDefaultRunLoopMode beforeDate:NSDate.distantFuture];
+}
+
void UIScriptControllerIOS::waitForSingleTapToReset() const
{
bool doneWaitingForSingleTapToReset = false;
@@ -289,6 +295,9 @@
// Animations on the scroll view could be in progress to reveal a form control which may interfere with hit testing (see wkb.ug/205458).
[webView().scrollView _removeAllAnimations:NO];
+ // Necessary for popovers on iPad (used for elements such as <select>) to finish dismissing (see wkb.ug/206759).
+ waitForModalTransitionToFinish();
+
waitForSingleTapToReset();
for (auto& modifierFlag : modifierFlags)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes