Bug 1685038 Comment 7 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Did a quick `rr` on this - Seems that when you move the bottom edge of the window around, in [the observer loop](https://searchfox.org/mozilla-central/source/dom/base/ResizeObserverController.cpp#120-138):
# GatherAllActiveObservations called with shallowestTargetDepth = 0 (Line 120)
# Changes broadcasted, target depth updated, last reported size updated (Line 124)
# Flush layout, window size changes again (Line 132, presumably)
# GatherAllActiveObservations called with shallowestTargetDepth now set to the canvas depth - size changed again, but depth of canvas is not deeper than shallowestTargetDepth, the change is skipped (As per the standard)
# Eventually we exit the loop, figure out that there are skipped observations, then send out the error (As per the standard)

Not sure why this only happens 2 iframes deep.
Did a quick `rr` on this - Seems that when you move the bottom edge of the window around, in [the observer loop](https://searchfox.org/mozilla-central/source/dom/base/ResizeObserverController.cpp#120-138):

* GatherAllActiveObservations called with shallowestTargetDepth = 0 (Line 120)
* Changes broadcasted, target depth updated, last reported size updated (Line 124)
* Flush layout, window size changes again (Line 132, presumably)
* GatherAllActiveObservations called with shallowestTargetDepth now set to the canvas depth - size changed again, but depth of canvas is not deeper than shallowestTargetDepth, the change is skipped (As per the standard)
* Eventually we exit the loop, figure out that there are skipped observations, then send out the error (As per the standard)

Not sure why this only happens 2 iframes deep.

Back to Bug 1685038 Comment 7