gecko-dev/layout/painting
Alexis Beingessner 239a528013 Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange
When a transform thinks it's animated we should abandon screen rasterization
and instead favour local rasterization. This produces a more visually
pleasant rendering, as pixel-snapping "wobbles" the text between
frames.

The float scale of GlyphRasterSpace::Local is currently unused, but this
PR tries its best to set it to a reasonable value, based on discussion
with glennw about the intended semantics. We agreed it should specify
the scale *relative* to the parent stacking context, which means it's
just whatever scaling the stacking context's transform applies. It's
possible we'll need to clamp this value or make it properly 2-dimensional
later on.

Some book-keeping is added to StackingContextHelper to ensure that
GlyphRasterSpace::Screen is never requested by a descendent
of a stacking context using GlyphRasterSpace::Local.

nsDisplayMask is changed to use a StackingContextHelper to ensure
rasterSpace is properly propagated.

In addition, this is the first commit making use of cbindgen's new support
for bridging Rust enums natively into C++! This bumps our minimum cbindgen
to 6.0.0 (just released).

MozReview-Commit-ID: 9AlsB6nUheB

--HG--
extra : rebase_source : 247e5b197e998682cb4bb74f6f9319a9a4dd3264
2018-05-03 20:38:37 -04:00
..
crashtests Bug 1455944 - Do not paint nsDisplayOpacity children when opacity push/pop markers have empty paint rect r=mattwoodrow 2018-04-25 22:54:18 +02:00
ActiveLayerTracker.cpp Bug 1448337 - Remove RuleNodeCacheConditions.h. r=emilio 2018-03-25 20:43:47 +02:00
ActiveLayerTracker.h
BorderCache.h
BorderConsts.h
DashedCornerFinder.cpp
DashedCornerFinder.h
DisplayItemClip.cpp Bug 1450134. Replace ToRelativeLayoutRect() with ToRoundedLayoutRect(). r=kats 2018-03-29 17:57:43 -04:00
DisplayItemClip.h Bug 1438990 - Remove common clip count code from FrameLayerBuilder, as it's no longer necessary now that we have ASRs. r=mstange 2018-03-07 15:40:42 +13:00
DisplayItemClipChain.cpp Bug 1437623 part 3: (layout/painting) Add missing includes/namespaces to preemptively fix unified bustage. r=mattwoodrow 2018-02-13 09:08:42 -08:00
DisplayItemClipChain.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
DisplayListChecker.cpp Bug 1433850 - layout.display-list.retain.verify.order to also check RDL ordering - r=mattwoodrow 2018-01-29 18:23:14 +11:00
DisplayListChecker.h
DisplayListClipState.cpp Bug 1430589 - Avoid putting a stack-allocated DisplayItemClipChain into the clip deduplicator. r=mattwoodrow,mstange 2018-01-19 23:47:26 -05:00
DisplayListClipState.h Bug 1436279 - Remove unneeded 'friend class' statements - r=mattwoodrow 2017-12-13 09:21:14 -06:00
DottedCornerFinder.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
DottedCornerFinder.h
FrameLayerBuilder.cpp Bug 1455944 - Do not paint nsDisplayOpacity children when opacity push/pop markers have empty paint rect r=mattwoodrow 2018-04-25 22:54:18 +02:00
FrameLayerBuilder.h Bug 1442190 - Part 4: Add FLBDisplayItemIterator r=mattwoodrow 2018-03-21 12:27:13 +01:00
LayerState.h
MaskLayerImageCache.cpp
MaskLayerImageCache.h
moz.build Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange 2018-03-23 16:47:37 +13:00
nsCSSRendering.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
nsCSSRendering.h Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE 2018-03-22 20:06:24 +01:00
nsCSSRenderingBorders.cpp Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE. 2018-04-02 17:57:27 -04:00
nsCSSRenderingBorders.h Bug 1429723: Graphics cleanup. r=jrmuizel 2018-01-22 18:14:19 +01:00
nsCSSRenderingGradients.cpp Bug 1427063: Have D2D interpret colors in premultiplied space. As it says is its default. r=rhunt 2018-04-23 19:27:48 +02:00
nsCSSRenderingGradients.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
nsDisplayItemTypes.h
nsDisplayItemTypesList.h Bug 1388842. Add blob invalidation. r=mstange 2018-03-27 17:31:04 -04:00
nsDisplayList.cpp Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange 2018-05-03 20:38:37 -04:00
nsDisplayList.h Bug 1439809 - Store the display list index on the display items during PreProcessDisplayList so that we can do lookup without a hashtable. r=miko,mstange 2018-04-24 12:59:11 +12:00
nsDisplayListInvalidation.cpp Bug 1418893 - Check opacity changes when computing mask's invalidation region. r=mattwoodrow 2017-12-20 14:23:06 +08:00
nsDisplayListInvalidation.h Backed out 6 changesets (bug 1442190) for reftest failures on /anonymous-block.html on a CLOSED TREE 2018-04-11 20:14:53 +03:00
nsImageRenderer.cpp Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE. 2018-04-02 17:57:27 -04:00
nsImageRenderer.h Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
PaintTracker.cpp
PaintTracker.h
RetainedDisplayListBuilder.cpp Bug 1439809 - Store the display list index on the display items during PreProcessDisplayList so that we can do lookup without a hashtable. r=miko,mstange 2018-04-24 12:59:11 +12:00
RetainedDisplayListBuilder.h Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange 2018-03-23 16:47:37 +13:00
RetainedDisplayListHelpers.h Bug 1439809 - Store the display list index on the display items during PreProcessDisplayList so that we can do lookup without a hashtable. r=miko,mstange 2018-04-24 12:59:11 +12:00