double or wavy decoration lines are not repainted correctly if it's specified to floating first letter

RESOLVED FIXED in mozilla17

Status

()

Core
Layout: Text
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: masayuki, Assigned: masayuki)

Tracking

({css3})

Trunk
mozilla17
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

At bug 59109, I forgot to fix the overflow computation of floating first letter.
Created attachment 649063 [details] [diff] [review]
Patch

https://tbpl.mozilla.org/?tree=Try&usebuildbot=1&rev=a6c48ddcdabb
Comment on attachment 649063 [details] [diff] [review]
Patch

I'm not sure if we check whether the frame has decoration lines actually.

If you have some idea to write automated tests for this, let me know it.
Attachment #649063 - Flags: review?(roc)
Attachment #649063 - Flags: review?(roc) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/fd9cd6608ca4
Target Milestone: --- → mozilla17
Does nsStyleTextReset::CalcDifference cause a reflow style hint in all the cases where the result of this calculation could change?

Comment 5

5 years ago
https://hg.mozilla.org/mozilla-central/rev/fd9cd6608ca4
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(In reply to David Baron [:dbaron] from comment #4)
> Does nsStyleTextReset::CalcDifference cause a reflow style hint in all the
> cases where the result of this calculation could change?

Ah, it's good point. Currently, if the line style is changed to/from double or wavy, it returns NS_STYLE_HINT_REFLOW because solid/dotted/dashed are always same thickness. However, there is "-moz-none". I think that nsStyleTextReset::CalcDifference() should returns NS_STYLE_HINT_REFLOW for it or we should include solid underline rect to the overflow rect even if the style is none.

I like the former better because the latter is hacky. We may be able to take same mistake in the future. Do you agree?
I think in general we've been taking the opposite approach -- trying to include the underline in the overflow rect (at least for common underline styles) so that we don't have to reflow.

Then again, I think Mats was working on supporting a stronger variant of UpdateOverflowArea that might be sufficient here (in addition to repaint).
Created attachment 649949 [details] [diff] [review]
Additional Patch

So, do you think that this is right approach?
Attachment #649949 - Flags: review?(dbaron)
dbaron: ping
Depends on: 812143
Comment on attachment 649949 [details] [diff] [review]
Additional Patch

I filed bug 812143 for this.
Attachment #649949 - Flags: review?(dbaron)
You need to log in before you can comment on or make changes to this bug.