Name Description Size
Push.jsm The Push component runs in the child process and exposes the Push API to the web application. The PushService running in the parent process is the one actually performing all operations. 8407
Push.manifest 156
PushBroadcastService.jsm jshint moz: true, esnext: true 8866
PushComponents.jsm This file exports XPCOM components for C++ and chrome JavaScript callers to interact with the Push service. 15519
PushCrypto.jsm Localized error property names. 26783
PushDB.jsm @param aRecord The record to be added. 13019
PushManager.cpp 16045
PushManager.h PushManager and PushSubscription are exposed on the main and worker threads. The main thread version is implemented in Push.js. The JS implementation makes it easier to use certain APIs like the permission prompt and Promises. Unfortunately, JS-implemented WebIDL is not supported off the main thread. To work around this, we use a chain of runnables to query the JS-implemented nsIPushService component for subscription information, and return the results to the worker. We don't have to deal with permission prompts, since we just reject calls if the principal does not have permission. On the main thread, PushManager wraps a JS-implemented PushManagerImpl instance. The C++ wrapper is necessary because our bindings code cannot accomodate "JS-implemented on the main thread, C++ on the worker" bindings. PushSubscription is in C++ on both threads since it isn't particularly verbose to implement in C++ compared to JS. 3699
PushNotifier.cpp 16752
PushNotifier.h `PushDispatcher` is a base class used to forward observer notifications and service worker events to the correct process. 6105
PushRecord.jsm The push subscription record, stored in IndexedDB. 9568
PushService.jsm State is change only in couple of functions: init - change state to PUSH_SERVICE_INIT if state was PUSH_SERVICE_UNINIT changeServerURL - change state to PUSH_SERVICE_ACTIVATING if serverURL present or PUSH_SERVICE_INIT if not present. changeStateConnectionEnabledEvent - it is call on pref change or during the service activation and it can change state to PUSH_SERVICE_CONNECTION_DISABLE changeStateOfflineEvent - it is called when offline state changes or during the service activation and it change state to PUSH_SERVICE_ACTIVE_OFFLINE or PUSH_SERVICE_RUNNING. uninit - change state to PUSH_SERVICE_UNINIT. 47363
PushServiceAndroidGCM.jsm The implementation of WebPush push backed by Android's GCM delivery. 8753
PushServiceHttp2.jsm jshint moz: true, esnext: true 23383
PushServiceWebSocket.jsm jshint moz: true, esnext: true 37463
PushSubscription.cpp 10514
PushSubscription.h 2372
PushSubscriptionOptions.cpp 2641
PushSubscriptionOptions.h 1539
PushUtil.cpp static 2125
PushUtil.h 1335
components.conf 842 1432
test 23