Commit Graph

626 Commits

Author SHA1 Message Date
Kartikaya Gupta
c3ffce14a8 Bug 1395218 - Make the bevel side parameters more strongly-typed. r=dholbert
MozReview-Commit-ID: 5rymg5uTMC1

--HG--
extra : rebase_source : 52feb903732eeba3dd52ff086de15181dde854c9
2017-08-30 12:22:18 -04:00
Ethan Lin
79a193db06 Bug 1394711 - nsDisplayBackgroundImage should check layer state to create webrender commands. r=kats
MozReview-Commit-ID: Lr1Yfcd50iK

--HG--
extra : rebase_source : e55cba3b33baf6f013bdbb95f5c0c8c4da582565
2017-08-29 14:51:06 +08:00
Kartikaya Gupta
b76249cc0d Bug 1394011 - Extract helper function to compute the root ScrollMetadata. r=mstange
MozReview-Commit-ID: G8G7hI0aBWY

--HG--
extra : rebase_source : 2a68bf8202abe4b2dddd87a9dae0f6f94d854ea4
2017-08-28 17:17:34 -04:00
Wes Kocher
68149d6a59 Merge inbound to central, a=merge
MozReview-Commit-ID: 3N9jinnrmjb
2017-08-25 16:21:57 -07:00
Sebastian Hengst
6fd5b9e1ca merge mozilla-central to autoland. r=merge a=merge 2017-08-25 13:19:59 +02:00
Bas Schouten
64bb6354b5 Bug 1363922 - Part 2: Estimate scale of frames using their transformation relative to the root frame. r=mstange
MozReview-Commit-ID: HTDaOz7sz5c
2017-08-25 00:21:55 +02:00
Ethan Lin
f0d8375feb Bug 1391202 - Add NotifyInvalidation mechanism for layers-free mode. r=kats
MozReview-Commit-ID: G82DgErNTRq

--HG--
extra : rebase_source : 3cd74f1b10758ddb796d3dc254f9bde03fb9f7b8
2017-08-23 23:03:43 +08:00
Matt Woodrow
5d9dd5a30b Bug 1387059 - When checking if nsDisplayPerspective participates in preserve-3d, check the underlying transformed frame. r=mstange 2017-08-25 11:51:37 +02:00
Sebastian Hengst
7e5c12872d Backed out changeset 61a168afa436 (bug 1387059) for unexpectedly passing web-platform-reftest /css/css-transforms-2/transform3d-sorting-001.html. r=backout 2017-08-25 10:05:22 +02:00
Matt Woodrow
3cd9715429 Bug 1387059 - When checking if nsDisplayPerspective participates in preserve-3d, check the underlying transformed frame. r=mstange 2017-08-25 15:40:45 +12:00
Wes Kocher
c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Wes Kocher
b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Kartikaya Gupta
7017055b92 Bug 1390804 - When pushing a mask clip, don't record it in DisplayListBuilder's clip stack. r=ethlin
Recording mask clips in the clip stack changes the value of TopmostClipId()
which confuses the code in ScrollingLayersHelper. The mask clip can be
thought of as an "out-of-band" clip that ScrollingLayersHelper doesn't
need to know about. This patch adds a mechanism for pushing such
"out-of-band" clips without touching the clip stack.

MozReview-Commit-ID: 8Zeqtigk0cj

--HG--
extra : rebase_source : 35176f3c9d98d186f78d7a0ff44845c7c3c9f67e
2017-08-17 13:54:25 -04:00
Alexis Beingessner
9c4535798f Bug 1357545 - handle text-shadows/decorations with webrender (layers-free) r=jrmuizel
This replaces our DrawTargetCapture hack with a similar but more powerful TextDrawTarget
hack. The old design had several limitations:

* It couldn't handle shadows
* It couldn't handle selections
* It couldn't handle font/color changes in a single text-run
* It couldn't handle decorations (underline, overline, line-through)

Mostly this was a consequence of the fact that it only modified the start and end
of the rendering algorithm, and therefore couldn't distinguish draw calls for different
parts of the text.

This new design is based on a similar principle as DrawTargetCapture, but also passes
down the TextDrawTarget in the drawing arguments, so that the drawing algorithm can
notify us of changes in phase (e.g. "now we're doing underlines"). This also lets us
directly pass data to TextDrawTarget when possible (as is done for shadows and selections).

In doing this, I also improved the logic copied from ContainsOnlyColoredGlyphs to handle
changes in font/color mid-text-run (which can happen because of font fallback).

The end result is:

* We handle all shadows natively
* We handle all selections natively
* We handle all decorations natively
* We handle font/color changes in a single text-run
    * Although we still hackily intercept draw calls
    * But we don't need to buffer commands, reducing total memcopies

In addition, this change integrates webrender's PushTextShadow and PushLine APIs,
which were designed for this use case. This is only done in the layerless path;
WebrenderTextLayer continues to be semantically limited, as we aren't actively
maintaining non-layers-free webrender anymore.

This also doesn't modify TextLayers, to minimize churn. In theory they can be
augmented to support the richer semantics that TextDrawTarget has, but there's
little motivation since the API is largely unused with this change.

MozReview-Commit-ID: 4IjTsSW335h

--HG--
extra : rebase_source : d69f69648ade5c7a8e6bb756f4b8ab9e2543e576
2017-06-19 10:58:28 -04:00
Wes Kocher
1d9f00cb8d Merge inbound to m-c a=merge
MozReview-Commit-ID: CQeEqtGlaXh
2017-08-17 16:16:51 -07:00
Ethan Lin
cf6417fa0a Bug 1390437 - Add NotifyInvalidation after EndTransaction for layers-free mode. r=kats
For layers-free mode, we still need to call NotifyInvalidation to trigger
FireDOMPaintEvent. It should be fine to pass an empty rect since we always
take full snapshot for WR.

MozReview-Commit-ID: EzzQi2C5aRQ

--HG--
extra : rebase_source : 81eb63698bd052615c42eebb392e7f771a59f36c
2017-08-15 16:54:12 +08:00
Sebastian Hengst
fb32ca19c4 Backed out changeset 189abf9f8d6d (bug 1363922) 2017-08-17 16:11:28 +02:00
Bas Schouten
9207223d59 Bug 1363922 - Part 2: Estimate scale of frames based on their PresShell resolution. r=mstange
MozReview-Commit-ID: 8f6T3PiPkF8
2017-08-17 15:45:31 +02:00
Carsten "Tomcat" Book
99aa3f8e70 Merge mozilla-central to mozilla-inbound 2017-08-17 13:13:10 +02:00
Kartikaya Gupta
cb97ff3374 Bug 1389139 - Add support for transform and perspective display items to layers-free APZ. r=jrmuizel
A basic sanity check here seems to produce the correct behaviour but I'm
not at all confident that this will always do the correct thing in more
complex cases or when perspectives are involved. However this is hard to
test and get working without the testing infrastructure up and running
so I'd rather land this simple code first and then dig into the more
complex cases once we have a way to catch regressions.

MozReview-Commit-ID: E4HytiZowEn

--HG--
extra : rebase_source : c7466092298aebf66926e8e0bdf58eb4651f0f19
2017-08-16 12:50:37 -04:00
Jonathan Watt
c417be49de Bug 1389010, part 8 - Stop abusing mAllBordersSameStyle in nsCSSBorderRenderer::DrawBorders to force drawing as separate parts. r=dholbert
MozReview-Commit-ID: AiGmfUgB6ql
2017-08-08 11:24:56 +01:00
Jonathan Watt
56901d3ac8 Bug 1389010, part 7 - Call AllBordersSameWidth in nsCSSBorderRenderer's constructor and store the result as a member. r=dholbert
MozReview-Commit-ID: 70Z3TBLKcq5
2017-08-08 10:02:35 +01:00
Jonathan Watt
f65ea8e5f8 Bug 1389010, part 6 - Call AreBorderSideFinalStylesSame in nsCSSBorderRenderer's constructor and store the result as a member. r=dholbert
MozReview-Commit-ID: 3OBwSIG4OzP
2017-08-08 09:41:13 +01:00
Jonathan Watt
f21d824e35 Bug 1389010, part 5 - Assert the line type invariant at the top of nsCSSBorderRenderer::SetupDashedOptions. r=dholbert
MozReview-Commit-ID: KUcCSjYRgMg
2017-08-07 21:53:26 +01:00
Jonathan Watt
53650e62ef Bug 1389010, part 4 - In nsCSSRenderingBorders::DrawBorders declare allBordersSolid where it is defined and make it const. r=dholbert
MozReview-Commit-ID: rdKiCDOplp
2017-08-07 12:47:19 +01:00
Jonathan Watt
d79d378ace Bug 1389010, part 3 - Add comments to nsCSSRenderingBorders to indicate what the heck "composite colors" are. r=dholbert
MozReview-Commit-ID: C7IyrlQVlWX
2017-08-07 12:16:48 +01:00
Jonathan Watt
4c063580b8 Bug 1389010, part 2 - Move an early return in nsCSSBorderRenderer::DrawBorders up to avoid unnecessary work. r=dholbert
MozReview-Commit-ID: AfuBCfYs3S1
2017-08-07 10:17:57 +01:00
Jonathan Watt
90da60023d Bug 1389010, part 1 - Rename allBordersSame to allBordersSameStyle to distinguish it from the other similar variables. r=dholbert
Also moves the declaration of tlBordersSame and brBordersSame to where they're used.

MozReview-Commit-ID: 4l9pVnWT6UH
2017-08-07 10:08:12 +01:00
Wes Kocher
214677ea41 Merge autoland to central, a=merge
MozReview-Commit-ID: 9BfFPDy1vO7

--HG--
rename : browser/extensions/onboarding/content/img/icons_search-colored.svg => browser/extensions/onboarding/content/img/icons_singlesearch-colored.svg
rename : browser/extensions/onboarding/content/img/icons_search.svg => browser/extensions/onboarding/content/img/icons_singlesearch.svg
2017-08-14 17:28:19 -07:00
Morris Tseng
6391dec171 Bug 1389027 - Support nsDisplayPerspective in layers-free mode. r=kats
MozReview-Commit-ID: K0RCuQ8WEE3
2017-08-14 17:31:55 +08:00
Ethan Lin
1d1cb1f032 Bug 1388634 - Set correct sampling filter when pushing image. r=kats
MozReview-Commit-ID: BkKbL2l0AYb

--HG--
extra : rebase_source : 0fb6b785ddf00df2aa1452c3b16cbad3978386df
2017-08-09 14:27:46 +08:00
Markus Stange
82bda631f5 Bug 1389215 - Don't layerize in response to margin changes. r=mattwoodrow
MozReview-Commit-ID: Ahr3g1NAoQ7

--HG--
extra : rebase_source : a6462769096b8737e58227259ac1f72581c6ed70
2017-08-12 18:42:04 -04:00
Wes Kocher
5a4357c768 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Wes Kocher
cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sebastian Hengst
51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Sebastian Hengst
8257b2d113 Backed out changeset 8f2dd8f13b53 (bug 1388161) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:21 +02:00
Sebastian Hengst
7f85daeb2a Backed out changeset e9985564e081 (bug 1388162) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:20 +02:00
Matt Woodrow
95f2e31f88 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange 2017-08-07 16:07:43 +12:00
Matt Woodrow
a3a130b6ff Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
sotaro
276b8889d3 Bug 1388639 - Use KnowsCompositor instead of ShadowForwarder in MaskImageData and MaskLayerImageCache r=nical 2017-08-10 11:43:11 +09:00
Kartikaya Gupta
f10ce62128 Bug 1386483 - Split the wr_dp_push_clip method into two to allow reusing clips. r=jrmuizel
MozReview-Commit-ID: 90BEJGs8wGg

--HG--
extra : rebase_source : 9ef113bee43391c00912457afc395284899a23cb
2017-08-08 15:43:17 -04:00
Ehsan Akhgari
eefe461ec1 Bug 1379344 - Avoid traversing the display list twice inside nsDisplayList::UpdateBounds(); r=mstange 2017-08-08 20:54:48 -04:00
Kartikaya Gupta
b239f49bcb Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: 1wBFnJnYCwC

--HG--
extra : rebase_source : 542f814af9369fe712af76fc2a8c78de26c6227f
2017-08-10 14:00:08 -04:00
Sebastian Hengst
5d5e6ac39c Backed out changeset 972371dc461b (bug 1370682) 2017-08-10 18:28:55 +02:00
Kartikaya Gupta
7027ecc44b Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: Cu1K3rLjm0V

--HG--
extra : rebase_source : b5994faceb9dd7e52222714bdbc5b06886d26415
2017-08-09 19:19:03 -04:00
Tooru Fujisawa
883265422d Bug 1356114 - Part 2: Consistently make the ends of dashed CSS borders a full dash if not connecting to a corner. r=jwatt 2017-08-06 00:26:58 +09:00
Tooru Fujisawa
a1b9a771f1 Bug 1356114 - Part 1: Change the code that optimizes away CSS border corner painting to ensure opposite sides have the same length. r=jwatt
See https://bugzilla.mozilla.org/show_bug.cgi?id=1356114#c8
for a diagram describing the old behavior.
2017-08-06 00:26:57 +09:00
Sebastian Hengst
d55e18d804 Backed out changeset b954874c5ced (bug 1379344) for failing reftests 1111753-1.html, 1119117-1b.html and clipped-opacity-containing-unclipped-mixblendmode-ref.html. r=backout on a CLOSED TREE 2017-08-04 09:24:42 +02:00
cku
0e18c8bb3c Bug 1386986 - Move nsDisplaySVGEffect::mEffectsBounds to nsDisplayFilter. r=mstange
Put mEffectsBounds in nsDisplyaSVGEffect does not really make sense, since only
nsDisplayFilter need it.

MozReview-Commit-ID: KSvDspZJcMP

--HG--
extra : rebase_source : 9d2f994b40e82e7146358932fbebbc60a4ca01c6
extra : source : cfd8d564c0198239eb029e4984d75a692bd9f9ca
2017-08-03 16:50:06 +08:00
David Anderson
bb8c6e5f61 Handle bounds overflow in consumers of LayerTreeInvalidation. (bug 1345891 part 2, r=mattwoodrow) 2017-08-03 21:22:48 -07:00