gecko-dev/dom/serviceworkers/PServiceWorkerRegistration.ipdl
Andrew Sutherland 88723f7fe4 Bug 1544232 - Track the client listening to a registration. r=dom-worker-reviewers,smaug
This will enable propagating lifetime deadlines based on the deadline
of the client calling ServiceWorkerRegistration.update in the
subsequent patch.

Note that the data-flow of the Client here differs from
ServiceWorkerContainer::Register propagating the ClientInfo to
ServiceWorkerManager::Register.  In that case, the binding samples the
client at call-time and propagates it over the register IPC call rather
than during the construction of the PServiceWorkerContainer actor.
This change in approach is to align with Bug 1853706 wherein we plan to
associate the actors strictly to the global.

Differential Revision: https://phabricator.services.mozilla.com/D196702
2024-10-24 03:02:41 +00:00

42 lines
1.2 KiB
Plaintext

/* 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 ClientIPCTypes;
include IPCNavigationPreloadState;
include IPCServiceWorkerRegistrationDescriptor;
include "ipc/ErrorIPCUtils.h";
namespace mozilla {
namespace dom {
[ChildImpl=virtual, ParentImpl=virtual]
protocol PServiceWorkerRegistration
{
manager PBackground;
parent:
async Teardown();
async Unregister() returns (bool aSuccess, CopyableErrorResult aRv);
async Update(nsCString aNewestWorkerScriptUrl) returns (
IPCServiceWorkerRegistrationDescriptorOrCopyableErrorResult aResult);
// For NavigationPreload interface
async SetNavigationPreloadEnabled(bool aEnabled) returns (bool aSuccess);
async SetNavigationPreloadHeader(nsCString aHeader) returns (bool aSuccess);
async GetNavigationPreloadState() returns (IPCNavigationPreloadState? aState);
child:
async __delete__();
async UpdateState(IPCServiceWorkerRegistrationDescriptor aDescriptor);
async FireUpdateFound();
};
} // namespace dom
} // namespace mozilla