Commit 8bba431f authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Commit Bot

ServiceWorker: Expose ServiceWorker interface to ServiceWorker

The ServiceWorker spec requires to expose it to ServiceWorker, but Blink
has exposed it only to Window:
https://w3c.github.io/ServiceWorker/#serviceworker-interface

Instances of the ServiceWorker interface have been available on
ServiceWorkerGlobalScope for a long time via |self.registration|, so this isn't
exposing anything new (see https://crbug.com/437677).

Ideally, this should also be exposed to DedicatedWorker and SharedWorker, but
this CL doesn't do it. This is because Blink hasn't supported ServiceWorker APIs
on the workers yet, and exposing the interface to the workers may churn feature
detections etc (see https://crbug.com/371690).

Bug: 999023
Change-Id: I5b36706d4d09dd830af00097bc9c724e3adf56b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1775942
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#692391}
parent 78c473c9
......@@ -40,7 +40,11 @@ enum ServiceWorkerState {
[
ActiveScriptWrappable,
SecureContext
SecureContext,
// TODO(https://crbug.com/999023): Expose this to Worker (not only to
// ServiceWorker) after Service Worker APIs are supported on dedicated
// workers and shared workers.
Exposed=(Window,ServiceWorker)
] interface ServiceWorker : EventTarget {
[CallWith=ScriptState, RaisesException] void postMessage(any message, sequence<object> transfer);
......
......@@ -1247,6 +1247,16 @@ interface SecurityPolicyViolationEvent : Event
getter statusCode
getter violatedDirective
method constructor
interface ServiceWorker : EventTarget
attribute @@toStringTag
getter onerror
getter onstatechange
getter scriptURL
getter state
method constructor
method postMessage
setter onerror
setter onstatechange
interface ServiceWorkerGlobalScope : WorkerGlobalScope
attribute @@toStringTag
method constructor
......
......@@ -1089,6 +1089,16 @@ interface SecurityPolicyViolationEvent : Event
getter statusCode
getter violatedDirective
method constructor
interface ServiceWorker : EventTarget
attribute @@toStringTag
getter onerror
getter onstatechange
getter scriptURL
getter state
method constructor
method postMessage
setter onerror
setter onstatechange
interface ServiceWorkerGlobalScope : WorkerGlobalScope
attribute @@toStringTag
method constructor
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment