Commit Graph

14 Commits

Author SHA1 Message Date
Ethan Lin
e03c8c6a53 Bug 1372118 - Part3. Implement CreateWebRenderCommands for text, transform and background color. r=jrmuizel, r=kats
MozReview-Commit-ID: JRoSjygSFHc
2017-06-30 17:23:20 -07:00
Jeff Muizelaar
ff11ce0adc Bug 1375534 - Add bindings for setting transform style to PushStackingContext. r=kats 2017-06-22 17:30:27 -04:00
Kartikaya Gupta
fd56df36d9 Bug 1372603 - Remove unused functions and parameters. r=jrmuizel
MozReview-Commit-ID: 1DUBPEcCe2u
2017-06-14 15:43:16 -04:00
Martin Robinson
c3c1ed22cd Bug 1365972 - Add initial WebRender support for nsDisplayFilter. r=rhunt, r=mattwoodrow 2017-06-06 06:28:00 -04:00
Kartikaya Gupta
a46130d11c Bug 1368551 - Don't send transforms to WR in push_stacking_context if they are identity. r=pchang
If we set a transform in push_stacking_context, it changes the internal
WebRender behaviour to make that stacking context a reference frame, and
things inside it are positioned differently. This is true even if the
transform is an identity transform.

In most cases we are hitting this and sending an identity transform
through, when in fact we want to be sending a None value to WebRender so
that it doesn't create reference frames. This is a partial fix, a proper
fix will be done in bug 1345577 by separating the CSS transform from the
other transforms that FrameLayerBuilder invents.

MozReview-Commit-ID: ElSs3hFMD2D
2017-06-01 09:17:17 -04:00
Kartikaya Gupta
53ed9e2cb2 Bug 1368551 - Remove unneccessary overload of PushStackingContext. r=pchang
This overload is only called in one place, so we can just inline it. It
makes the API a little simpler.

MozReview-Commit-ID: H55IUduUSiJ
2017-06-01 09:17:16 -04:00
Ethan Lin
47206b4f7c Bug 1363998 - Part1. Correct the coordinate space of webrender mask layer. r=kats 2017-05-18 17:40:18 +08:00
Kartikaya Gupta
41854dac48 Bug 1361356 - Properly unapply the stacking context transform and origin translation when building mask layers. r=ethlin
MozReview-Commit-ID: B5XzX6Tq4PZ
2017-05-05 11:44:49 -04:00
Kartikaya Gupta
f26d6d162e Bug 1360246 - Remove the RelativeToParent functions by propagating StackingContextHelper chains. r=nical
The only remaining callers of RelativeToParent() are in
StackingContextHelper itself, which we can remove now by having the SCH
take a parent SCH and use it instead of RelativeToParent(). This patch
implements this change.

This makes a failing test pass, because of how preserve-3d container
layers work. Specifically, preserve-3d container layers render their
descendants in z-order, not in tree order. If those children were assuming
that their parent had already pushed a stacking context, that assumption
may have been false because the parent might have not yet been rendered
because of z-ordering. By using the StackingContextHelper chain instead
of the layer tree ancestry, we fix the stacking-context-relative coordinates
being used in the descendant subtree of preserve-3d container layers.

MozReview-Commit-ID: HzZvBuAlMdB
2017-05-03 08:48:08 -04:00
Kartikaya Gupta
4fc4a30a0b Bug 1360246 - Update code to use StackingContextHelper::ToRelativeWr* instead of RelativeToParent. r=nical
This updates more code that was using RelativeToParent() to use the
stacking context helper's ToRelativeWr* functions instead. This get us
closer to breaking the assumption that the WR stacking context order maps
1:1 to the layer tree structure.

MozReview-Commit-ID: HQrbvCgPOW4
2017-05-03 08:48:08 -04:00
Kartikaya Gupta
e82f6fae36 Bug 1360246 - Clean up WebRenderTextLayer::RenderLayer. r=nical
This uses the StackingContextHelper and typed helper functions in
WebRenderLayer to simplify WebRenderTextLayer::RenderLayer. It also
removes the implicit assumption in WebRenderTextLayer that the parent
layer pushed a stacking context, which is an assumption we will
probably break in the future.

MozReview-Commit-ID: CARoGVQd56i
2017-05-03 08:48:07 -04:00
Kartikaya Gupta
b87a58caed Bug 1360246 - Propagate a StackingContextHelper all the way through the RenderLayer traversal. r=nical
This is needed in part 3 to update WebRenderTextLayer::RenderLayer, so
that it no longer assumes the parent container layer has pushed a
stacking context, and instead explicitly uses the StackingContextHelper.

MozReview-Commit-ID: 9twUmDgUipX
2017-05-03 08:48:06 -04:00
Kartikaya Gupta
3928dd684f Bug 1359842 - Use the StackingContextHelper for WebRenderContainerLayer as well. r=nical
MozReview-Commit-ID: DXhhBB3qdzX
2017-04-27 12:04:25 -04:00
Kartikaya Gupta
ed6e5a8d25 Bug 1359842 - Add a StackingContextHelper to reduce duplicated code. r=nical
This class is a RAII class that can be used to push a stacking context
with properties from a WebRenderLayer. It can also then be used to
convert rects in the layer coordinate system to be relative to the
stacking context, which is what we want for passing to WR.

MozReview-Commit-ID: 1WVrfRYqLqc
2017-04-27 12:04:25 -04:00