/* 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 PFetchEventOpProxy; include protocol PRemoteWorkerService; include ServiceWorkerOpArgs; include SharedWorkerOpArgs; include RemoteWorkerTypes; namespace mozilla { namespace dom { // This protocol is used to make a remote worker controllable from the parent // process. The parent process will receive operations from the // PRemoteWorkerController protocol. protocol PRemoteWorker { manager PRemoteWorkerService; manages PFetchEventOpProxy; parent: async Created(bool aStatus); async Error(ErrorValue aValue); async NotifyLock(bool aCreated); async NotifyWebTransport(bool aCreated); async Close(); async SetServiceWorkerSkipWaitingFlag() returns (bool aOk); child: async PFetchEventOpProxy(ParentToChildServiceWorkerFetchEventOpArgs aArgs); async __delete__(); async ExecOp(SharedWorkerOpArgs aArgs); async ExecServiceWorkerOp(ServiceWorkerOpArgs aArgs) returns (ServiceWorkerOpResult aResult); }; } // namespace dom } // namespace mozilla