Closed Bug 1395715 Opened 7 years ago Closed 7 years ago

stylo: Assertion failure: f (Must have found a first-line frame)

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fixed

People

(Reporter: truber, Assigned: bzbarsky)

References

(Blocks 2 open bugs)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase.html
The attached testcase raises an assertion in m-c rev 20170831-fb22415719a9 with stylo enabled by pref. Assertion failure: f (Must have found a first-line frame), at /builds/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:1435 #0 mozilla::ServoRestyleManager::ReparentStyleContext, at layout/base/ServoRestyleManager.cpp:1435 #1 nsCSSFrameConstructor::RecoverLetterFrames, at layout/base/nsCSSFrameConstructor.cpp:12307 #2 nsCSSFrameConstructor::ContentRemoved, at layout/base/nsCSSFrameConstructor.cpp:8921 #3 mozilla::PresShell::ContentRemoved, at layout/base/PresShell.cpp:4512 #4 nsNodeUtils::ContentRemoved, at dom/base/nsNodeUtils.cpp:226 #5 nsINode::doRemoveChildAt, at dom/base/nsINode.cpp:1938 #6 mozilla::dom::FragmentOrElement::RemoveChildAt, at dom/base/FragmentOrElement.cpp:1369 #7 nsINode::ReplaceOrInsertBefore, at dom/base/nsINode.cpp:2250 #8 ConvertNodesOrStringsIntoNode, at dom/base/nsINode.h:1843 #9 nsINode::Before, at dom/base/nsINode.cpp:1783 #10 mozilla::dom::CharacterDataBinding::before, at dom/bindings/CharacterDataBinding.cpp:372 #11 mozilla::dom::GenericBindingMethod, at dom/bindings/BindingUtils.cpp:3050 #12 js::CallJSNative, at js/src/jscntxtinlines.h:293
Flags: in-testsuite?
Assignee: nobody → bzbarsky
Flags: needinfo?(bzbarsky)
Priority: -- → P2
It turns out, this is the only case in which we need to do the fixup at all. And this way we don't have to guess based on first-line styles, which may not match the frame tree (for example if we have a pending style change that we haven't processed yet).
Attachment #8903443 - Flags: review?(emilio)
Flags: needinfo?(bzbarsky)
Attachment #8903443 - Flags: review?(emilio) → review+
Pushed by bzbarsky@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/bc499bee82e2 When recovering letter frames, only do first-line fixup when we have a first-line parent. r=emilio
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: