Title: [245988] trunk/Tools
- Revision
- 245988
- Author
- timothy_hor...@apple.com
- Date
- 2019-05-31 15:02:14 -0700 (Fri, 31 May 2019)
Log Message
REGRESSION: WebKit.InteractionDeadlockAfterCrash and SynchronousTimeoutTests.UnresponsivePageDoesNotCausePositionInformationToHangUI API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=198432
<rdar://problem/51266033>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
(TEST):
(recursiveFindHighlightLongPressRecognizer): Deleted.
* TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::recursiveFindHighlightLongPressRecognizer): Deleted.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (245987 => 245988)
--- trunk/Tools/ChangeLog 2019-05-31 21:56:37 UTC (rev 245987)
+++ trunk/Tools/ChangeLog 2019-05-31 22:02:14 UTC (rev 245988)
@@ -1,3 +1,18 @@
+2019-05-31 Tim Horton <timothy_hor...@apple.com>
+
+ REGRESSION: WebKit.InteractionDeadlockAfterCrash and SynchronousTimeoutTests.UnresponsivePageDoesNotCausePositionInformationToHangUI API tests are failing
+ https://bugs.webkit.org/show_bug.cgi?id=198432
+ <rdar://problem/51266033>
+
+ Reviewed by Wenson Hsieh.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
+ (TEST):
+ (recursiveFindHighlightLongPressRecognizer): Deleted.
+ * TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm:
+ (TestWebKitAPI::TEST):
+ (TestWebKitAPI::recursiveFindHighlightLongPressRecognizer): Deleted.
+
2019-05-31 Alex Christensen <achristen...@webkit.org>
URLParser::parseIPv6Host should properly parse 0's around compression
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm (245987 => 245988)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm 2019-05-31 21:56:37 UTC (rev 245987)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm 2019-05-31 22:02:14 UTC (rev 245988)
@@ -33,46 +33,23 @@
#import <WebKit/WKWebViewPrivate.h>
#import <wtf/RetainPtr.h>
-@interface NSObject ()
+#if PLATFORM(IOS_FAMILY)
+@interface WKContentView ()
- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
-
@end
-#if PLATFORM(IOS_FAMILY)
-
-static UIGestureRecognizer *recursiveFindHighlightLongPressRecognizer(UIView *view)
-{
- for (UIGestureRecognizer *recognizer in view.gestureRecognizers) {
- if ([recognizer isKindOfClass:NSClassFromString(@"_UIWebHighlightLongPressGestureRecognizer")])
- return recognizer;
- }
-
- for (UIView *subview in view.subviews) {
- UIGestureRecognizer *recognizer = recursiveFindHighlightLongPressRecognizer(subview);
- if (recognizer)
- return recognizer;
- }
-
- return nil;
-}
-
TEST(WebKit, InteractionDeadlockAfterCrash)
{
RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
- RetainPtr<WKWebView> webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) configuration:configuration.get()]);
+ RetainPtr<TestWKWebView> webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) configuration:configuration.get()]);
[webView loadHTMLString:@"test" baseURL:nil];
[webView _test_waitForDidFinishNavigation];
- UIGestureRecognizer *highlightLongPressRecognizer = recursiveFindHighlightLongPressRecognizer(webView.get());
- UIView *interactionView = highlightLongPressRecognizer.view;
- EXPECT_NOT_NULL(highlightLongPressRecognizer);
-
// This will start an asynchronous interaction information update.
- BOOL shouldBegin = [[highlightLongPressRecognizer delegate] gestureRecognizerShouldBegin:highlightLongPressRecognizer];
- EXPECT_TRUE(shouldBegin);
+ [webView _simulateLongPressActionAtLocation:CGPointMake(50, 50)];
[webView _killWebContentProcessAndResetState];
@@ -80,7 +57,7 @@
[webView _test_waitForDidFinishNavigation];
// This will synchronously ensure we have up-to-date interaction information.
- [interactionView hasSelectablePositionAtPoint:CGPointZero];
+ [[webView wkContentView] hasSelectablePositionAtPoint:CGPointZero];
}
#endif
Modified: trunk/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm (245987 => 245988)
--- trunk/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm 2019-05-31 21:56:37 UTC (rev 245987)
+++ trunk/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm 2019-05-31 22:02:14 UTC (rev 245988)
@@ -32,48 +32,23 @@
#if PLATFORM(IOS_FAMILY)
-using namespace TestWebKitAPI;
-
-@interface NSObject ()
-
+@interface WKContentView ()
- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
-
@end
namespace TestWebKitAPI {
-
-static UIGestureRecognizer *recursiveFindHighlightLongPressRecognizer(UIView *view)
-{
- for (UIGestureRecognizer *recognizer in view.gestureRecognizers) {
- if ([recognizer isKindOfClass:NSClassFromString(@"_UIWebHighlightLongPressGestureRecognizer")])
- return recognizer;
- }
-
- for (UIView *subview in view.subviews) {
- UIGestureRecognizer *recognizer = recursiveFindHighlightLongPressRecognizer(subview);
- if (recognizer)
- return recognizer;
- }
-
- return nil;
-}
-
+
TEST(SynchronousTimeoutTests, UnresponsivePageDoesNotCausePositionInformationToHangUI)
{
auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 500)]);
[webView synchronouslyLoadTestPageNamed:@"simple"];
-
- UIGestureRecognizer *highlightLongPressRecognizer = recursiveFindHighlightLongPressRecognizer(webView.get());
- UIView *interactionView = highlightLongPressRecognizer.view;
- EXPECT_NOT_NULL(highlightLongPressRecognizer);
-
+
[webView evaluateJavaScript:@"while(1);" completionHandler:nil];
// The test passes if we can long press and still finish the test.
- [interactionView hasSelectablePositionAtPoint:CGPointMake(100, 100)];
+ [[webView wkContentView] hasSelectablePositionAtPoint:CGPointMake(100, 100)];
}
-
} // namespace TestWebKitAPI
#endif // PLATFORM(IOS_FAMILY)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes