Closed Bug 1337291 Opened 3 years ago Closed 3 years ago

Support borderStyle for WebRenderBorderLayer

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla54

People

(Reporter: ethlin, Assigned: ethlin)

References

Details

Attachments

(3 files, 4 obsolete files)

Currently we don't support borderStyle. And we should support it.
I pass the border style to WR from OpDPPushBorder, just using the same way as width/radius. I also remove some checks in nsDisplayBorder::GetLayerState for WebRenderLayerManager.
Attachment #8834306 - Flags: review?(matt.woodrow)
Attachment #8834306 - Attachment is obsolete: true
Attachment #8834306 - Flags: review?(matt.woodrow)
Attachment #8834311 - Flags: review?(matt.woodrow)
Comment on attachment 8834311 [details] [diff] [review]
support border style for webrenderborderlayer

Review of attachment 8834311 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/painting/nsDisplayList.cpp
@@ +4405,5 @@
> +
> +    NS_FOR_CSS_SIDES(i) {
> +      mColors[i] = ToDeviceColor(br->mBorderColors[i]);
> +      mWidths[i] = br->mBorderWidths[i];
> +      mBorderStyles[i] = br->mBorderStyles[i];

We should make sure we initialize mBorderStyles in the !LAYERS_WR case.
Attachment #8834311 - Flags: review?(matt.woodrow) → review+
(In reply to Matt Woodrow (:mattwoodrow) from comment #3)
> Comment on attachment 8834311 [details] [diff] [review]
> support border style for webrenderborderlayer
> 
> Review of attachment 8834311 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: layout/painting/nsDisplayList.cpp
> @@ +4405,5 @@
> > +
> > +    NS_FOR_CSS_SIDES(i) {
> > +      mColors[i] = ToDeviceColor(br->mBorderColors[i]);
> > +      mWidths[i] = br->mBorderWidths[i];
> > +      mBorderStyles[i] = br->mBorderStyles[i];
> 
> We should make sure we initialize mBorderStyles in the !LAYERS_WR case.

You are right! I should initialize mBorderStyles for non-WR case.
I'll split the patch into two part. One is for m-c, and the other one is for graphics branch. And I should turn on the pref for some reftests about border-style.
The patch is split from the original patch for m-c.
Attachment #8834311 - Attachment is obsolete: true
The patch is for graphics branch.
Attachment #8834783 - Flags: review?(howareyou322)
Blocks: 1337681
Attachment #8834783 - Flags: review?(howareyou322) → review+
m-c dones't know LAYER_WR, so I should move the check of LAYER_WR to Part2.
Attachment #8834780 - Attachment is obsolete: true
Update part2 since part1 changed.
Attachment #8834781 - Attachment is obsolete: true
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a736bb1b9524
Part1. Pass the border style to BorderLayer. r=mattwoodrow
Keywords: checkin-needed
Comment on attachment 8835226 [details] [diff] [review]
Part1. Pass the border style to BorderLayer. r=mattwoodrow

This got merged back to the graphics branch in e79bf3dc8926
Attachment #8835226 - Flags: checkin+
Keywords: checkin-needed
Pushed by ethlin@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/07ec3c306ad2
Part2. Pass border style to webrender. r=mattwoodrow
https://hg.mozilla.org/projects/graphics/rev/67bb1f6342fa
Part3. Enable a reftest for WebRenderBorderlayer's border style. r=pchang
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Blocks: 1342343
You need to log in before you can comment on or make changes to this bug.