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 -
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 -
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 -
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 -
constants.sys.mjs 5778 -
doctor.sys.mjs 7033 -
engines -
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 -
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 -
main.sys.mjs 835 -
metrics.yaml 53628 -
policies.sys.mjs The nsITimer object that schedules the next sync. See scheduleNextSync(). 35475 -
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 -
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 -
service.sys.mjs 54517 -
stages -
status.sys.mjs 3223 -
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 -
SyncDisconnect.sys.mjs 9017 -
SyncedTabs.sys.mjs Make a "tab" record. Returns a promise 15541 -
TabsStore.sys.mjs 1454 -
telemetry.sys.mjs 42859 -
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 -
util.sys.mjs Custom exception types. 21639 -