Commit Graph

26 Commits

Author SHA1 Message Date
Kartikaya Gupta
9ad40e6fb9 Bug 1372603 - Push the layer's local clip rect outside the stacking context. r=jrmuizel
For various reasons, we want to be pushing the layer's local clip rect
outside of the stacking context rather than inside it. Not only is this
more correct with respect to the semantics of the layer tree, we also
need it in order to properly handle fixed-positioning of layers with
async scrolling.

This patch does the bulk of the work to make this happen. Most of the code
in the individual layer classes to process the layer's local clip rect
is removed, and instead a function in ScrollingLayersHelper is added to
deal with it. There are a couple of places that individual layer classes
still handle this but those will be removed in future patches. Note that
the individual layer classes still need to provide a clip rect of some
sort in order to push their display items, and now they simply use their
visible region bounds for this purpose.

MozReview-Commit-ID: IBmfUdJwYx1
2017-06-14 15:43:16 -04:00
Kartikaya Gupta
cc1457011b Bug 1361497 - Push scrolling clips for scrollable layers in the layer tree. r=jrmuizel
This adds an RAII helper and uses it in RenderLayer functions. When APZ
is enabled, the RAII helper pushes a scrolling clip for each scrollable
metrics on the layer. It also pops off the scrolling clips on
destruction. Note that this should happen before any other things are
pushed into the WR display list for the rendering of a layer, since
those things should be subjected to the enclosing scrolling clips.
If APZ is disabled, this skips pushing the scrolling clips.

MozReview-Commit-ID: 1qv9egKbbok
2017-05-12 13:58:15 -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
342f3e9393 Bug 1359842 - Rename ParentStackingContextBounds to ParentBounds. r=nical
MozReview-Commit-ID: HmvRnzvgRML
2017-04-27 12:04:13 -04:00
Kartikaya Gupta
52f3a8a0d9 Bug 1359842 - Convert RelativeToParent to deal with typed units. r=nical
As we are often converting from LayoutDevicePixel to LayerPixel types
in WebRenderDisplayItem code, I added a convenience overload of
RelativeToParent that takes a LayoutDeviceRect and returns a LayerRect,
even though this is a potential footgun if abused.

MozReview-Commit-ID: DABAWdOBsbV
2017-04-27 12:04:13 -04:00
Lee Salzman
6ca29fbb02 Bug 1348980 - use UnscaledFont to track WebRender font keys. r=jrmuizel 2017-04-06 17:41:24 -04:00
Jeff Muizelaar
677ccdea94 Bug 1344396. Build the display lists directly. r=kats
This is a largely uninteresting patch that just uses the DisplayListBuilder
directly. A wonderful cleanup patch will come after this. One of the more
interesting pieces is the use of PushBuiltDisplayList. This is needed for
handling empty transactions. See https://github.com/servo/webrender/pull/934
for more info.
2017-03-06 23:16:30 -05:00
Jeff Muizelaar
e421e711ab Bug 1342246. Generate resource ids on the client side. r=lsalzman 2017-02-23 17:52:38 -05:00
Ryan Hunt
2c877fa601 Bug 1340908 - Include LayersLogging.h not WebRenderLayersLogging.h r=kats 2017-02-19 14:00:41 -05:00
Morris Tseng
5dbd28a1b9 Bug 1339683 - Utility function to create WebRenderCommands from Glyphs. r=mchang
MozReview-Commit-ID: 7p8LkxE3QYn
2017-02-20 10:22:58 +08:00
Kartikaya Gupta
4979fd659f Merge m-c to graphics
MozReview-Commit-ID: IN2hMCjMHLL
2017-02-17 23:33:24 -05:00
Mason Chang
574eca9b03 Bug 1337616 - Stop adding a new font key for every glyph array. r=jmuizelaar 2017-02-14 15:16:23 -08:00
Ryan Hunt
b41e456e1e Bug 1335123 - Clean up layers logging for WebRenderLayers. r=kats 2017-01-30 12:48:01 -06:00
Kartikaya Gupta
09f0b6a562 Bug 1333397 - Rename WRGlyphInstance to WrGlyphInstance for naming consistency. r=gfx?
MozReview-Commit-ID: K6Y5H7WOe87
2017-01-24 08:44:23 -05:00
Nicolas Silva
67c7d94680 Bug 1331515 - More WR to Wr prefix conversion. r=gfx? 2017-01-17 10:17:38 -05:00
Nicolas Silva
71ce50e60a Bug 1331515 - WR to Wr prefix conversion for more ffi types. r=gfx? 2017-01-17 09:53:57 -05:00
Nicolas Silva
171a41b90f Bug 1331515 - Rename WRRect into WrRect. r=gfx? 2017-01-17 09:32:16 -05:00
Nicolas Silva
e9678a4d84 Bug 1331515 - Move some types to the mozilla::wr namespace. r=gfx? 2017-01-16 19:22:09 -05:00
Nicolas Silva
15faee9666 Bug 1331515 - mozilla/webrender include path. r=gfx? 2017-01-16 19:21:52 -05:00
Nicolas Silva
18b73999f8 Bug 1328602 - Start replacing wrstate with DisplayListBuilder. r=gfx? 2017-01-13 11:25:07 +01:00
Ryan Hunt
df78296ff3 Bug 1330480 - Move toWr* functions into WebRenderTypes.h r=gfx? 2017-01-11 19:53:28 -06:00
Nicolas Silva
87800d1c89 Bug 1328602 - Fix unified build bustage. r=gfx? 2017-01-10 14:19:19 +01:00
Kartikaya Gupta
00bbde4c9e Bug 1321031 - Follow-up to fix build bustage on the graphics branch. r=jrmuizel?
MozReview-Commit-ID: JZlmFgfaWVM
2017-01-09 10:19:59 -05:00
Mason Chang
f7152a1f5b Bug 1329314 - Add support for nsDisplayText webrender display item. r=jrmuizel? 2017-01-06 11:50:53 -08:00
Daniel Holbert
bee7fa0be8 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t
2017-02-14 14:01:59 -08:00