Allow descriptions to be set on folder records and set description on creation.
--HG--
extra : rebase_source : d380f5d28130bd53532e5b4d293468aa053c19b2
Fit as many tabs as possible in 20000 characters by linearly estimating how many will fit then remove extras one by one.
--HG--
extra : rebase_source : 1ef3700a9cddd7e3cb0f96b9affada15e98ea672
Get rid of get/setInfo on ClientEngine and ClientStore and expose functions to read/modify client data: stats, clearCommands, sendCommand. Also expose the local client information as local[ID,Name,Type,Commands] and rework the storage to use these instead of trying to keep the JS object clients entry in sync with prefs, etc. Update users of the old interface (service/tabs/chrome) to use the new local*. Set the client type based on app id instead of from each app's overlay.
Store data in cleartext instead of directly in the payload to have it encrypted with the CryptoWrapper. This cleans up some hacks needed to get the plain WBO client record to behave nicely with other encrypted data.
Created a fake SessionStore service for Fennec that imitates the parts of Firefox's SessionStore API that we need. Then used the now "consistent" SessionStore service in the Tabs engine.
Inline various _init calls and do super's init with <Super>.call(this, args..). Add various get/set sugar to those missing e.g., meta.keyring. Also simplify crypto record creation by setting cleartext in the parent.
--HG--
extra : rebase_source : 6c9a9f210f8f46ac338adb84188538e7353c9673
Do dupe detection for bookmarks like how we do folders/separators but check against the url/title. Add parentName to bookmark records, so bump version.
Add a tri-state pref that is unset, 0, or a number (modified time in seconds) and don't show the notification if it's in the "0" state. Unset pref means no modified time has been saved, and a non-0 state is the modified time of the last synced tab. So when tabs arrive with a different modified time, switch to the 0 state. Additionally, still remember if the user ever dismissed the notification and never show it again.
Create a mobile root in Firefox and link it to the Library UI as a query that fixes its own title if changed. Mark the mobile root on Firefox/Fennec as special so Weave uses "mobile" for the guid in the record, and items will appear in the appropriate folder.
--HG--
extra : rebase_source : fbd3afa2647204a370f7dacdf9d824e462ebb9b9
Add listeners for Fennec tab events the same way we do it for Firefox and share listener logic for various event types.
--HG--
extra : rebase_source : 685e45c16052db3d285c25c68db47680b7d15f72
For both folders and separators, use the parent name (not guid) in addition to the item's title/position to determine if it's a dupe. This modifies the bookmark format for folders and separators, so a storage version bump is needed.
Set the current client on any tab change for tracker.changedIDs and reset that when sync finishes.
--HG--
extra : rebase_source : 3100141bc1fdfaaa959b5f990a9538527761aace