Some MathML frames need to be eLineParticipant

RESOLVED WORKSFORME

Status

()

RESOLVED WORKSFORME
12 years ago
9 years ago

People

(Reporter: bzbarsky, Assigned: rbs)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

12 years ago
STEPS TO REPRODUCE:

1) Load https://bugzilla.mozilla.org/attachment.cgi?id=268557
2) Get:

###!!! ASSERTION: Wrong line container hint: '!aForFrame || aLineContainer == FindLineContainer(aForFrame)', file ../../../mozilla/layout/generic/nsTextFrameThebes.cpp, line 1083

In this case, aLineContainer is an nsMathMLmtdInnerFrame (which sounds right if we want the block containing this thing), but FindLineContainer(aForFrame) gives nsMathMLTokenFrame, which is not surprising since that's not an eLineParticipant.  Nor is any other MathML frame.

Not sure which MathML frames are line participants, but it seems that nsMathMLTokenFrame is one for sure.
Flags: blocking1.9?

Comment 1

12 years ago
Bug 385265 is also about this assertion.
(Reporter)

Comment 2

12 years ago
Indeed.  I bet that patch fixes the issue I see here.  Will retest once it lands.
Depends on: 385265
Are they really line participants?  If so, they have to call all the reflow functions on nsLineLayout appropriately, and ensure they create new line layout objects for any descendants that should be separated...
(Reporter)

Comment 4

11 years ago
Probably not, given the patch in bug 385265.
Flags: blocking1.9?

Comment 5

11 years ago
WFM.  bz, are you still seeing this?
(Reporter)

Comment 6

11 years ago
I have no idea.  I don't have a working tree to test with, and won't for several weeks.  Given that bug 385265 is fixed, this probably is as well.
QA Contact: ian → mathml
Apparently, there is no longer assertion message with current trunk build.
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.