Closed Bug 936935 Opened 6 years ago Closed 6 years ago

Mark lines dirty more accurately during bidi resolution

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: smontagu, Assigned: smontagu)

References

Details

(Keywords: perf, rtl, Whiteboard: [qa-])

Attachments

(1 file, 1 obsolete file)

Attached patch less.dirty.diff (obsolete) — Splinter Review
Split out from bug 646359. After some heavy debugging I realized that the reason why the original patch in attachment 495873 [details] [diff] [review] had caused bug 654419 was not what I said in bug 646359 comment 1, but that when encountering line breaks in preformatted text in nsBidiPresUtils::TraverseFrames we can create continuations, and in that case we need to dirty the line. This is the last hunk of the patch.

On the other hand, I think we were dirtying lines too often in ResolveParagraph (which covered up the fact that we weren't doing it when we should), so the rest of the patch moves the dirtying to points where we are changing or creating continuations.

However! the try run https://tbpl.mozilla.org/?tree=Try&rev=4089c3ced4a8 shows that this breaks layout/reftests/text-overflow/xulscroll.html, but that seems to be because of a separate bug, which again was beeing hidden by the unnecessary dirtying.
I hijacked bug 936936 to be about the -moz-box incremental reflow problem.
(I assume you'll tweak xulscroll.html in this bug to avoid that bug for now.)
Assignee: nobody → smontagu
Keywords: perf
Attached patch Patch v.2Splinter Review
Added workaround for bug 936935 to xulscroll.html as Mats suggested.
Attachment #829897 - Attachment is obsolete: true
Attachment #832098 - Flags: review?(roc)
https://hg.mozilla.org/mozilla-central/rev/ec7b5c159c31
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Depends on: 964281
No longer depends on: 964281
Whiteboard: [qa-]
Depends on: 1007067
You need to log in before you can comment on or make changes to this bug.