Use v8::Contexts rather than GURLs as keys to extension service workers.
commit04755302cb97dabfade2ce8cddb5a4cb443faa12
authorkalman <kalman@chromium.org>
Mon, 14 Sep 2015 18:52:11 +0000 (14 11:52 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 14 Sep 2015 18:53:13 +0000 (14 18:53 +0000)
tree4acc7c879447fb85050d4dfe7f03c5e741736ed9
parent5b385890ef802aa9be4f778717e82183293c75fe
Use v8::Contexts rather than GURLs as keys to extension service workers.

The current code uses GURLs mostly for legacy reasons - v8::Contexts weren't
exposed from the Blink layer, only GURLs. However GURLs aren't enough to
uniquely identify service workers, because there may be multiple registered at
once.

Fixing this lead to some other correctness fixes and cleanup.

BUG=501569
R=rdevlin.cronin@chromium.org, jochen@chromium.org

Review URL: https://codereview.chromium.org/1337453003

Cr-Commit-Position: refs/heads/master@{#348671}
19 files changed:
chrome/browser/extensions/service_worker_apitest.cc
chrome/renderer/chrome_content_renderer_client.cc
chrome/renderer/chrome_content_renderer_client.h
chrome/test/data/extensions/api_test/service_worker/background_client/page.js
chrome/test/data/extensions/api_test/service_worker/bindings/page.js
chrome/test/data/extensions/api_test/service_worker/fetch/page.js
chrome/test/data/extensions/api_test/service_worker/post_messaging/page.js
chrome/test/data/extensions/api_test/service_worker/register/page.js
content/public/renderer/content_renderer_client.h
content/renderer/service_worker/service_worker_context_client.cc
extensions/extensions.gypi
extensions/renderer/dispatcher.cc
extensions/renderer/dispatcher.h
extensions/renderer/event_bindings.cc
extensions/renderer/runtime_custom_bindings.cc
extensions/renderer/script_context.cc
extensions/renderer/script_context.h
extensions/renderer/worker_script_context_set.cc [new file with mode: 0644]
extensions/renderer/worker_script_context_set.h [new file with mode: 0644]