gecko-dev/layout/painting
Jeff Muizelaar afe9ee5a45 Bug 1539702. Improve CreateClippedDrawTarget API r=jwatt,rhunt
This changes CreateClippedDrawTarget so that instead of taking
a max size and a transform it just takes a user space rect of
the desired bounds.

This change allows the caller to not worry about the computing
a max size based on the current clip. Instead this responsibility
is lowered into the specific backends.

The main motivation for this work is to allow blob recoordination
to create recordings that don't depend on the current clip.

Some additional benefits are that the API is easier to use and
as can be seen simplifies the SVG masking code because it doesn't
need to track surface offsets manually.

It's also an important step towards removing all the uses of
gfxContext::GetClipExtents which will let us get rid of the separate
clipping stack in gfxContext and help us move off of gfxContext
completely.

Most backend implementations of CreateClippedDrawTarget are relatively
simple. DrawTargetCapture is modified to track the current clip rect
so that it can create a new DrawTargetCapture of the appropriate size
without needing to worry about lazy resolution.

Differential Revision: https://phabricator.services.mozilla.com/D33363

--HG--
extra : moz-landing-system : lando
2019-06-20 22:34:31 +00:00
..
crashtests Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko 2019-06-11 04:39:17 +00:00
ActiveLayerTracker.cpp Bug 1429299 - Part 1: Unpack StyleMotion and use cbindgen for OffsetPath. r=emilio 2019-05-20 23:42:50 +00:00
ActiveLayerTracker.h Bug 1529422 - Part 1: Add all transform-like properties into ActiveLayerTracker. r=hiro,mattwoodrow 2019-02-23 00:21:45 +00:00
BorderCache.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
BorderConsts.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DashedCornerFinder.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DashedCornerFinder.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DisplayItemClip.cpp Bug 1554247 - Fix bracing in layout/painting r=miko 2019-05-29 14:34:34 +00:00
DisplayItemClip.h Bug 1441308 - Remove unnecessary StackingContextHelper params from clips r=kats 2019-03-13 16:44:05 +00:00
DisplayItemClipChain.cpp Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert 2019-02-25 16:09:24 -06:00
DisplayItemClipChain.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DisplayListChecker.cpp Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel 2019-05-26 14:31:53 +00:00
DisplayListChecker.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DisplayListClipState.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DisplayListClipState.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DottedCornerFinder.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DottedCornerFinder.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
FrameLayerBuilder.cpp Merge mozilla-inbound to mozilla-central. a=merge 2019-06-15 12:54:47 +03:00
FrameLayerBuilder.h Bug 1348503 - Retrieve the FrameLayerBuilder pointer from the LayerManager when we need it. r=tnikkel 2019-06-13 17:02:54 +00:00
LayerState.h Bug 1529698 - Part 1: Make LayerState enum class r=mattwoodrow 2019-05-18 20:11:11 +00:00
MaskLayerImageCache.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MaskLayerImageCache.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
MatrixStack.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
moz.build Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester 2019-03-13 20:19:08 +00:00
nsCSSRendering.cpp Bug 1554247 - Fix bracing in layout/painting r=miko 2019-05-29 14:34:34 +00:00
nsCSSRendering.h Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsCSSRenderingBorders.cpp Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsCSSRenderingBorders.h Bug 1527972 - Use Rust types for some misc properties. r=jwatt 2019-02-19 15:22:40 +01:00
nsCSSRenderingGradients.cpp Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsCSSRenderingGradients.h Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsDisplayItemTypes.h Bug 1551986 - Do not create unnecessary items inside opacity: 0 containers r=mattwoodrow 2019-05-16 21:13:49 +00:00
nsDisplayItemTypesList.h Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow 2019-05-18 20:11:42 +00:00
nsDisplayList.cpp Bug 1539702. Improve CreateClippedDrawTarget API r=jwatt,rhunt 2019-06-20 22:34:31 +00:00
nsDisplayList.h Bug 1557970 - Put the root metadata on the zoom container if there is one, for the WR codepath. r=botond 2019-06-12 16:51:22 +00:00
nsDisplayListInvalidation.cpp Bug 1541985 - Merge nsCharClipDisplayItem and nsDisplayText r=mattwoodrow 2019-04-10 01:41:22 +00:00
nsDisplayListInvalidation.h Bug 1541985 - Merge nsCharClipDisplayItem and nsDisplayText r=mattwoodrow 2019-04-10 01:41:22 +00:00
nsImageRenderer.cpp Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
nsImageRenderer.h Bug 1557212 - Use cbindgen for gradients. r=jwatt 2019-06-07 14:13:17 +00:00
PaintTracker.cpp Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
PaintTracker.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
RetainedDisplayListBuilder.cpp Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko 2019-06-11 04:39:17 +00:00
RetainedDisplayListBuilder.h Bug 1558482 - Apply visibleRect and scaling when painting. r=mattwoodrow 2019-06-11 07:52:12 -05:00
RetainedDisplayListHelpers.h Bug 1554247 - Fix bracing in layout/painting r=miko 2019-05-29 14:34:34 +00:00
TransformClipNode.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00