Title: [293559] trunk/Tools
Revision
293559
Author
[email protected]
Date
2022-04-27 20:19:31 -0700 (Wed, 27 Apr 2022)

Log Message

[ iOS ] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=239310
<rdar://problem/91721160>

Reviewed by Youenn Fablet.

Message may be received before runTestAndCheckResult(), so we should not unset receivedScriptMessage before
wait.

* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(runUntilMessageReceived):
(TEST):
(runTestAndCheckResult): Deleted.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (293558 => 293559)


--- trunk/Tools/ChangeLog	2022-04-28 03:04:58 UTC (rev 293558)
+++ trunk/Tools/ChangeLog	2022-04-28 03:19:31 UTC (rev 293559)
@@ -1,3 +1,19 @@
+2022-04-27  Sihui Liu  <[email protected]>
+
+        [ iOS ] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is a constant timeout
+        https://bugs.webkit.org/show_bug.cgi?id=239310
+        <rdar://problem/91721160>
+
+        Reviewed by Youenn Fablet.
+
+        Message may be received before runTestAndCheckResult(), so we should not unset receivedScriptMessage before
+        wait.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
+        (runUntilMessageReceived):
+        (TEST):
+        (runTestAndCheckResult): Deleted.
+
 2022-04-27  Jonathan Bedard  <[email protected]>
 
         [git-webkit] Run style checker

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm (293558 => 293559)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm	2022-04-28 03:04:58 UTC (rev 293558)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm	2022-04-28 03:19:31 UTC (rev 293559)
@@ -39,7 +39,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-static bool idbAcitivitiesStarted;
+static bool idbActivitiesStarted;
 
 @interface IndexedDBSuspendImminentlyMessageHandler : NSObject <WKScriptMessageHandler>
 @end
@@ -48,7 +48,7 @@
 
 - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
 {
-    idbAcitivitiesStarted = true;
+    idbActivitiesStarted = true;
     receivedScriptMessage = true;
     lastScriptMessage = message;
 }
@@ -55,23 +55,23 @@
 
 @end
 
-static void runTestAndCheckResult(NSString* expectedResult)
+static void runUntilMessageReceived(NSString* expectedMessage)
 {
-    receivedScriptMessage = false;
     TestWebKitAPI::Util::run(&receivedScriptMessage);
     RetainPtr<NSString> string = (NSString *)[lastScriptMessage body];
-    EXPECT_WK_STREQ(expectedResult, string.get());
+    EXPECT_WK_STREQ(expectedMessage, string.get());
+    receivedScriptMessage = false;
 }
 
 static void keepNetworkProcessActive()
 {
     [[WKWebsiteDataStore defaultDataStore] fetchDataRecordsOfTypes:[WKWebsiteDataStore allWebsiteDataTypes] completionHandler:^(NSArray<WKWebsiteDataRecord *> *dataRecords) {
-        if (!idbAcitivitiesStarted)
+        if (!idbActivitiesStarted)
             keepNetworkProcessActive();
     }];
 }
-// FIXME: https://bugs.webkit.org/show_bug.cgi?id=239310
-TEST(IndexedDB, DISABLED_IndexedDBSuspendImminently)
+
+TEST(IndexedDB, IndexedDBSuspendImminently)
 {
     readyToContinue = false;
     [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:[WKWebsiteDataStore allWebsiteDataTypes] modifiedSince:[NSDate distantPast] completionHandler:^() {
@@ -86,18 +86,18 @@
     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
 
     NSURLRequest *request = [NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"IndexedDBSuspendImminently" withExtension:@"html" subdirectory:@"TestWebKitAPI.resources"]];
-    idbAcitivitiesStarted = false;
+    idbActivitiesStarted = false;
     [webView loadRequest:request];
 
     keepNetworkProcessActive();
 
-    runTestAndCheckResult(@"Continue");
+    runUntilMessageReceived(@"Continue");
 
     [configuration.get().websiteDataStore _sendNetworkProcessWillSuspendImminently];
     [configuration.get().websiteDataStore _sendNetworkProcessDidResume];
 
-    runTestAndCheckResult(@"Expected Abort For Suspension");
-    runTestAndCheckResult(@"Expected Success After Resume");
+    runUntilMessageReceived(@"Expected Abort For Suspension");
+    runUntilMessageReceived(@"Expected Success After Resume");
 }
 
 static NSString *mainFrameString = @"<script> \
@@ -161,12 +161,12 @@
 
     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
     [webView loadHTMLString:mainFrameString baseURL:[NSURL URLWithString:@"http://webkit.org"]];
-    runTestAndCheckResult(@"database is created");
+    runUntilMessageReceived(@"database is created");
 
     [configuration.get().websiteDataStore _sendNetworkProcessWillSuspendImminently];
     [configuration.get().websiteDataStore _sendNetworkProcessDidResume];
 
-    runTestAndCheckResult(@"transaction is completed");
+    runUntilMessageReceived(@"transaction is completed");
 }
 
 #endif // PLATFORM(IOS_FAMILY)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to