WebKit Bugzilla
Attachment 371084 Details for
Bug 198432
: REGRESSION: WebKit.InteractionDeadlockAfterCrash and SynchronousTimeoutTests.UnresponsivePageDoesNotCausePositionInformationToHangUI API tests are failing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198432-20190531141827.patch (text/plain), 5.57 KB, created by
Tim Horton
on 2019-05-31 14:18:27 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Tim Horton
Created:
2019-05-31 14:18:27 PDT
Size:
5.57 KB
patch
obsolete
>Subversion Revision: 245863 >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index a2ccc8f857e8412aa58edd3085f69833e428f2b1..93d4d30dee7507c66d03c77c1a5f57ef0f0f6b3f 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,18 @@ >+2019-05-31 Tim Horton <timothy_horton@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-29 Ryan Haddad <ryanhaddad@apple.com> > > Unreviewed, rolling out r245857. >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm >index be6e89578ad9b9b103ce352fc0ba69f4d937e543..d4324a8f6c6a9df23de884bf59a646115d28910c 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm >@@ -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 @@ TEST(WebKit, InteractionDeadlockAfterCrash) > [webView _test_waitForDidFinishNavigation]; > > // This will synchronously ensure we have up-to-date interaction information. >- [interactionView hasSelectablePositionAtPoint:CGPointZero]; >+ [[webView wkContentView] hasSelectablePositionAtPoint:CGPointZero]; > } > > #endif >diff --git a/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm b/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm >index 418d3fa432cf88b5ad6915c8add73c4b69ab71b2..1235163a1eaab97031c5111cc4cae61c240718ff 100644 >--- a/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm >+++ b/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm >@@ -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)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198432
:
371080
| 371084