Closed
Bug 731858
Opened 13 years ago
Closed 13 years ago
TextOverflow creates 2 display items for a single frame
Categories
(Core :: Layout: Text and Fonts, defect)
Tracking
()
RESOLVED
FIXED
mozilla13
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
Details
Attachments
(1 file)
3.53 KB,
patch
|
MatsPalmgren_bugz
:
review+
|
Details | Diff | Splinter Review |
TextOverflow::CreateMarkers can create 2 nsDisplayTextOverflow items for a single frame. The pair of frame pointer and GetPerFrameKey() is meant to be unique for a display item.
I'm surprised that this isn't caught by FrameLayerBuilder currently, but it is with my DLBI code.
Patch adds a unique index to nsDisplayTextOverflow (same as was done for nsDisplayTransform) so that GetPerFrameKey() returns a unique value.
Attachment #601817 -
Flags: review?(matspal)
Comment 1•13 years ago
|
||
Comment on attachment 601817 [details] [diff] [review]
Add index numbers to nsDisplayTextOverflow
Thanks, looks good, but could you write it like this instead:
virtual PRUint32 GetPerFrameKey() {
return (mIndex << TYPE_BITS) | nsDisplayItem::GetPerFrameKey();
}
so that it fits in < 80 columns.
FYI, the function ClipMarker() potentially also creates a nsDisplayClip per
nsDisplayTextOverflowMarker item (wrapping it), I assume that's OK since
nsDisplayClip::GetPerFrameKey() returns zero.
Attachment #601817 -
Flags: review?(matspal) → review+
Assignee | ||
Comment 2•13 years ago
|
||
(In reply to Mats Palmgren [:mats] from comment #1)
> Comment on attachment 601817 [details] [diff] [review]
> Add index numbers to nsDisplayTextOverflow
>
> Thanks, looks good, but could you write it like this instead:
>
> virtual PRUint32 GetPerFrameKey() {
> return (mIndex << TYPE_BITS) | nsDisplayItem::GetPerFrameKey();
> }
>
> so that it fits in < 80 columns.
Sure, done.
>
> FYI, the function ClipMarker() potentially also creates a nsDisplayClip per
> nsDisplayTextOverflowMarker item (wrapping it), I assume that's OK since
> nsDisplayClip::GetPerFrameKey() returns zero.
Yeah, this is fine, nsDisplayClip isn't stored in FrameLayerBuilder.
https://hg.mozilla.org/integration/mozilla-inbound/rev/4392f9d56d2e
Assignee: nobody → matt.woodrow
Comment 3•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
You need to log in
before you can comment on or make changes to this bug.
Description
•