1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5include protocol PBackground;
6
7include ClientIPCTypes;
8include IPCServiceWorkerRegistrationDescriptor;
9
10include "mozilla/dom/ServiceWorkerIPCUtils.h";
11
12namespace mozilla {
13namespace dom {
14
15refcounted protocol PServiceWorkerContainer
16{
17  manager PBackground;
18
19parent:
20  async Teardown();
21
22  async Register(IPCClientInfo aClientInfo, nsCString aScopeURL, nsCString aScriptURL,
23                 ServiceWorkerUpdateViaCache aUpdateViaCache)
24        returns (IPCServiceWorkerRegistrationDescriptorOrCopyableErrorResult aResult);
25
26  async GetRegistration(IPCClientInfo aClientInfo, nsCString aURL)
27        returns (IPCServiceWorkerRegistrationDescriptorOrCopyableErrorResult aResult);
28
29  async GetRegistrations(IPCClientInfo aClientInfo)
30        returns (IPCServiceWorkerRegistrationDescriptorListOrCopyableErrorResult aResult);
31
32  async GetReady(IPCClientInfo aClientInfo)
33        returns (IPCServiceWorkerRegistrationDescriptorOrCopyableErrorResult aResult);
34
35child:
36  async __delete__();
37};
38
39} // namespace dom
40} // namespace mozilla
41