Use UUID for ServiceWorker Client identifier (2/3, chromium)
commiteb113ebb7a772b5e7af45bedebe070fe23762b07
authorkinuko <kinuko@chromium.org>
Fri, 13 Mar 2015 05:13:09 +0000 (12 22:13 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 13 Mar 2015 05:13:48 +0000 (13 05:13 +0000)
treef3178922c031c120380bd3b548e11555aa727ea6
parenta3eb15b44afaa799f12f0e3e91506b4aa108b7b6
Use UUID for ServiceWorker Client identifier (2/3, chromium)

We used to use ServiceWorkerVersion-local identifier for clients but this patch
changes the ID to global UUID one. Since it changes some security assumption
I also added code to check the origin, so that ServiceWorker can only talk to
the clients that are in the same origin.

Spec issue: https://github.com/slightlyoff/ServiceWorker/issues/634
More context: https://github.com/slightlyoff/ServiceWorker/issues/609

To be landed in 3 patches:
1/3: blink-side patch https://crrev.com/990583002/
2/3: THIS
3/3: blink-side cleanup

BUG=464668

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

Cr-Commit-Position: refs/heads/master@{#320451}
13 files changed:
content/browser/service_worker/service_worker_context_core.cc
content/browser/service_worker/service_worker_context_core.h
content/browser/service_worker/service_worker_provider_host.cc
content/browser/service_worker/service_worker_provider_host.h
content/browser/service_worker/service_worker_version.cc
content/browser/service_worker/service_worker_version.h
content/common/service_worker/service_worker_client_info.cc
content/common/service_worker/service_worker_client_info.h
content/common/service_worker/service_worker_messages.h
content/renderer/service_worker/embedded_worker_context_client.cc
content/renderer/service_worker/embedded_worker_context_client.h
content/renderer/service_worker/service_worker_script_context.cc
content/renderer/service_worker/service_worker_script_context.h