Name Description Size
addons.js This file defines the add-on sync functionality. There are currently a number of known limitations: - We only sync XPI extensions and themes available from addons.mozilla.org. We hope to expand support for other add-ons eventually. - We only attempt syncing of add-ons between applications of the same type. This means add-ons will not synchronize between Firefox desktop and Firefox mobile, for example. This is because of significant add-on incompatibility between application types. Add-on records exist for each known {add-on, app-id} pair in the Sync client set. Each record has a randomly chosen GUID. The records then contain basic metadata about the add-on. We currently synchronize: - Installations - Uninstallations - User enabling and disabling Synchronization is influenced by the following preferences: - services.sync.addons.ignoreUserEnabledChanges - services.sync.addons.trustedSourceHostnames and also influenced by whether addons have repository caching enabled and whether they allow installation of addons from insecure options (both of which are themselves influenced by the "extensions." pref branch) See the documentation in all.js for the behavior of these prefs. 25504
bookmarks.js 30018
clients.js How does the clients engine work? - We use 2 files - commands.json and commands-syncing.json. - At sync upload time, we attempt a rename of commands.json to commands-syncing.json, and ignore errors (helps for crash during sync!). - We load commands-syncing.json and stash the contents in _currentlySyncingCommands which lives for the duration of the upload process. - We use _currentlySyncingCommands to build the outgoing records - Immediately after successful upload, we delete commands-syncing.json from disk (and clear _currentlySyncingCommands). We reconcile our local records with what we just wrote in the server, and add failed IDs commands back in commands.json - Any time we need to "save" a command for future syncs, we load commands.json, update it, and write it back out. 38653
extension-storage.js 9235
forms.js 7688
history.js 17652
passwords.js 15622
prefs.js 13473
tabs.js 11356