summaryrefslogtreecommitdiffstats
path: root/storage/browser
diff options
context:
space:
mode:
authorhoro <horo@chromium.org>2014-09-11 20:51:19 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-12 03:59:04 +0000
commitfa444bb81a6489cf52730d3aaa0bcd34367d2685 (patch)
treefde4501a3f83b9231f54dfb2daa8337aef1f22fd /storage/browser
parentaecd62ad58ca10c1589507b7da46031a4eb72f40 (diff)
downloadchromium_src-fa444bb81a6489cf52730d3aaa0bcd34367d2685.zip
chromium_src-fa444bb81a6489cf52730d3aaa0bcd34367d2685.tar.gz
chromium_src-fa444bb81a6489cf52730d3aaa0bcd34367d2685.tar.bz2
[ServiceWorker] Check is_uninstalled in ServiceWorkerRegisterJob::ContinueWithRegistration()
In the following situations the registration may be already uninstalled. So existing_registration->GetNewestVersion() could return NULL and crash in ContinueWithRegistration(). - register the ServiceWorker - open the page in the ServiceWorker scope - unregister the ServiceWorker - register the ServiceWorker to the same scope and close the page quickly. ServiceWorkerRegisterJob::Start() is called to register the ServiceWorker. next_step is set to ContinueWithRegistration. GetUninstallingRegistration() returns the uninstalling registration. RunSoon() calls PostTask(next_step) ServiceWorkerRegistration::Clear() is called because there is no controllee. ContinueWithRegistration() is executed. But at this moment the registration is already uninstalled. And crashed while calling existing_registration->GetNewestVersion()->script_url(). https://codereview.chromium.org/506043002/ is reverted because of this crash. So I created the revert of revert cl. https://codereview.chromium.org/547743003 BUG=398355,408048 TEST=http/tests/serviceworker/unregister-then-register-new-script.html http/tests/serviceworker/register-same-scope-different-script-url.html in https://codereview.chromium.org/547743003 Review URL: https://codereview.chromium.org/556003006 Cr-Commit-Position: refs/heads/master@{#294540}
Diffstat (limited to 'storage/browser')
0 files changed, 0 insertions, 0 deletions