Closed Bug 919371 Opened 11 years ago Closed 11 years ago

"ASSERTION: expected kid to be a NS_FRAME_IS_NONDISPLAY frame"

Categories

(Core :: SVG, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla27

People

(Reporter: jruderman, Assigned: longsonr)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files, 1 obsolete file)

Attached file testcase
###!!! ASSERTION: expected kid to be a NS_FRAME_IS_NONDISPLAY frame: 'kid->GetStateBits() & NS_FRAME_IS_NONDISPLAY', file layout/svg/nsSVGContainerFrame.cpp, line 346
Attached file stack
Attached patch patch (obsolete) — Splinter Review
Assignee: nobody → longsonr
Attachment #808643 - Flags: review?(cam)
Comment on attachment 808643 [details] [diff] [review]
patch

Review of attachment 808643 [details] [diff] [review]:
-----------------------------------------------------------------

I think this is because of the <marker> frame changes I made the other day.  The frame tree looks like this:

    Canvas(html)(-1)@0x12180ba80 {0,0,77940,37860} [state=0000002000000603] [content=0x1218b9870] [sc=0x124236d30:-moz-scrolled-canvas]<
      Block(html)(-1)@0x1242381d8 {0,0,0,0} [state=0000100000d00601] [content=0x1218b9870] [sc=0x124238128]<
        line 0x124238a10: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:nobr[0x0] {0,0,0,0} <
          SVGOuterSVG(svg)(1)@0x124238818 {0,0,0,0} [state=0000060000110403] [content=0x115e88cc0] [sc=0x124238570]<
            SVGOuterSVGAnonChild(svg)(1)@0x124238998 {0,0,0,0} [state=0000180000010402] [content=0x115e88cc0] [sc=0x1242388f8:-moz-svg-outer-svg-anon-child]<
              Placeholder(marker)(1)@0x124239150 {0,0,0,0} [state=0000000000200402] [content=0x1218bc410] [sc=0x1242390b0:-moz-non-element] outOfFlowFrame=SVGMarker(marker)(1)@0x124238d38
            >
          >
        >
      >
    >
    AbsoluteList 0x1206d7340 <
      SVGMarker(marker)(1)@0x124238d38 {0,0,0,0} [state=00200e0000000502] [content=0x1218bc410] [sc=0x124238340]<
        SVGMarkerAnonChild(marker)(1)@0x124239038 {0,0,0,0} [state=0020180000010402] [content=0x1218bc410] [sc=0x124238c98:-moz-svg-marker-anon-child]<>
      >
    >

The position:absolute on the <marker> shouldn't be having an effect like this.  If you change it to a <g> then it doesn't.  Can you look into that?  It might be that calling GetGeometricParent in nsCSSFrameConstructor::ConstructFrameWithAnonymousChild for markers is inappropriate.
Attachment #808643 - Flags: review?(cam)
Attachment #808643 - Attachment is obsolete: true
Attachment #816262 - Flags: review?(cam)
Comment on attachment 816262 [details] [diff] [review]
address review comment

> diff --git a/layout/svg/nsSVGUseFrame.cpp b/layout/svg/nsSVGUseFrame.h
> copy from layout/svg/nsSVGUseFrame.cpp
> copy to layout/svg/nsSVGUseFrame.h

r=me but is the above meant to be in the patch?
Attachment #816262 - Flags: review?(cam) → review+
The nsSVGUseFrame is part of another patch. I won't be landing that.

https://hg.mozilla.org/integration/mozilla-inbound/rev/e628236f3424
Flags: in-testsuite+
https://hg.mozilla.org/mozilla-central/rev/e628236f3424
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: