ServiceWorker: Implement updatefound event and version attributes (Chromium)
commit61752d1c1703c30a55c14675e6e22025fe79e1bb
authornhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Wed, 13 Aug 2014 23:49:37 +0000 (13 23:49 +0000)
committernhiroki@chromium.org <nhiroki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Wed, 13 Aug 2014 23:50:40 +0000 (13 23:50 +0000)
tree214612f9d1b4b0cdb000849291ea90218f9b76e5
parentcf1a3fbd80f0f92c4001d1d87cb18802abd85481
ServiceWorker: Implement updatefound event and version attributes (Chromium)

Changes in the renderer side:
* Implementing WebServiceWorkerRegistrationImpl in order to handle 'updatefound'
event and version attributes.
* Adding ServiceWorkerRegistrationHandleReference which is responsible for
incrementing/decrementing the refcount of ServiceWorkerRegistration in the
browser-side (in the same way as ServiceWorkerHandleRefernce).

Changes in the browser side:
* Adding ServiceWorkerRegistrationHandle which manages the refcount of
ServiceWorkerRegistration and listens to its version change events.
This is managed by ServiceWorkerDispatcherHost.

Changes in the wiring part:
* Adding new IPC messages for refcount operations.
* Changing Registered and SetVersionAttributes messages to carry the
registration handle id.

BUG=384119, 396400
TEST=content_unittests --gtest_filter=ServiceWorker*
TEST=run_webkit_tests.py --debug http/tests/serviceworker
TEST=https://codereview.chromium.org/466723002/ (layout tests for ServiceWorkerRegistration)
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#289415}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289415 0039d316-1c4b-4281-b951-d872f2087c98
19 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_dispatcher_host.cc
content/browser/service_worker/service_worker_dispatcher_host.h
content/browser/service_worker/service_worker_provider_host.cc
content/browser/service_worker/service_worker_registration_handle.cc [new file with mode: 0644]
content/browser/service_worker/service_worker_registration_handle.h [new file with mode: 0644]
content/child/service_worker/service_worker_dispatcher.cc
content/child/service_worker/service_worker_dispatcher.h
content/child/service_worker/service_worker_message_filter.cc
content/child/service_worker/service_worker_message_filter.h
content/child/service_worker/service_worker_registration_handle_reference.cc [new file with mode: 0644]
content/child/service_worker/service_worker_registration_handle_reference.h [new file with mode: 0644]
content/child/service_worker/web_service_worker_registration_impl.cc
content/child/service_worker/web_service_worker_registration_impl.h
content/common/service_worker/service_worker_messages.h
content/common/service_worker/service_worker_types.h
content/content_browser.gypi
content/content_child.gypi