mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-04-13 03:21:41 +00:00
Bug 1005405 - OverflowChangedTracker::Flush() no longer downgrades parent frames from CHILDREN_AND_PARENT_CHANGED to CHILDREN_CHANGED. r=dbaron
- When OverflowChangedTracker::Flush() coalesces multiple changes simultaneously, it was possible to downgrade parent frames from CHILDREN_AND_PARENT_CHANGED to CHILDREN_CHANGED, resulting in an incomplete update. - This patch ensures that the strongest ChangeKind is retained when cascading up to parent frames.
This commit is contained in:
parent
cd94cc2419
commit
ae2d46fb74
@ -166,7 +166,7 @@ public:
|
|||||||
if (parent && parent != mSubtreeRoot) {
|
if (parent && parent != mSubtreeRoot) {
|
||||||
Entry* parentEntry = mEntryList.find(Entry(parent, entry->mDepth - 1));
|
Entry* parentEntry = mEntryList.find(Entry(parent, entry->mDepth - 1));
|
||||||
if (parentEntry) {
|
if (parentEntry) {
|
||||||
parentEntry->mChangeKind = CHILDREN_CHANGED;
|
parentEntry->mChangeKind = std::max(parentEntry->mChangeKind, CHILDREN_CHANGED);
|
||||||
} else {
|
} else {
|
||||||
mEntryList.insert(new Entry(parent, entry->mDepth - 1, CHILDREN_CHANGED));
|
mEntryList.insert(new Entry(parent, entry->mDepth - 1, CHILDREN_CHANGED));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user