Closed Bug 1319633 Opened 8 years ago Closed 8 years ago

stylo: native anonymous content should not have document styles applied to it

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1293809

People

(Reporter: heycam, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached file test (obsolete) —
#0 0x00007f77ba4f0552 in mozilla::MaskImageData::MaskImageData ( this=0x7ffde33b5918, aSize=..., aLayerManager=0x7f77c97ae850) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:1623 #1 0x00007f77ba4dc8ac in mozilla::ContainerState::CreateMaskLayer ( this=0x7ffde33b67d8, aLayer=0x7f7781045800, aClip=..., aForAncestorMaskLayer=..., aRoundedRectClipCount=4294967295) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:6279 #2 0x00007f77ba4dfe7e in mozilla::ContainerState::SetupMaskLayer ( this=0x7ffde33b67d8, aLayer=0x7f7781045800, aClip=..., aRoundedRectClipCount=4294967295) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:6186 #3 0x00007f77ba4d928a in mozilla::ContainerState::FinishPaintedLayerData<mozilla::PaintedLayerDataNode::PopPaintedLayerData()::$_5>(mozilla::PaintedLayerData&, mozilla::PaintedLayerDataNode::PopPaintedLayerData()::$_5) ( this=0x7ffde33b67d8, aData=..., aFindOpaqueBackgroundColor=...) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:3307 #4 0x00007f77ba4d8215 in mozilla::PaintedLayerDataNode::PopPaintedLayerData ( this=0x7f7780fafce0) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2855 #5 0x00007f77ba4d7fec in mozilla::PaintedLayerDataNode::PopAllPaintedLayerData (this=0x7f7780fafce0) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2865 #6 0x00007f77ba4d7eac in mozilla::PaintedLayerDataNode::Finish ( this=0x7f7780fafce0, aParentNeedsAccurateVisibleAboveRegion=false) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2819 #7 0x00007f77ba4d7f8b in mozilla::PaintedLayerDataNode::FinishAllChildren ( this=0x7f7780fafc80, aThisNodeNeedsAccurateVisibleAboveRegion=false) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2808 #8 0x00007f77ba4d7ea3 in mozilla::PaintedLayerDataNode::Finish ( this=0x7f7780fafc80, aParentNeedsAccurateVisibleAboveRegion=false) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2817 #9 0x00007f77ba4d9b8a in mozilla::PaintedLayerDataTree::Finish ( this=0x7ffde33b6898) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:2879 #10 0x00007f77ba4e22a9 in mozilla::ContainerState::Finish ( this=0x7ffde33b67d8, aTextContentFlags=0x7ffde33b69c0, aContainerPixelBounds=..., aChildItems=0x7f77a03f9ea8, aHasComponentAlphaChildren=0x7ffde33b67d7) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:5092 #11 0x00007f77ba4e318f in mozilla::FrameLayerBuilder::BuildContainerLayerFor ( this=0x7f7780f12d30, aBuilder=0x7ffde33b8978, aManager=0x7f77c97ae850, aContainerFrame=0x7f7780f14150, aContainerItem=0x7f77a03f9e50, aChildren=0x7f77a03f9ea8, aParameters=..., aTransform=0x0, aFlags=1) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:5504 #12 0x00007f77ba5a37c5 in nsDisplayOwnLayer::BuildLayer (this=0x7f77a03f9e50, aBuilder=0x7ffde33b8978, aManager=0x7f77c97ae850, aContainerParameters=...) at /z/stylo/incubator/layout/base/nsDisplayList.cpp:4951 #13 0x00007f77ba5a3be8 in nsDisplaySubDocument::BuildLayer ( this=0x7f77a03f9e50, aBuilder=0x7ffde33b8978, aManager=0x7f77c97ae850, aContainerParameters=...) at /z/stylo/incubator/layout/base/nsDisplayList.cpp:5002 #14 0x00007f77ba4de957 in mozilla::ContainerState::ProcessDisplayItems ( this=0x7ffde33b76d8, aList=0x7ffde33b88d8) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:4262 #15 0x00007f77ba4e304f in mozilla::FrameLayerBuilder::BuildContainerLayerFor ( this=0x7f7780f12d30, aBuilder=0x7ffde33b8978, aManager=0x7f77c97ae850, aContainerFrame=0x7f778f216090, aContainerItem=0x0, aChildren=0x7ffde33b88d8, aParameters=..., aTransform=0x0, aFlags=0) at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:5490 #16 0x00007f77ba59474b in nsDisplayList::PaintRoot (this=0x7ffde33b88d8, aBuilder=0x7ffde33b8978, aCtx=0x0, aFlags=13) at /z/stylo/incubator/layout/base/nsDisplayList.cpp:1874 #17 0x00007f77ba5d191d in nsLayoutUtils::PaintFrame (aRenderingContext=0x0, aFrame=0x7f778f216090, aDirtyRegion=..., aBackstop=4292269782, aBuilderMode=nsDisplayListBuilderMode::PAINTING, aFlags=(nsLayoutUtils::PaintFrameFlags::PAINT_WIDGET_LAYERS | nsLayoutUtils::PaintFrameFlags::PAINT_EXISTING_TRANSACTION | nsLayoutUtils::PaintFrameFlags::PAINT_NO_COMPOSITE)) at /z/stylo/incubator/layout/base/nsLayoutUtils.cpp:3619 #18 0x00007f77ba5ffece in PresShell::Paint (this=0x7f7790ef4800, aViewToPaint=0x7f77915a0180, aDirtyRegion=..., aFlags=1) at /z/stylo/incubator/layout/base/nsPresShell.cpp:6376
Attached file test
Attachment #8813481 - Attachment is obsolete: true
The problem is that we end up applying the rule in the document's style sheet to the native anonymous <div class="moz-custom-content-container"> that is created in nsCanvasFrame::CreateAnonymousContent. In Gecko, we don't apply document style sheets to native anonymous content due to this check: http://searchfox.org/mozilla-central/rev/59bb309e38b10aba63dea8505fb800e99fe821d6/layout/style/nsStyleSet.cpp#1133 The reason we can still style things like meter::-moz-meter-bar with rules from the document is that in FileRules, aElement is the <meter> element (with the ::-moz-meter-bar pseudo atom stored in the RuleProcessorData), and so the <meter> itself is found not to be in a native anonymous subtree.
Summary: stylo: using border-radius with background causes fatal assertion "Assertion failure: !mSize.IsEmpty(), at /z/stylo/incubator/layout/base/FrameLayerBuilder.cpp:1623" → stylo: native anonymous content should not have document styles applied to it
Is this a dupe of bug 1293809?
Yes! I'll follow up there with some patches soon.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: