"ASSERTION: Why is the root in mDirtyRoots already?" with audio in iframe

NEW
Unassigned

Status

()

defect
9 years ago
8 years ago

People

(Reporter: jruderman, Unassigned)

Tracking

(Blocks 1 bug, {assertion, testcase})

Trunk
x86
macOS
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

223 bytes, text/html
Details
Reporter

Description

9 years ago
Posted file testcase (obsolete) —
###!!! ASSERTION: Why is the root in mDirtyRoots already?: '!mDirtyRoots.Contains(rootFrame)', file /builds/moz2_slave/mozilla-central-macosx-debug/build/layout/base/nsPresShell.cpp, line 2654
All we need is an <audio controls> element in an iframe in a plain html document to trigger this.

In PresShell::InitialReflow for the iframe we run the XBL constructors for the video controls (videocontrols.xml) this causes some frame reconstructs to be posted in the video controls and some flushes and when we do the insert for the reconstruct we get a FrameNeedsReflow for a frame whose reflow root is the rootframe.

I don't know if there is anything we can do to stop XBL constructors from making the root frame dirty.
There isn't.  Perhaps that assertion is just wrong and should be removed....
Reporter

Comment 3

9 years ago
Posted file testcase 2
Attachment #451113 - Attachment is obsolete: true

Comment 4

8 years ago
I can't reproduce this with the attached test case any more, but I'm still seeing this assertion from time to time.

Updated

8 years ago
Depends on: 688044
You need to log in before you can comment on or make changes to this bug.