This happens at /service-workers/service-worker/update.https.html on WPT tests. Error is here: assert_throws: A script syntax error should make update() promise reject with a TypeError. function "function () { throw e; }" threw object "AbortError: Failed to update a ServiceWorker: ServiceWorker script evaluation failed" ("AbortError") expected object "[object Object]" ("TypeError") at http://localhost:8000/service-workers/service-worker/update.https.html:83:11 This is a bug according to 7.5.1 on Update Algorithm: https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#update-algorithm.
Proposed fixes: https://crrev.com/2054203002 & https://crrev.com/2059953003
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0 commit fc99c082b8d4f4ef333aab1abf0f953e2b304ad0 Author: eero.hakkinen <eero.hakkinen@intel.com> Date: Thu Jul 07 12:44:44 2016 service worker: Fix the type of an update promise reject value This CL changes the type of the update promise reject value to be TypeError (instead of AbortError or NetworkError) if the update promise is rejected because an uncaught runtime script error occured during Run Service Worker algorithm. BUG= 617881 Review-Url: https://codereview.chromium.org/2054203002 Cr-Commit-Position: refs/heads/master@{#404140} [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/content/browser/service_worker/service_worker_registration_status.cc [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/update-worker.php [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/LayoutTests/http/tests/serviceworker/update.html [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/Source/bindings/core/v8/CallbackPromiseAdapter.h [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerError.cpp [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerError.h [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerRegistration.cpp [modify] https://crrev.com/fc99c082b8d4f4ef333aab1abf0f953e2b304ad0/third_party/WebKit/public/platform/modules/serviceworker/WebServiceWorkerError.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f261ebcb6c9cc48e98f736a0253fa9aa336a898 commit 0f261ebcb6c9cc48e98f736a0253fa9aa336a898 Author: eero.hakkinen <eero.hakkinen@intel.com> Date: Fri Jul 08 14:52:35 2016 service worker: Fix the type of a register promise reject value This CL changes the type of the register promise reject value to be TypeError (instead of AbortError or NetworkError) if the register promise is rejected because an uncaught runtime script error occured during Run Service Worker algorithm. BUG= 617881 Review-Url: https://codereview.chromium.org/2059953003 Cr-Commit-Position: refs/heads/master@{#404388} [modify] https://crrev.com/0f261ebcb6c9cc48e98f736a0253fa9aa336a898/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-iframe.html [modify] https://crrev.com/0f261ebcb6c9cc48e98f736a0253fa9aa336a898/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/registration-tests.js [modify] https://crrev.com/0f261ebcb6c9cc48e98f736a0253fa9aa336a898/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainer.cpp
Comment 1 by shimazu@chromium.org
, Jun 7 2016