Closed Bug 615285 Opened 10 years ago Closed 10 years ago

Bookmark sync: track ordering on folder

Categories

(Firefox :: Sync, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- beta8+
fennec 2.0b3+ ---

People

(Reporter: philikon, Assigned: philikon)

References

Details

(Whiteboard: [has patch][needs review mconnor])

Attachments

(1 file)

To make the switch to async APIs easier, we want to switch bookmark ordering from being tracked as a linked list to being tracked on the folder that they're contained in. See https://wiki.mozilla.org/Places/AsyncAPIsForSync#Predecessor for details.
Should block beta8
blocking2.0: --- → ?
On the Firefox side of things we're going to track the ordered list of GUIDs in an annotation on the folder. That way the async Places API won't have to give us this by default but we still avoid a lot of I/O on first sync.

I have documented the changes to the bookmark storage format on the wiki: https://wiki.mozilla.org/Labs/Weave/Developer/BrowserObjects
blocking2.0: ? → beta8+
tracking-fennec: --- → ?
Blocks: 615639
tracking-fennec: ? → 2.0b3+
Assignee: nobody → philipp
Attached patch v1Splinter Review
Attachment #495553 - Flags: review?(mconnor)
Whiteboard: [has patch][needs review mconnor]
Comment on attachment 495553 [details] [diff] [review]
v1

>+      // Reorder children according to the GUID list. Gracefully deal
>+      // with missing items, e.g. locally deleted.
>+      let delta = 0;
>+      for (let idx = 0; idx < children.length; idx++) {
>+        let itemid = this.idForGUID(children[idx]);
>+        // 
>+        if (itemid == -1) {

empty comment?

(have to have at least one nit)
Attachment #495553 - Flags: review?(mconnor) → review+
Pushed with nit addressed
https://hg.mozilla.org/services/fx-sync/rev/0bd095142655
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Blocks: 617173
Depends on: 626341
Component: Firefox Sync: Backend → Sync
Product: Cloud Services → Firefox
You need to log in before you can comment on or make changes to this bug.