Check changed flags when merging child lists for local and remote nodes

RESOLVED FIXED in Firefox 65

Status

()

P1
normal
RESOLVED FIXED
5 months ago
4 months ago

People

(Reporter: lina, Assigned: lina)

Tracking

(Blocks: 1 bug)

unspecified
Firefox 65
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox65 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 months ago
https://searchfox.org/mozilla-central/rev/a3894a4dcfb5d42f2e6eee6cb9faf7141879ef1a/toolkit/components/places/SyncedBookmarksMirror.jsm#3771-3791 currently checks local and remote timestamps to decide which folder to merge first. Unfortunately, it doesn't check the changed flag, so we might pick a folder that's chronologically newer, but hasn't actually changed.

This is causing TPS stage-buffer to fail because we're walking local children first, and relocating orphans to the start of the folder instead of the end.

This fix also makes `mergeChildListsIntoMergedNode` consistent with `checkFor{Remote, Local}StructureChangeOf{Local, Remote}Node` and `resolveTwoWayValueConflict`, which also check these flags in addition to timestamps.

The patch is based on bug 1496878 because that simplifies this function quite a bit.

Comment 2

4 months ago
Pushed by kcambridge@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/575c5e68b8f1
Check changed flags when merging child lists for local and remote nodes. r=tcsc

Comment 3

4 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/575c5e68b8f1
Status: ASSIGNED → RESOLVED
Last Resolved: 4 months ago
status-firefox65: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
You need to log in before you can comment on or make changes to this bug.