⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245988 in webkit


Ignore:
Timestamp:
May 31, 2019, 3:02:14 PM (7 years ago)
Author:
timothy_horton@apple.com
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.

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r245983 r245988  
     12019-05-31  Tim Horton  <timothy_horton@apple.com>
     2
     3        REGRESSION: WebKit.InteractionDeadlockAfterCrash and SynchronousTimeoutTests.UnresponsivePageDoesNotCausePositionInformationToHangUI API tests are failing
     4        https://bugs.webkit.org/show_bug.cgi?id=198432
     5        <rdar://problem/51266033>
     6
     7        Reviewed by Wenson Hsieh.
     8
     9        * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
     10        (TEST):
     11        (recursiveFindHighlightLongPressRecognizer): Deleted.
     12        * TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm:
     13        (TestWebKitAPI::TEST):
     14        (TestWebKitAPI::recursiveFindHighlightLongPressRecognizer): Deleted.
     15
    1162019-05-31  Alex Christensen  <achristensen@webkit.org>
    217
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm

    r242339 r245988  
    3434#import <wtf/RetainPtr.h>
    3535
    36 @interface NSObject ()
    37 
    38 - (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
    39 
    40 @end
    41 
    4236#if PLATFORM(IOS_FAMILY)
    4337
    44 static UIGestureRecognizer *recursiveFindHighlightLongPressRecognizer(UIView *view)
    45 {
    46     for (UIGestureRecognizer *recognizer in view.gestureRecognizers) {
    47         if ([recognizer isKindOfClass:NSClassFromString(@"_UIWebHighlightLongPressGestureRecognizer")])
    48             return recognizer;
    49     }
    50 
    51     for (UIView *subview in view.subviews) {
    52         UIGestureRecognizer *recognizer = recursiveFindHighlightLongPressRecognizer(subview);
    53         if (recognizer)
    54             return recognizer;
    55     }
    56 
    57     return nil;
    58 }
     38@interface WKContentView ()
     39- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
     40@end
    5941
    6042TEST(WebKit, InteractionDeadlockAfterCrash)
     
    6244    RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
    6345
    64     RetainPtr<WKWebView> webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) configuration:configuration.get()]);
     46    RetainPtr<TestWKWebView> webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100) configuration:configuration.get()]);
    6547
    6648    [webView loadHTMLString:@"test" baseURL:nil];
    6749    [webView _test_waitForDidFinishNavigation];
    6850
    69     UIGestureRecognizer *highlightLongPressRecognizer = recursiveFindHighlightLongPressRecognizer(webView.get());
    70     UIView *interactionView = highlightLongPressRecognizer.view;
    71     EXPECT_NOT_NULL(highlightLongPressRecognizer);
    72 
    7351    // This will start an asynchronous interaction information update.
    74     BOOL shouldBegin = [[highlightLongPressRecognizer delegate] gestureRecognizerShouldBegin:highlightLongPressRecognizer];
    75     EXPECT_TRUE(shouldBegin);
     52    [webView _simulateLongPressActionAtLocation:CGPointMake(50, 50)];
    7653
    7754    [webView _killWebContentProcessAndResetState];
     
    8158
    8259    // This will synchronously ensure we have up-to-date interaction information.
    83     [interactionView hasSelectablePositionAtPoint:CGPointZero];
     60    [[webView wkContentView] hasSelectablePositionAtPoint:CGPointZero];
    8461}
    8562
  • trunk/Tools/TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm

    r242339 r245988  
    3333#if PLATFORM(IOS_FAMILY)
    3434
    35 using namespace TestWebKitAPI;
    36 
    37 @interface NSObject ()
    38 
     35@interface WKContentView ()
    3936- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
    40 
    4137@end
    4238
    4339namespace TestWebKitAPI {
    44    
    45 static UIGestureRecognizer *recursiveFindHighlightLongPressRecognizer(UIView *view)
    46 {
    47     for (UIGestureRecognizer *recognizer in view.gestureRecognizers) {
    48         if ([recognizer isKindOfClass:NSClassFromString(@"_UIWebHighlightLongPressGestureRecognizer")])
    49             return recognizer;
    50     }
    51    
    52     for (UIView *subview in view.subviews) {
    53         UIGestureRecognizer *recognizer = recursiveFindHighlightLongPressRecognizer(subview);
    54         if (recognizer)
    55             return recognizer;
    56     }
    57    
    58     return nil;
    59 }
    60    
     40
    6141TEST(SynchronousTimeoutTests, UnresponsivePageDoesNotCausePositionInformationToHangUI)
    6242{
    6343    auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 500)]);
    6444    [webView synchronouslyLoadTestPageNamed:@"simple"];
    65    
    66     UIGestureRecognizer *highlightLongPressRecognizer = recursiveFindHighlightLongPressRecognizer(webView.get());
    67     UIView *interactionView = highlightLongPressRecognizer.view;
    68     EXPECT_NOT_NULL(highlightLongPressRecognizer);
    69    
     45
    7046    [webView evaluateJavaScript:@"while(1);" completionHandler:nil];
    7147   
    7248    // The test passes if we can long press and still finish the test.
    73     [interactionView hasSelectablePositionAtPoint:CGPointMake(100, 100)];
     49    [[webView wkContentView] hasSelectablePositionAtPoint:CGPointMake(100, 100)];
    7450}
    7551
    76    
    7752} // namespace TestWebKitAPI
    7853
Note: See TracChangeset for help on using the changeset viewer.