Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(816)

Issue 2605593002: (M56) service worker: Attempt to send WorkerStopped before ProviderDestroyed. (Closed)

Created:
3 years, 12 months ago by falken
Modified:
3 years, 12 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2924
Project:
chromium
Visibility:
Public.

Description

(M56) service worker: Attempt to send WorkerStopped before ProviderDestroyed. Previously in IPC when a worker stops, the renderer sends the browser a WorkerStopped message followed by a ProviderDestroyed message. This ordering got reversed in https://crrev.com/6ea839368fd4dbf, causing an unexpected case where a ServiceWorkerProviderHost is destroyed, releasing a ServiceWorkerVersion before OnStopped can be invoked on it. This patch returns to the previous ordering. However even with this patch, for Mojo the ordering is still not guaranteed, since the pipes are different. Since the IPC land is no longer the default, the real fix is to figure out how to do this in Mojo. This patch is just a mitigation, so no tests are added yet. BUG=629701, 676526 Review-Url: https://codereview.chromium.org/2596153002 Cr-Commit-Position: refs/heads/master@{#440356} (cherry picked from commit af96c9a9e8d491929f32f2e693fd61fd1b93557d) Committed: https://chromium.googlesource.com/chromium/src/+/a0e0b3cc4d1a3318da54a62f84274919583fd3cb

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10 lines, -4 lines) Patch
M content/renderer/service_worker/embedded_worker_dispatcher.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/service_worker/embedded_worker_instance_client_impl.cc View 1 chunk +9 lines, -3 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
falken
3 years, 12 months ago (2016-12-26 04:11:01 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
a0e0b3cc4d1a3318da54a62f84274919583fd3cb.

Powered by Google App Engine
This is Rietveld 408576698