Closed Bug 1235489 Opened 10 years ago Closed 10 years ago

"Assertion failure: !StyleText()->HasTextEmphasis()" when simultaneously changing zoom and calling canvas.drawWindow(DRAWWINDOW_DO_NOT_FLUSH)

Categories

(Core :: Layout, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: jruderman, Assigned: xidorn)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Assertion failure: !StyleText()->HasTextEmphasis(), at layout/generic/nsTextFrame.cpp:6207
Attached file stack
To reproduce you'll need a Firefox profile with the pref: user_pref("layout.css.text-emphasis.enabled", true); And the extension: https://github.com/MozillaSecurity/funfuzz/tree/master/dom/extension Running `funfuzz/dom/automation/domInteresting.py <firefox-build> w.html` is the simplest way to get both.
I don't understand this issue. Changing text-emphasis-style should triggers a reflow, which will update EmphasisMarkInfo properly and thus this assertion wouldn't be broken. This issue means, it is valid to force a repaint without a reflow even if the style change requires? That sounds pretty dangerous in general.
Reflow is interruptible, so in the case of a long running reflow that we interrupt, you certainly can't assume that we will reflow between a style change and a paint.
Oh, okay. If that's the case, I think we can just remove that assertion.
I thought interruptible reflow is only for script execution. Painting with a half-reflowed frame tree still sounds crazy... Hopefully frame reconstruction and the following first reflow wouldn't be interruptible...
Comment on attachment 8702534 [details] MozReview Request: Bug 1235489 - Remove assertion which is breakable when reflow is interrupted. https://reviewboard.mozilla.org/r/29127/#review26003
Attachment #8702534 - Flags: review?(jfkthame) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/e779e01003e891cbbd6919aae279359120374efd Bug 1235489 - Remove assertion which is breakable when reflow is interrupted. r=jfkthame
Assignee: nobody → quanxunzhen
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: