Closed Bug 569018 Opened 14 years ago Closed 14 years ago

"ASSERTION: shouldn't get here with a content node that has needs frame bit set" with image map

Categories

(Core :: Layout, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Assigned: tnikkel)

References

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase
###!!! ASSERTION: shouldn't get here with a content node that has needs frame bit set: '!aContent->HasFlag(NODE_NEEDS_FRAME)', file /Users/jruderman/mozilla-central/layout/base/nsCSSFrameConstructor.cpp, line 6333
We start with this DOM when everything is flushed:

<body>
<map name="Map"><area></map>
<span id="x"></span>
</body>

We then move the map to be a child of the span (so it gets the needs frame bit), add a child to the area (so the map gets descendants needs frame bit), and add a td as a child of the body. When we add the child to the area the area still has its primary frame because the image map doesn't get updated if you remove the whole map from the document (bug 135040 comment 10). When we actually create the frames we process the td insert first, which causes an async reconstruct on the body. We try inserting the map but it has no parent frame so it bails like it is supposed to. But then we descend on the map because of the new child on the area and the map still has its needs frame bit.

We get into this nonsense because we allow the use of an areas primary frame as a valid parent frame, when it is not a valid parent frame. It doesn't cause trouble because the areas primary frame is always a leaf frame (the image), so nothing actually succeeds using the areas primary frame as a parent frame. Disallowing this would mean that we could simplify some of the previous asserts we added.
Attached patch patchSplinter Review
Assignee: nobody → tnikkel
Attachment #448218 - Flags: review?(bzbarsky)
Comment on attachment 448218 [details] [diff] [review]
patch

r=bzbarsky
Attachment #448218 - Flags: review?(bzbarsky) → review+
http://hg.mozilla.org/mozilla-central/rev/315f3b95dba4
Status: NEW → RESOLVED
Closed: 14 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: