/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ include protocol PBackground; include protocol PFetchEventOp; include RemoteWorkerTypes; include ServiceWorkerOpArgs; namespace mozilla { namespace dom { /** * Proxy protocol used by ServiceWorkerManager whose canonical state exists on * the main thread to control/receive feedback from RemoteWorkers which are * canonically controlled from the PBackground thread. Exclusively for use from * the parent process main thread to the parent process PBackground thread. */ [ManualDealloc] protocol PRemoteWorkerController { manager PBackground; manages PFetchEventOp; child: async CreationFailed(); async CreationSucceeded(); async ErrorReceived(ErrorValue aError); async Terminated(); async SetServiceWorkerSkipWaitingFlag() returns (bool aOk); parent: async PFetchEventOp(ParentToParentServiceWorkerFetchEventOpArgs aArgs); async __delete__(); async Shutdown() returns (bool aOk); async ExecServiceWorkerOp(ServiceWorkerOpArgs aArgs) returns (ServiceWorkerOpResult aResult); }; } // namespace dom } // namespace mozilla