diff options
author | falken <falken@chromium.org> | 2015-05-24 21:35:39 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-25 04:36:10 +0000 |
commit | e345e3c8be999296fc968adf09ca02f838ee430f (patch) | |
tree | 9f569cecfd9076723670b446d4e69f85a82ef3d6 /gin/run_microtasks_observer.cc | |
parent | a6edaaff54e9b948c64a896edff992c04e63205d (diff) | |
download | chromium_src-e345e3c8be999296fc968adf09ca02f838ee430f.zip chromium_src-e345e3c8be999296fc968adf09ca02f838ee430f.tar.gz chromium_src-e345e3c8be999296fc968adf09ca02f838ee430f.tar.bz2 |
Service Worker: Remove the concept of "fail to activate".
As per spec: https://github.com/slightlyoff/ServiceWorker/issues/659
This patch makes SWs activate even if the activate event handler
"failed", i.e., it an uncaught exception occurred or the waitUntil
promise was rejected.
There are some things that could go wrong when trying to activate
a worker: the IPC send may fail, the worker may fail to startup
(e.g., due to script cache failure), we may time out the activate
event. Rather than handling of all these cases, we just
say once the browser process attempts to dispatch an activate event,
the worker is committed to being activated. I think it's not worth
the complexity of retrying the event dispatch or forcefully evicting
the worker. Plus, once you've installed a worker that fails to
startup, if we want to recover from that, we must due so at a deeper
level, not just during activation.
This could potentially cause a worker that never received the activate
event to be activated, but that should happen rarely.
Three-sided patch:
[1] Disable layout tests. https://codereview.chromium.org/1139163003/
[2] Chromium change. (this patch)
[3] Fix layout tests. https://codereview.chromium.org/1133493004
BUG=480050
Review URL: https://codereview.chromium.org/1126283005
Cr-Commit-Position: refs/heads/master@{#331257}
Diffstat (limited to 'gin/run_microtasks_observer.cc')
0 files changed, 0 insertions, 0 deletions