Commit 51955b4b authored by Hayato Ito's avatar Hayato Ito Committed by Commit Bot

Speculative fix for ServiceWorkerOfflineCapabilityCheck flakiness

ServiceWorkerOfflineCapabilityCheckBrowserTest is flaky.
The failure happens when we assert SW's status is ACTIVATED after we await
navigator.serviceWorker.ready. This is, however, is not always true.
Its status can be ACTIVATING.

See https://crbug.com/1041778#c4 for details.

Bug: 1041778
Change-Id: I62ff0ee1a99d05ef693bbf4585a25b6c8831cedd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2000400Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#731839}
parent ef5a41cd
......@@ -72,7 +72,8 @@ class FetchEventTestHelper {
scoped_refptr<ServiceWorkerVersion> version) {
ASSERT_TRUE(
BrowserThread::CurrentlyOn(ServiceWorkerContext::GetCoreThreadId()));
ASSERT_EQ(ServiceWorkerVersion::ACTIVATED, version->status());
ASSERT_TRUE(version->status() == ServiceWorkerVersion::ACTIVATING ||
version->status() == ServiceWorkerVersion::ACTIVATED);
for (FetchEventDispatch& fetch_event_dispatch : fetch_event_dispatches_) {
FetchOnCoreThread(done_barrier_closure_on_ui, embedded_test_server,
......@@ -644,7 +645,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerOfflineCapabilityCheckBrowserTest,
"/service_worker/create_service_worker.html")));
EXPECT_EQ("DONE", EvalJs(shell(), "register('maybe_offline_support.js')"));
// At this point, a service worker's status is ACTIVATED because
// At this point, a service worker's status is ACTIVATING or ACTIVATED because
// register() awaits navigator.serviceWorker.ready promise.
EXPECT_EQ(OfflineCapability::kUnsupported,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment