Closed Bug 1567036 Opened 6 years ago Closed 6 years ago

nsBidiPresUtils line iterator can get off due to mPrevFrame being out of sync due to ResolveParagraphWithinBlock

Categories

(Core :: Layout: Block and Inline, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: dbaron, Assigned: dbaron)

References

Details

Attachments

(4 files)

I need nsBidiPresUtils's line iterator to be accurate to fix bug 1300293, and an assertion I wrote caught that it was not accurate while loading https://html.spec.whatwg.org/ . (No need to view source, like in that bug!)

The patch will explain what the problem was.

(It's... not the only such problem and I haven't gotten the patch working yet, but it does fix the assertion included in this patch.)

That said, it's possible I should instead change this in BidiParagraphData::ResetData, whose only caller is nsBidiPresUtils::ResolveParagraphWithinBlock. But then it would happen even if resolving the inner paragraph doesn't create new continuations. I'm not sure what you think about that tradeoff.

Also, here's a try run.

Assignee: nobody → dbaron
Status: NEW → ASSIGNED

Interestingly, there was a bug I missed in the first version (the addition of the second null assignment that I've now added related to SplitInlineAncestors) that showed up by my assertion firing while doing view-source of the HTML spec... but didn't show up anywhere in our testsuite. So it seems like I should probably figure out how to add a test for that...

Pushed by dbaron@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0c1c5d8615e5 Clear BidiParagraphData::mPrevFrame when ResolveParagraphWithinBlock creates a new continuation, which invalidates its relationship to the line iterator. r=jfkthame
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: