Name Description Size Coverage
addonsreconciler.sys.mjs This file contains middleware to reconcile state of AddonManager for purposes of tracking events for Sync. The content in this file exists because AddonManager does not have a getChangesSinceX() API and adding that functionality properly was deemed too time-consuming at the time add-on sync was originally written. If/when AddonManager adds this API, this file can go away and the add-ons engine can be rewritten to use it. It was decided to have this tracking functionality exist in a separate standalone file so it could be more easily understood, tested, and hopefully ported. 17498 89 %
addonutils.sys.mjs Obtain an AddonInstall object from an AddonSearchResult instance. The returned promise will be an AddonInstall on success or null (failure or addon not found) @param addon AddonSearchResult to obtain install from. 13092 88 %
bridged_engine.sys.mjs This file has all the machinery for hooking up bridged engines implemented in Rust. It's the JavaScript side of the Golden Gate bridge that connects Desktop Sync to a Rust `BridgedEngine`, via the `mozIBridgedSyncEngine` XPCOM interface. Creating a bridged engine only takes a few lines of code, since most of the hard work is done on the Rust side. On the JS side, you'll need to subclass `BridgedEngine` (instead of `SyncEngine`), supply a `mozIBridgedSyncEngine` for your subclass to wrap, and optionally implement and override the tracker. 11353 91 %
collection_validator.sys.mjs Produce a list summarizing problems found. Each entry contains {name, count}, where name is the field name for the problem, and count is the number of times the problem was encountered. Validation has failed if all counts are not 0. 8415 90 %
constants.sys.mjs 5778 100 %
doctor.sys.mjs 7033 82 %
engines 92 %
engines.sys.mjs Trackers are associated with a single engine and deal with listening for changes to their particular data type. The base `Tracker` only supports listening for changes, and bumping the score to indicate how urgently the engine wants to sync. It does not persist any data. Engines that track changes directly in the storage layer (like bookmarks, bridged engines, addresses, and credit cards) or only upload a single record (tabs and preferences) should subclass `Tracker`. 71627 93 %
keys.sys.mjs Represents a pair of keys. Each key stored in a key bundle is 256 bits. One key is used for symmetric encryption. The other is used for HMAC. A KeyBundle by itself is just an anonymous pair of keys. Other types deriving from this one add semantics, such as associated collections or generating a key bundle via HKDF from another key. 4198 92 %
main.sys.mjs 835 100 %
metrics.yaml 53628 -
policies.sys.mjs The nsITimer object that schedules the next sync. See scheduleNextSync(). 35475 88 %
record.sys.mjs The base class for all Sync basic storage objects (BSOs). This is the format used to store all records on the Sync server. In an earlier version of the Sync protocol, BSOs used to be called WBOs, or Weave Basic Objects. This class retains the old name. @class @param {string} collection The collection name for this BSO. @param {string} id The ID of this BSO. 40896 90 %
resource.sys.mjs Resource represents a remote network resource, identified by a URI. Create an instance like so: let resource = new Resource("http://foobar.com/path/to/resource"); The 'resource' object has the following methods to issue HTTP requests of the corresponding HTTP methods: get(callback) put(data, callback) post(data, callback) delete(callback) 8259 99 %
service.sys.mjs 54365 88 %
stages 92 %
status.sys.mjs 3223 99 %
sync_auth.sys.mjs General authentication error for abstracting authentication errors from multiple sources (e.g., from FxAccounts, TokenServer). details is additional details about the error - it might be a string, or some other error object (which should do the right thing when toString() is called on it) 23585 85 %
SyncDisconnect.sys.mjs 9017 66 %
SyncedTabs.sys.mjs Make a "tab" record. Returns a promise 16570 86 %
TabsStore.sys.mjs 1454 100 %
telemetry.sys.mjs 37422 91 %
UIState.sys.mjs @typedef {object} UIState @property {string} status The Sync/FxA status, see STATUS_* constants. @property {string} [email] The FxA email configured to log-in with Sync. @property {string} [displayName] The user's FxA display name. @property {string} [avatarURL] The user's FxA avatar URL. @property {Date} [lastSync] The last sync time. @property {boolean} [syncing] Whether or not we are currently syncing. @property {boolean} [hasSyncKeys] Whether the user has sync keys available. 8646 96 %
util.sys.mjs Custom exception types. 21639 93 %