Граф коммитов

623 Коммитов

Автор SHA1 Сообщение Дата
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
Ehsan Akhgari ce1eea874c Bug 1385182 - Try to avoid dynamic allocations for most arrays created inside nsDisplayList::Sort(); r=mstange 2017-08-03 23:05:26 -04:00
Ehsan Akhgari 8673ee6cd6 Bug 1379344 - Avoid traversing the display list twice inside nsDisplayList::UpdateBounds(); r=mstange 2017-08-03 23:04:48 -04:00
Kartikaya Gupta c474e2d82f Bug 1386747 - Put the scroll thumb's animation id in the scroll data for APZ. r=ethlin
MozReview-Commit-ID: fELBQVHky6
2017-08-03 15:32:01 -04:00