Name Description Size Coverage
docs -
FetchEventOpChild.cpp 22265 85 %
FetchEventOpChild.h FetchEventOpChild represents an in-flight FetchEvent operation. 3403 100 %
FetchEventOpParent.cpp 3205 83 %
FetchEventOpParent.h 2450 100 %
FetchEventOpProxyChild.cpp 9777 87 %
FetchEventOpProxyChild.h 2785 100 %
FetchEventOpProxyParent.cpp static 7782 84 %
FetchEventOpProxyParent.h FetchEventOpProxyParent owns a FetchEventOpParent in order to propagate the respondWith() value by directly calling SendRespondWith on the FetchEventOpParent, but the call to Send__delete__ is handled via MozPromise. This is done because this actor may only be created after its managing PRemoteWorker is created, which is asynchronous and may fail. We take on responsibility for the promise once we are created, but we may not be created if the RemoteWorker is never successfully launched. 2647 50 %
IPCNavigationPreloadState.ipdlh 488 -
IPCServiceWorkerDescriptor.ipdlh 1036 -
IPCServiceWorkerRegistrationDescriptor.ipdlh 1958 -
metrics.yaml 7127 -
moz.build 3957 -
NavigationPreloadManager.cpp static 4370 42 %
NavigationPreloadManager.h 2048 100 %
PFetchEventOp.ipdl 954 -
PFetchEventOpProxy.ipdl 921 -
PServiceWorker.ipdl 602 -
PServiceWorkerContainer.ipdl 1316 -
PServiceWorkerManager.ipdl 760 -
PServiceWorkerRegistration.ipdl 1286 -
ServiceWorker.cpp } else { RefPtr<ServiceWorker> self = this; GetRegistration( [self = std::move(self)]( const ServiceWorkerRegistrationDescriptor& aDescriptor) { nsIGlobalObject* global = self->GetParentObject(); NS_ENSURE_TRUE_VOID(global); RefPtr<ServiceWorkerRegistration> reg = global->GetOrCreateServiceWorkerRegistration(aDescriptor); self->MaybeAttachToRegistration(reg); }, [](ErrorResult&& aRv) { // do nothing aRv.SuppressException(); }); 10608 87 %
ServiceWorker.h 2596 100 %
ServiceWorkerActors.cpp 1501 100 %
ServiceWorkerActors.h 1209 -
ServiceWorkerChild.cpp 1892 98 %
ServiceWorkerChild.h 1167 100 %
ServiceWorkerContainer.cpp 25888 83 %
ServiceWorkerContainer.h 5012 100 %
ServiceWorkerContainerChild.cpp 2086 95 %
ServiceWorkerContainerChild.h 1389 100 %
ServiceWorkerContainerParent.cpp 3893 87 %
ServiceWorkerContainerParent.h 1802 50 %
ServiceWorkerContainerProxy.cpp 5158 100 %
ServiceWorkerContainerProxy.h 1561 100 %
ServiceWorkerDescriptor.cpp 4709 88 %
ServiceWorkerDescriptor.h 3478 -
ServiceWorkerEvents.cpp static 45591 40 %
ServiceWorkerEvents.h 9723 95 %
ServiceWorkerInfo.cpp 11491 89 %
ServiceWorkerInfo.h Wherever the spec treats a worker instance and a description of said worker as the same thing; i.e. "Resolve foo with _GetNewestWorker(serviceWorkerRegistration)", we represent the description by this class and spawn a ServiceWorker in the right global when required. 5924 96 %
ServiceWorkerInterceptController.cpp allowIfInheritsPrincipal 6667 92 %
ServiceWorkerInterceptController.h 809 -
ServiceWorkerIPCUtils.h 1115 -
ServiceWorkerJob.cpp 7212 94 %
ServiceWorkerJob.h 4432 33 %
ServiceWorkerJobQueue.cpp 3437 95 %
ServiceWorkerJobQueue.h 949 100 %
ServiceWorkerLifetimeExtension.cpp 1115 100 %
ServiceWorkerLifetimeExtension.h Conveys how events dispatched at a Service Worker global should impact its lifetime. 3742 100 %
ServiceWorkerManager.cpp 119222 83 %
ServiceWorkerManager.h f4f8755a-69ca-46e8-a65d-775745535990 19172 100 %
ServiceWorkerManagerChild.h 1126 75 %
ServiceWorkerManagerParent.cpp 3757 96 %
ServiceWorkerManagerParent.h 1468 50 %
ServiceWorkerOp.cpp ExtendableEvent::ExtensionsHandler interface 70028 87 %
ServiceWorkerOp.h This must be called once and only once before the first call to `MaybeStart()`; `aActor` will be used for `AsyncLog()` and `ReportCanceled().` 6852 40 %
ServiceWorkerOpArgs.ipdlh ServiceWorkerOpArgs 5676 -
ServiceWorkerOpPromise.h 1675 -
ServiceWorkerParent.cpp 1562 96 %
ServiceWorkerParent.h 1220 50 %
ServiceWorkerPrivate.cpp KeepAliveToken 71072 85 %
ServiceWorkerPrivate.h 15115 60 %
ServiceWorkerProxy.cpp 3698 97 %
ServiceWorkerProxy.h 1630 100 %
ServiceWorkerQuotaUtils.cpp QuotaUsageChecker implements the quota usage checking algorithm. 1. Getting the given origin/group usage through QuotaManagerService. QuotaUsageCheck::Start() implements this step. 2. Checking if the group usage headroom is satisfied. It could be following three situations. a. Group headroom is satisfied without any usage mitigation. b. Group headroom is satisfied after origin usage mitigation. This invokes nsIClearDataService::DeleteDataFromPrincipal(). c. Group headroom is satisfied after group usage mitigation. This invokes nsIClearDataService::DeleteDataFromSite(). QuotaUsageChecker::CheckQuotaHeadroom() implements this step. If the algorithm is done or error out, the QuotaUsageCheck::mCallback will be called with a bool result for external handling. 9446 89 %
ServiceWorkerQuotaUtils.h 765 -
ServiceWorkerRegisterJob.cpp 2318 88 %
ServiceWorkerRegisterJob.h 1321 100 %
ServiceWorkerRegistrar.cpp static 55515 72 %
ServiceWorkerRegistrar.h 4943 100 %
ServiceWorkerRegistrarTypes.ipdlh 1106 -
ServiceWorkerRegistration.cpp static 28470 80 %
ServiceWorkerRegistration.h 5407 100 %
ServiceWorkerRegistrationChild.cpp 2538 96 %
ServiceWorkerRegistrationChild.h 1606 100 %
ServiceWorkerRegistrationDescriptor.cpp 8870 91 %
ServiceWorkerRegistrationDescriptor.h 3559 -
ServiceWorkerRegistrationInfo.cpp 29244 89 %
ServiceWorkerRegistrationInfo.h 9220 97 %
ServiceWorkerRegistrationListener.h mozilla_dom_ServiceWorkerRegistrationListener_h 1168 -
ServiceWorkerRegistrationParent.cpp 4713 65 %
ServiceWorkerRegistrationParent.h 2125 50 %
ServiceWorkerRegistrationProxy.cpp 16640 75 %
ServiceWorkerRegistrationProxy.h 3064 100 %
ServiceWorkerScriptCache.cpp force trusted origin 45559 83 %
ServiceWorkerScriptCache.h If there is an error, ignore aInCacheAndEqual and aNewCacheName. On success, if the cached result and network result matched, aInCacheAndEqual will be true and no new cache name is passed, otherwise use the new cache name to load the ServiceWorker. 1824 -
ServiceWorkerShutdownBlocker.cpp static 8340 79 %
ServiceWorkerShutdownBlocker.h Main thread only. A ServiceWorkerShutdownBlocker will "accept promises", and each of these promises will be a "pending promise" while it hasn't settled. At some point, `StopAcceptingPromises()` should be called and the state will change to "not accepting promises" (this is a one way state transition). The shutdown phase of the shutdown client the blocker is created with will be blocked until there are no more pending promises. It doesn't matter whether the state changes to "not accepting promises" before or during the associated shutdown phase. In beta/release builds there will be an additional timer that starts ticking once both the shutdown phase has been reached and the state is "not accepting promises". If when the timer expire there are still pending promises, shutdown will be forcefully unblocked. 5325 100 %
ServiceWorkerShutdownState.cpp 5496 97 %
ServiceWorkerShutdownState.h 1757 -
ServiceWorkerUnregisterCallback.cpp 1080 57 %
ServiceWorkerUnregisterCallback.h 1142 100 %
ServiceWorkerUnregisterJob.cpp 6332 94 %
ServiceWorkerUnregisterJob.h IsExclusive = 1275 100 %
ServiceWorkerUpdateJob.cpp The spec mandates slightly different behaviors for computing the scope prefix string in case a Service-Worker-Allowed header is specified versus when it's not available. With the header: "Set maxScopeString to "/" concatenated with the strings in maxScope's path (including empty strings), separated from each other by "/"." Without the header: "Set maxScopeString to "/" concatenated with the strings, except the last string that denotes the script's file name, in registration's registering script url's path (including empty strings), separated from each other by "/"." In simpler terms, if the header is not present, we should only use the "directory" part of the pathname, and otherwise the entire pathname should be used. ScopeStringPrefixMode allows the caller to specify the desired behavior. 19019 88 %
ServiceWorkerUpdateJob.h 4362 100 %
ServiceWorkerUtils.cpp 15253 89 %
ServiceWorkerUtils.h 4530 -
test 90 %