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

9627 Коммитов

Автор SHA1 Сообщение Дата
Botond Ballo 2c52e58651 Bug 1349750 - Put async initiation of scrollbar drags behind a pref. r=kats
This allows the feature to ride the trains later than async scrollbar
dragging itself, if desired.

MozReview-Commit-ID: 73ZlCqM5hMN

--HG--
extra : rebase_source : dabc4a4b72210133d8b62256510213183312f18f
2017-05-10 17:57:54 -04:00
Botond Ballo 6606b827b5 Bug 1349750 - Have APZ initiate async scrollbar dragging when possible. r=kats
MozReview-Commit-ID: 1snCEl6H9bN

--HG--
extra : rebase_source : dce1353e5ccebfacd5d100719ebb684dfa0f516b
2017-05-10 19:29:46 -04:00
Botond Ballo 390338b8cd Bug 1349750 - Store the thumb's start offset in ScrollThumbData. r=kats
Also add a comment to AsyncDragMetrics documenting that mScrollbarDragOffset
is relative to the thumb's start offset.

MozReview-Commit-ID: uipsOCzs2N

--HG--
extra : rebase_source : 25183e22cb7ffb9995a2594d6aea106cdef7924a
2017-05-10 19:24:26 -04:00
Botond Ballo 933619aa8d Bug 1349750 - Have AsyncDragMetrics use ScrollDirection instead of rolling its own direction enum. r=kats
MozReview-Commit-ID: FKK4OBx12oa

--HG--
extra : rebase_source : 538579bd965863ecac5d7846f1c5df232b8a2108
2017-05-10 15:22:04 -04:00
Botond Ballo f5c583a72c Bug 1349750 - Add a ConvertScrollbarPoint() helper to AsyncPanZoomController. r=kats
MozReview-Commit-ID: ESbWqhy1tKT

--HG--
extra : rebase_source : a380346fefd9e0fbcbbbcdcd61c0272b727acfed
2017-05-10 19:25:27 -04:00
Botond Ballo e1636dd2cd Bug 1349750 - Add HitTestingTreeNode::IsScrollThumbNode(). r=kats
MozReview-Commit-ID: GMKg3akA9qp

--HG--
extra : rebase_source : 10518e52777e39743587adcca6c73b9f6382646e
2017-05-05 18:05:52 -04:00
Botond Ballo 107be6aac9 Bug 1349750 - Have AsyncPanZoomController expose an IsScrollInfoLayer() method. r=kats
MozReview-Commit-ID: 5TEIcv9svk

--HG--
extra : rebase_source : edd32f6d2988c38df4cdf470fadf155136baed80
2017-05-05 18:02:05 -04:00
Botond Ballo 59c181ae2d Bug 1349750 - If APZ hit testing hits a scrollbar node, return the node for later use. r=kats
MozReview-Commit-ID: Lgz5N3nkPlb

--HG--
extra : rebase_source : edee38f3b9a7bbce6bae90a2a63bcd4bbcd6bef1
2017-05-05 18:08:18 -04:00
Carsten "Tomcat" Book e5197b271a Merge mozilla-central to autoland 2017-05-18 15:00:43 +02:00
Botond Ballo 9127b9d4f3 Bug 1349750 - Move the scroll track extents from AsyncDragMetrics to ScrollThumbData. r=kats
To conserve space in LayerAttributes, we only store the extents along the
relevant axis.

MozReview-Commit-ID: GAL8Oa2NOde

--HG--
extra : rebase_source : 9420d0fb36175e190cbff6e162fd41d8e5240c81
2017-05-05 15:54:27 -04:00
Botond Ballo bae009bd63 Bug 1349750 - Add an 'is async-draggable' flag to ScrollThumbData. r=kats
This flag is set to false if there are any conditions that only the main
thread knows about that prevent the thumb from being async-dragged.

MozReview-Commit-ID: Gl7f7bY0QnA

--HG--
extra : rebase_source : 60ab680a3995e3b5c0e1b4482ca0e7142352bbd2
2017-05-05 16:17:06 -04:00
Kartikaya Gupta 2664b66a6a Bug 1361356 - Properly unapply the stacking context transform and origin translation when building mask layers. r=ethlin
MozReview-Commit-ID: B5XzX6Tq4PZ
2017-05-05 11:44:49 -04:00
Kartikaya Gupta 54c0323dbf Bug 1361807 - Use the transformed bounds for WebRenderRefLayer, as it doesn't push a stacking context. r=nical
MozReview-Commit-ID: B2LlHENCMm8
2017-05-04 10:08:23 -04:00
Kartikaya Gupta eac87bc2bf Merge m-c to graphics
MozReview-Commit-ID: 9HO5vhW5fyh
2017-05-04 09:05:26 -04:00
Botond Ballo 3bc007b384 Bug 1349750 - Move the scroll thumb length from AsyncDragMetrics to ScrollThumbData. r=kats
MozReview-Commit-ID: Atp7Kgn6adM

--HG--
extra : rebase_source : f22d89f6b8397984e48657dda7f68826c3cc90f8
2017-05-03 20:37:14 -04:00
Botond Ballo 2029f1cf93 Bug 1349750 - Store the entire ScrollThumbData in HitTestingTreeNode. r=kats
This is preparation for future changes that will add fields to ScrollThumbData
that will be accessed via HitTestingTreeNode.

To accomplish this, this patch also exposes the entire ScrollThumbData via
LayerMetricsWrapper and WebRenderScrollDataWrapper.

MozReview-Commit-ID: 1Ed8Z80Wk1V

--HG--
extra : rebase_source : 86cce84eab0cd8bcd2998f1682137e9514bb1fb5
2017-05-03 20:25:09 -04:00
Botond Ballo 3981a3686a Bug 1349750 - Remove the no-longer-used WebRenderScrollData[Wrapper]::GetScrollThumbLength(). r=kats
Also remove a vestigial declaration of the previously removed method
HitTestingTreeNode::GetScrollThumbLength().

MozReview-Commit-ID: 3BvFNeGwPXd

--HG--
extra : rebase_source : 6cc6d2f2e3ecc4dedce2b83f6b0faf819f4be0f8
2017-05-03 20:23:42 -04:00
Botond Ballo 6c0eea50b3 Bug 1349750 - Group scroll thumb-related information in Layer into a ScrollThumbData structure. r=kats
The patch also renames Layer::SetScrollbarData() to Layer::SetScrollThumbData()
for clarity.

MozReview-Commit-ID: DVwJ3DMl3Zs

--HG--
extra : rebase_source : 7b2bfccf1351c82bb16296635e69d5488c87a50f
2017-05-10 14:02:15 -04:00
Kartikaya Gupta b6b23a1376 Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta 0d7cd03e4b Bug 1361357 - Try fixing clip on WRDILayer. r=ethlin
This should fix some wrong-looking code that computes the clip for
WebRenderDisplayItemLayer instances. As this code is not exercised very
much it's hard to know if this change is actually correct.

MozReview-Commit-ID: BSsBpBmzWgd
2017-05-03 08:51:23 -04:00
Kartikaya Gupta cadd5716a2 Bug 1360246 - Remove the ParentBounds and TransformedVisibleBoundsRelativeToParent functions. r=nical
These functions also have built-in assumptions about the stacking
context structure mapping to the layer tree structure which are not
necessarily valid. So we remove these functions and update code that
uses them.

MozReview-Commit-ID: UkXXAF59qv
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 48e0e2221d Bug 1360246 - Remove the RelativeToParent functions by propagating StackingContextHelper chains. r=nical
The only remaining callers of RelativeToParent() are in
StackingContextHelper itself, which we can remove now by having the SCH
take a parent SCH and use it instead of RelativeToParent(). This patch
implements this change.

This makes a failing test pass, because of how preserve-3d container
layers work. Specifically, preserve-3d container layers render their
descendants in z-order, not in tree order. If those children were assuming
that their parent had already pushed a stacking context, that assumption
may have been false because the parent might have not yet been rendered
because of z-ordering. By using the StackingContextHelper chain instead
of the layer tree ancestry, we fix the stacking-context-relative coordinates
being used in the descendant subtree of preserve-3d container layers.

MozReview-Commit-ID: HzZvBuAlMdB
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 989470c342 Bug 1360246 - Update code to use StackingContextHelper::ToRelativeWr* instead of RelativeToParent. r=nical
This updates more code that was using RelativeToParent() to use the
stacking context helper's ToRelativeWr* functions instead. This get us
closer to breaking the assumption that the WR stacking context order maps
1:1 to the layer tree structure.

MozReview-Commit-ID: HQrbvCgPOW4
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 0ec3e2d4dd Bug 1360246 - Propagate the StackingContextHelper to the rest of the displaylist-building code. r=nical
This propagates the StackingContextHelper to the rest of the code that
builds WR display items, because we will need it in future patches to
stop using RelativeToParent.

MozReview-Commit-ID: 3PlQrJRhH36
2017-05-03 08:48:08 -04:00
Kartikaya Gupta eb38bf66c1 Bug 1360246 - Clean up WebRenderRefLayer::RenderLayer. r=nical
This cleans up WebRenderRefLayer::RenderLayer to use typed coordinate
systems and the StackingContextHelper. Note that this patch contains a
functional change, because the clip rect pushed no longer includes the
transform on the ref layer itself. It's not clear to me why we were doing
that, and didn't seem correct.

MozReview-Commit-ID: K7FoeLnXc56
2017-05-03 08:48:07 -04:00
Kartikaya Gupta 55a7794c28 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 9c0fee2d43 Bug 1360246 - Propagate the StackingContextHelper through CreateWebRenderCommands. r=nical
This is needed for the next patch, because the bullet frame WR rendering
code will need a StackingContextHelper to pass to the PushGlyphs call.
It also helps with some of the later patches in this series, when we get
rid of the RelativeToParent calls.

MozReview-Commit-ID: Is0aciHhy2N
2017-05-03 08:48:07 -04:00
Kartikaya Gupta d5a099eb03 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 7259e787f4 Merge m-c to graphics
MozReview-Commit-ID: 9XwZUWIhGir
2017-05-02 09:45:11 -04:00
peter chang d7f8d0e8c4 Bug 1358437 - fix compiler error, r=me
MozReview-Commit-ID: H2VAWFiONAf
2017-05-02 10:56:52 +08:00
peter chang 8f5fde5b20 Bug 1358437 - pass layer's transform/opacity to compositor, r?kats
Need to pass the default transform/opacity to compositor if animations
exist because it is possible that gecko fails to get animated value
after animation sampling, like an animation with delay.

MozReview-Commit-ID: IK06hWvaSPf
2017-05-02 10:38:22 +08:00
peter chang fed042e433 Bug 1358437 - Setup correct opacity/transform in stacking context when there exists opacity/transform aniamtions. r?kats
Pass empty opacity(transform) in stacking context when there exists opacity(transform) animations and
the final opacity(transform) value will be resolved on the compositor after animation sampling

MozReview-Commit-ID: 6pF9Oe8Ks2I
2017-05-02 10:29:54 +08:00
peter chang e8e398dcd1 Bug 1358437 - pass layer's transform attributes for transform animation, r?kats
MozReview-Commit-ID: J7JHuwvWuet
2017-05-02 10:29:42 +08:00
peter chang c03a85af76 Bug 1357320 - Dispatches the discarded compositor animations id list in one async call, r?kats
MozReview-Commit-ID: 8cCNCzxMKpY
2017-05-02 10:26:13 +08:00
peter chang 320e68f0dd Bug 1357320 - Deal with the lifetime of compositor animations, r?kats
First, hook the Layer's ClearAnimation API to delete unnecessary
animations in next layer transaction. Second, add another async
DeleteCompositorAnimations API to delete animations on the compositor,
especially calling this API before WebRenderLayerManager got destroyed.

MozReview-Commit-ID: 4mbj5IgsXYa
2017-05-02 10:26:13 +08:00
Iris Hsiao 34b5af799e Merge mozilla-central to mozilla-inbound 2017-05-18 14:16:22 +08:00
Brian Birtles 5308137759 Bug 1363107 - Check if the startTime is set before using it in SampleAnimationForEachNode; r=hiro
We are seeing occasional failed release assertions from calling
animation.startTime().get_TimeDuration() in SampleAnimationForEachNode on
Windows.

My theory is that in some circumstances (perhaps graphic-driver related?) when
creating a layer transaction we fail to call Layer::StartPendingAnimations and
end up sending pending animations to the compositor. Prior to bug 1334583 that
would have only triggered a debug assertion so it may have gone unnoticed if it
depends on the system configuration.

This patch makes us check that the startTime is set before we try to access it
in order to avoid triggering a release-time assertion. If the startTime is not
set we will use the hold time which should give us the correct behavior for
a still-pending animation. (Furthermore, the holdTime is set unconditionally
when we create animations so it should be correct -- but even if it were not
set explicitly, its initial zero value would still likely produce a reasonable
result until the start time was updated on a subsequent layer transaction. At
very least, it should not crash. Likewise, if it was set to an incorrect value.)

This patch also strengthens the debug assertion in SampleAnimationForEachNode to
check that not only is start time not-null, but that it is set to a TimeDuration
since MaybeTimeDuration also includes a third uninitialized "None" state.
2017-05-18 14:06:36 +09:00
Botond Ballo eb687c3599 Bug 1364622 - Consider the async transforms on the scroll thumb when computing the drag start offset during APZ initiation of scrollbar dragging. r=kats
MozReview-Commit-ID: 8GA53FX7AEk

--HG--
extra : rebase_source : 1406cf44ee8354e732ba0d4e066c3a0de4ce4b77
2017-05-17 15:03:15 -04:00
Botond Ballo 600ec000fe Bug 1364622 - Consider async transforms on scroll thumb layers during hit testing. r=kats
MozReview-Commit-ID: 9avcNOKmmqF

--HG--
extra : rebase_source : 0f21e336171cc369ff9bb98caa484d5f64e87c5a
2017-05-15 20:18:48 -04:00
Botond Ballo b1bad294f4 Bug 1364622 - Add a helper function HitTestingTreeNode::IsAncestorOf(). r=kats
MozReview-Commit-ID: Et3dokACnMa

--HG--
extra : rebase_source : 821ce1451940e97d87db99683cee9b3328124c42
2017-05-15 20:18:05 -04:00
Botond Ballo cc0d93aebc Bug 1364622 - Make APZCTreeManager::GetTargetNode() const. r=kats
MozReview-Commit-ID: iroBJvekoX

--HG--
extra : rebase_source : c4f86883f3254617d6834b53f42050ee687d6b2e
2017-05-15 20:17:42 -04:00
Botond Ballo ae015859e7 Bug 1364622 - Add a utility function AsyncPanZoomController::CallWithLastContentPaintMetrics(). r=kats
MozReview-Commit-ID: Juh622Qoh2I

--HG--
extra : rebase_source : cb603b519a5db41cd74ebdf2a9245480e9549fac
2017-05-15 19:38:51 -04:00
Botond Ballo dbb6fb2a96 Bug 1364622 - Factor out a helper function for computing the current async transform for a HitTestingTreeNode. r=kats
MozReview-Commit-ID: 8ySehvzTMDl

--HG--
extra : rebase_source : 9da6da9c2a6580b7b028356d2a04265ebd18d9ec
2017-05-17 15:02:18 -04:00
Botond Ballo 9460cdd08b Bug 1364622 - Introduce a helper function for computing the async transform for a scroll thumb layer. r=kats
MozReview-Commit-ID: DFFcmBxzI84

--HG--
extra : rebase_source : 3fdd6a00215ba8bfc9a717d3ab0e7ba0e21d4700
2017-05-15 18:35:16 -04:00
Botond Ballo 66cb80d204 Bug 1365088 - Avoid calling HitTestingTreeNode::Untransform() twice for each node during hit testing. r=kats
The patch also adds another gtest that exercises hit testing, and fixes a
coordinate space bug in the gtest fixture.

MozReview-Commit-ID: 3QYTofkKSZj

--HG--
extra : rebase_source : 7108c4b57bdd3ada41dc57ab022825a1057b899d
2017-05-17 12:49:23 -04:00
Jeff Muizelaar 8c32ac0090 Bug 1360001. Add WebRenderPaintedLayerBlob for painting with BlobImages. r=kats
This is a bit of a rough implementation but it works
enough to start.
2017-05-01 21:58:52 -04:00
Wes Kocher 1b5ad2c128 Merge inbound to central, a=merge
MozReview-Commit-ID: DfRZi0gKjit
2017-05-10 16:48:03 -07:00
Wes Kocher f4f5d51edf Merge autoland to central, a=merge
MozReview-Commit-ID: 2gKDtRuJJyq
2017-05-10 15:25:51 -07:00
David Anderson 5632494742 Remove unnecessary MOZ_COUNT_CTOR/DTORs on reference counted compositor objects. (bug 1360963, r=mattwoodrow)
--HG--
extra : rebase_source : 82eab30ab0896cfbdcc7cbd64f9598d29a5e69b4
2017-05-10 10:58:20 -07:00
Wes Kocher 959de6c3e8 Backed out 9 changesets (bug 1340627) for graphical glitches a=backout
Backed out changeset 0b1371055c7f (bug 1340627)
Backed out changeset f152be1fadb7 (bug 1340627)
Backed out changeset c691e2ab6a0c (bug 1340627)
Backed out changeset 3cb4bceb8d79 (bug 1340627)
Backed out changeset 026aadd76d06 (bug 1340627)
Backed out changeset fdbd5d281287 (bug 1340627)
Backed out changeset 75fb0d9858a9 (bug 1340627)
Backed out changeset 0d4ec7d38a00 (bug 1340627)
Backed out changeset af6f19870b2a (bug 1340627)

MozReview-Commit-ID: 9dHr7xMZezY

--HG--
rename : gfx/skia/skia/src/core/SkBlitRow.h => gfx/skia/skia/include/core/SkBlitRow.h
rename : gfx/skia/skia/src/effects/SkGaussianEdgeShader.h => gfx/skia/skia/include/effects/SkGaussianEdgeShader.h
rename : gfx/skia/skia/src/xml/SkXMLParser.h => gfx/skia/skia/include/xml/SkXMLParser.h
rename : gfx/skia/skia/include/private/SkMessageBus.h => gfx/skia/skia/src/core/SkMessageBus.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexTessellator.h => gfx/skia/skia/src/gpu/batches/GrAAConvexTessellator.h
rename : gfx/skia/skia/src/gpu/ops/GrAAHairLinePathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAHairLinePathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAALinearizingConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrPathStencilSettings.h => gfx/skia/skia/src/gpu/batches/GrPathStencilSettings.h
rename : gfx/skia/skia/src/gpu/ops/GrStencilAndCoverPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrStencilAndCoverPathRenderer.h
rename : gfx/skia/skia/include/private/GrGLSL_impl.h => gfx/skia/skia/src/gpu/glsl/GrGLSL_impl.h
extra : source : 761b3f55f10f3df16601ce62e4d15b0c558c0cfb
2017-05-10 10:01:18 -07:00
David Anderson 70d5ae464a Remove LayerManagerComposite's geometry changed flag. (bug 1363249, r=mattwoodrow) 2017-05-10 10:49:31 -07:00
Andrew McCreight 9eb219a062 Bug 1361825 - Clear mAnimationStorage in CompositorBridgeParent::StopAndClearResources(). r=pchang
MozReview-Commit-ID: XJdckUwXCx

--HG--
extra : rebase_source : b3fc0843ae206cd50684d0887450d3644dd16a98
2017-05-08 11:48:23 -07:00
JW Wang 01417acb4d Bug 1365516 - Remove the call to AbstractThread::GetCurrent() in WebRenderImageLayer.cpp. r=sotaro
MozReview-Commit-ID: 5UMQuqEMZCu

--HG--
extra : rebase_source : 3572dc4ce88c5d7cfdcd96b57913fa5ef3cb04e9
extra : source : 16c28cad5889952df3c7ec02f292f0bf6861c3e8
2017-05-18 14:23:09 +08:00
Botond Ballo 1645a7ef86 Bug 1362889 - Ensure the MockContentController in APZ GTests doesn't outlive the test fixture. r=kats
MozReview-Commit-ID: AuSC5w1FXWG

--HG--
extra : rebase_source : 809bc22c63d6a3e16357eebf686b03442e189df5
2017-05-08 17:13:17 -04:00
Wes Kocher df3f95a52f Merge inbound to m-c a=merge
MozReview-Commit-ID: 4SpokMW1d3I
2017-05-02 17:35:06 -07:00
Brian Birtles 5267613207 Bug 1334583 - Pass a separate timeOrigin and startTime for compositor animations; r=hiro
By passing the startTime as a TimeDuration we are able to represent times in the
distant past (and with the same range as we can represent on the main thread so
that if we do encounter range errors in future, they should not differ between
the main thread and the compositor).

This patch includes a crashtest. I have verified that, without the code changes
included in this patch, this crashtest fails on debug builds on OSX.

MozReview-Commit-ID: EDuKLzfEC0K

--HG--
extra : rebase_source : 1883080fdfac8c33f70698145f21e67cbdfdd4f2
2017-05-02 16:49:51 +09:00
Brian Birtles ec43d6df6d Bug 1361260 - Incorporate playbackRate when calculating the start time of a pending compositor animation; r=hiro
MozReview-Commit-ID: FBmT5ImBcYJ

--HG--
extra : rebase_source : 76058d69b844adb0725b7522fcbdfd8541f2b71f
2017-05-02 16:43:21 +09:00
Brian Birtles d8df0f7aa8 Bug 1361234 - Fix start time calculation for pending animations on layers; r=hiro
In bug 1223658 we separated out the delay from the start time but we failed to
remove it from this calculation. As a result, when a pending animation begins it
will have the delay applied twice (once here, and once when it is sampled on the
compositor). This will happen until the layer is next updated.

This bug was not exposed by any existing tests since we don't use this code path
when the refresh driver is under test control. Furthermore, the one test that
was supposed to cover this was refactored in such a way that it stopped testing
this code path. That test is restored earlier in this patch series and enabled
in this patch.

MozReview-Commit-ID: B2KR7YaPsMK

--HG--
extra : rebase_source : 6c888252813fbfc01baf5d4bb1728d989ee1586c
2017-05-02 16:41:13 +09:00
Kartikaya Gupta 9fefc7a64a Merge m-c to graphics
MozReview-Commit-ID: 82en2F0AFQF
2017-04-30 19:10:35 -04:00
Ethan Lin 59b75a786f Bug 1360449 - Remove duplicate WrManager functions. r=kats 2017-05-01 00:59:26 +08:00
Randall Barker c9357cb3b0 Bug 1358774 - Prevent dynamic toolbar from changing state when transitioning from multiple touch sources to a single touch source r=botond
The MultiTouchInput::MULTITOUCH_END generated from transitioning from
multiple touch sources to a single source would often cause the content
to shift under the remaining finger which would look like a fling and
cause the content to rapidly scroll. This patch treats the transition from
multiple touch source to a single source as if the touch event were
starting over by resetting all the variables tracking the touch drag
that is in progress.

MozReview-Commit-ID: 42L1Q622fww
2017-04-28 15:15:12 -07:00
Randall Barker ac6992ec74 Bug 1360639 - Use the page background color when no dynamic toolbar snapshot is available r=kats
MozReview-Commit-ID: Hgjr3VjHFdp
2017-04-28 14:44:55 -07:00
Shing Lyu c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu 435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00
Iris Hsiao 5822a99946 Backed out changeset f7685ecd789d (bug 1350634) for marionette crashes 2017-04-28 10:43:34 +08:00
Markus Stange 2a35142b62 Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats 2017-04-21 14:02:15 +12:00
Phil Ringnalda 6b129efd40 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson d7a1f66c55 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-04-30 17:22:56 -07:00
Nicholas Nethercote 273ec65c56 Bug 1123754 (part 1) - Rename ProfilerMarkers.{h,cpp} as ProfilerMarkerPayload.{h,cpp}. r=mstange.
Because ProfilerMarkerPayload is the main type defined in these files, and
because the next patch is going to introduce ProfilerMarker.{h,cpp}, which
would be confusingly similar to the old names.

--HG--
rename : tools/profiler/core/ProfilerMarkers.cpp => tools/profiler/core/ProfilerMarkerPayload.cpp
rename : tools/profiler/public/ProfilerMarkers.h => tools/profiler/public/ProfilerMarkerPayload.h
extra : rebase_source : df22a2ab3867650348ae78fe959ff0366aff230b
2017-04-27 07:36:19 +10:00
David Anderson 413ea1b941 Pre-initialize DeviceAttachmentsD3D11 on the compositor thread, immediately after the GPU process initializes. (bug 1360766 part 3, r=bas) 2017-04-30 11:38:59 -07:00
David Anderson dab415165b Store DeviceAttachmentsD3D11 on DeviceManagerDx instead of ID3D11Device. (bug 1360766 part 2, r=bas) 2017-04-30 11:38:59 -07:00
David Anderson f4c403f3f3 Separate DeviceAttachmentsD3D11 into its own header and source file. (bug 1360766 part 1, r=bas) 2017-04-30 11:38:58 -07:00
David Anderson 689908c568 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.

--HG--
extra : rebase_source : 4b29b859aa5745fabe3db0fe68742328fc0af175
2017-04-26 10:32:57 -07:00
Wes Kocher 9528ad9a03 Merge m-c to inbound, a=merge
MozReview-Commit-ID: DaH1djmEY5A
2017-04-27 13:29:07 -07:00
Kartikaya Gupta c77714e7cd Merge m-c to graphics
MozReview-Commit-ID: EdvTPLc8PCy
2017-04-27 13:03:06 -04:00
sotaro 288058eab9 Bug 1359206 - Fix CompositionTime and CompositeUntil handling of WebRenderImageHost r=nical 2017-04-27 09:34:54 -07:00
Kartikaya Gupta 5f4b97cbac Bug 1359842 - Remove a bunch of now unused functions. r=nical
MozReview-Commit-ID: HeIXvHl41IZ
2017-04-27 12:04:26 -04:00
Kartikaya Gupta deed1141ee Bug 1359842 - Use the StackingContextHelper for WebRenderContainerLayer as well. r=nical
MozReview-Commit-ID: DXhhBB3qdzX
2017-04-27 12:04:25 -04:00
Kartikaya Gupta 73c3d5e0b2 Bug 1359842 - Remove if/else branch in WebRenderContainerLayer so it goes through a single PushStackingContext call. r=nical
This is functionally equivalent since one variant of the
PushStackingContext was already delegating to the other (in
DisplayListBuilder).

MozReview-Commit-ID: 8PfMm3bHeSZ
2017-04-27 12:04:25 -04:00
Kartikaya Gupta 1dd42d38a4 Bug 1359842 - Add a StackingContextHelper to reduce duplicated code. r=nical
This class is a RAII class that can be used to push a stacking context
with properties from a WebRenderLayer. It can also then be used to
convert rects in the layer coordinate system to be relative to the
stacking context, which is what we want for passing to WR.

MozReview-Commit-ID: 1WVrfRYqLqc
2017-04-27 12:04:25 -04:00
Kartikaya Gupta 93d9aa4545 Bug 1359842 - Rename ParentStackingContextBounds to ParentBounds. r=nical
MozReview-Commit-ID: HmvRnzvgRML
2017-04-27 12:04:13 -04:00
Kartikaya Gupta c7fe0b375f Bug 1359842 - Remove unused function. r=nical
MozReview-Commit-ID: GJxowTIOyCT
2017-04-27 12:04:13 -04:00
Kartikaya Gupta 61f60a73fb 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
Kartikaya Gupta a8407ac1c7 Bug 1359842 - Replace use of NSRectToRect in WebRender-related code with proper LayoutDevicePixel types. r=nical
MozReview-Commit-ID: 7MXFubPtLoD
2017-04-27 12:04:12 -04:00
Kartikaya Gupta c5b4851db4 Bug 1359842 - Convert some functions to deal in LayerRect instead of gfx::Rect. r=nical
MozReview-Commit-ID: LRXgYseBRzR
2017-04-27 12:04:12 -04:00
Kartikaya Gupta 0bb400298d Bug 1359842 - Do some cleanup of GetWrClipRect. r=nical
This extracts a strongly-typed ClipRect() function from GetWrClipRect.
GetWrClipRect is left as a weakly-typed wrapper for existing call sites,
and also does the necessary reference point conversions.

MozReview-Commit-ID: EuyzYIYLR6S
2017-04-27 12:04:12 -04:00
Kartikaya Gupta 72484c81d2 Bug 1359842 - Do some cleanup of GetWrRelBounds. r=nical
This moves the bulk of the meaningful work done by GetWrRelBounds into
strongly-typed helper functions. GetWrRelBounds is left as a wrapper so
call sites don't need to be updated yet. Note also that the
strongly-typed functions do not do any conversions from one reference
point from another (e.g. by calling the RelativeToXXX functions).

MozReview-Commit-ID: B3nPbOJOf9o
2017-04-27 12:04:12 -04:00
Kartikaya Gupta 6e24ccd51b Bug 1359748 - Extract a WebRenderLayer.{h,cpp} from WebRenderLayerManager.{h,cpp}. r=jrmuizel
Other than moving the code into new files, this just cleans up includes
in the modified and dependent files.

MozReview-Commit-ID: JpJ8rwOkfOO
2017-04-27 11:28:31 -04:00
Kartikaya Gupta 14eec8b500 Bug 1359748 - Remove commented-out code. r=jrmuizel
MozReview-Commit-ID: 2f67oNaa8Tk
2017-04-27 11:28:23 -04:00
Kartikaya Gupta e37b4e9289 Merge m-c to graphics
MozReview-Commit-ID: 6UBB4TW6an5
2017-04-27 09:31:17 -04:00
sotaro e00af8354a Bug 1358014 - Allocate PipelineId with IPC MozPromise r=nical 2017-04-26 19:18:06 -07:00
Kartikaya Gupta 86403106c8 Bug 1358156 - Update webrender to 1437cc124696ecc95b726dffa17f918bb6ea5af1. r=jrmuizel
In addition to updating the Cargo.toml/Cargo.lock files and generated FFI header,
this patch also:
- Updates a couple of field names in the IPC serialization code as a result
  of webrender cset 8ca10a8
- Removes z-index related goop, since it's no longer needed as of webrender
  cset c872232
2017-04-26 10:33:14 -04:00
Ethan Lin f8f646b320 Bug 1359314 - Apply mask layer transform when building webrender mask layer. r=mchang
--HG--
extra : rebase_source : a1fec5d8e03771e14d9b8e9a8a7d3846e8429ab2
2017-04-26 15:34:14 +08:00
Sotaro Ikeda ad333615eb Backout Bug 1358014 2017-04-25 12:13:32 -07:00
Sotaro Ikeda 2a9e1b455e Bug 1358014 - Add a capability to allocate PipelineId with IPC MozPromise r=nical 2017-04-25 10:39:56 -07:00
Kartikaya Gupta b21511b7c0 Merge m-c to graphics
MozReview-Commit-ID: GdyXEYZsVuX
2017-04-25 08:32:48 -04:00
Carsten "Tomcat" Book 9155c12847 merge autoland to mozilla-central a=merge 2017-04-25 11:23:43 +02:00
Kartikaya Gupta c896803771 Merge m-c to graphics
MozReview-Commit-ID: 3s6ISsQ3jG9
2017-04-24 09:17:28 -04:00
Lee Salzman ea130e2494 Bug 1357952 - update WebRenderAPI to allow index in add_raw_font. r=jrmuizel 2017-04-21 11:50:21 -04:00
Kartikaya Gupta fd7e4b5252 Bug 1345017 - Fix android build bustage due to missing include. r=bustage
MozReview-Commit-ID: 7l09VoFQlBH
2017-04-21 11:11:19 -04:00
Kartikaya Gupta 2e1380aecf Merge m-c to graphics
MozReview-Commit-ID: 5zsIClrx1FB
2017-04-21 10:01:47 -04:00
Alexis Beingessner ca65b90cd7 Bug 1357392 - Update IPC code for new fields in struct added in cb0bc28. r=kats
MozReview-Commit-ID: 4wc6wsvxcZQ
2017-04-21 09:59:01 -04:00
sotaro a87a0250c4 Bug 1346143 - Forget the widget pointer in WebRenderLayerManager::Destroy() r=nical 2017-04-21 18:31:52 +09:00
Kartikaya Gupta 89124fd8af Bug 1357754 - Trigger the APZ hit-testing tree rebuild. r=jrmuizel
This is the code that takes the incoming WebRender transaction and tells
APZ to rebuild the hit-testing tree from it.

MozReview-Commit-ID: DTuRmp5QZpg
2017-04-20 10:38:06 -04:00
Kartikaya Gupta 6118b38f49 Bug 1357754 - Record the isFirstPaint flag in the WebRenderScrollData. r=jrmuizel
MozReview-Commit-ID: KKiRBLRTfEj
2017-04-20 10:38:06 -04:00
Kartikaya Gupta 194523e5d1 Bug 1357754 - Hook up chaining layer trees. r=botond,jrmuizel
When APZ traverses a tree using LayerMetricsWrapper, the layer tree
already has its RefLayers connected because of the in-scope
AutoResolveRefLayers. When traversing using the
WebRenderScrollDataWrapper though, this is not the case, and we need to
explicitly jump from one layer tree to another during the walk.
Thankfully we don't require upwards traversal in the tree or this would
be much more complicated.

MozReview-Commit-ID: 8gbvUlzghLx
2017-04-20 10:38:06 -04:00
Kartikaya Gupta 7e8f4eeba8 Bug 1357754 - Add more data to the WebRenderScrollData object. r=botond,jrmuizel
This puts all the other things that APZ needs into the
WebRenderScrollData object. The main exception is the scroll clip - I'm
not totally sure how that will be handled yet, so for now we just return
no clip from WebRenderScrollDataWrapper.

MozReview-Commit-ID: 1IhGhSFiPYi
2017-04-20 10:38:05 -04:00
Kartikaya Gupta 1459e240f4 Bug 1357754 - Add ScrollDirection IPC serialization code. r=botond
In the next patch we'll need to send ScrollDirection over IPDL so we
need to add serialization code for it.

MozReview-Commit-ID: HK8ibuhhnkS
2017-04-20 10:38:05 -04:00
Kartikaya Gupta c8318bae76 Bug 1357754 - Implement the traversal functions of WebRenderScrollDataWrapper. r=botond
This mainly implements the GetLastChild and GetPreviousSibling functions
in the WebRenderScrollDataWrapper, and adds helper functions that are
needed to make that possible. This allows the WebRenderScrollDataWrapper
to simulate a full "LayerMetrics" tree using the information in the
underlying WebRenderScrollData object.

MozReview-Commit-ID: K82Ud2gAo8K
2017-04-20 10:38:05 -04:00
Kartikaya Gupta d7dac71f73 Bug 1357754 - Add WebRenderScrollDataWrapper. r=botond
This adds the WebRenderScrollDataWrapper class which is
template-compatible with LayerMetricsWrapper. While the
LayerMetricsWrapper operates on an underlying layer tree, the
WebRenderScrollDataWrapper will simulate a layer tree based on an
underlying WebRenderScrollData object. The class is stubbed out here,
functions will be implemented in subsequent patches.

MozReview-Commit-ID: 9exnFRI6tOW
2017-04-20 10:38:05 -04:00
Kartikaya Gupta f566883468 Bug 1357754 - Replace LayerMetricsWrapper::AsRefLayer with GetReferentId. r=botond
This further abstracts away the direct dependence on particular layer
types. This is needed in particular for the APZCTreeManager call site
since it will need to operate on non-layer-tree data which is hard if it
relies specifically on RefLayer.

MozReview-Commit-ID: zbK3oTNHJc
2017-04-20 10:38:05 -04:00
Kartikaya Gupta e1121dae1a Bug 1357754 - Extract a template function from UpdateHitTestingTree. r=botond
Currently the public UpdateHitTestingTree function takes a Layer* which
assumes there is a layer tree to traverse. However, with WebRender, that
is not the case. This patch has two conceptual changes.

The first change is to extract the innards of UpdateHitTestingTree to take
a LayerMetricsWrapper instead of a Layer* and traverse the layer tree
using that. This was already mostly happening but this makes the
Layer*/LayerMetricsWrapper boundary a little more explicit.

The second change is to make the extracted helper function templated, so
it accepts anything that is template-compatible with
LayerMetricsWrapper. I chose to use a template rather inheritance to
avoid the performance hit of virtual functions, since this code runs
relatively often.

This paves the way for adding a different kind of tree-traversal object
instead of the LayerMetricsWrapper while reusing the same logic to build
the hit-testing tree and APZC nodes.

MozReview-Commit-ID: 6SmnX6Bn2QV
2017-04-20 10:38:04 -04:00
Kartikaya Gupta 070cc4b9a7 Bug 1357754 - Add a mechanism to send scroll data to APZ over PWebRenderBridge. r=jrmuizel
This adds a WebRenderScrollData class (which contains a list of
WebRenderLayerScrollData objects, among other things), and adds it to
the DPEnd/DPSyncEnd messages sent across PWebRenderBridge. These classes are
skeletons for now (more stuff will be added to them in future patches).

MozReview-Commit-ID: 9duxwlUpdu7
2017-04-20 10:38:04 -04:00
Kartikaya Gupta 47ca6562cc Merge m-c to graphics
MozReview-Commit-ID: 3l2zmVoMgdl
2017-04-20 08:47:24 -04:00
Iris Hsiao 3b17383f8d Merge mozilla-central to autoland 2017-04-25 11:28:40 +08:00
Randall Barker f7f7890643 Bug 1358763 - Prevent Android Dynamic Toolbar v3 from trying to send IPC message after shutdown r=kats
MozReview-Commit-ID: LKVZNJy32ot
2017-04-24 13:22:33 -07:00
sotaro e39bdc681a Bug 1356944 - Fix external image id allocation of WebRenderTextureHost r=nical 2017-04-20 10:24:13 +09:00
Wes Kocher 4a05296446 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Cb0b59wJ0vy
2017-04-21 17:35:24 -07:00
Ben Kelly 89c15f7851 Bug 1358622 Fix unified build bustage in PUiCompositorController.ipdl. r=kats 2017-04-21 19:15:54 -04:00
Mason Chang 58121220e3 Bug 1337761 - Part 2: Don't send external images to the parent side if a transaction is incomplete. r=nical 2017-04-19 15:39:46 -07:00
Mason Chang ad19a1640c Bug 1337761 - Implement WebRenderLayerManager::EndEmptyTransaction. r=mattwoodrow 2017-04-19 15:39:44 -07:00
Randall Barker a398863b74 Bug 1358781 - Android Dynamic Toolbar v3 keep the controller toolbar height in sync with the compositor toolbar height while animating r=kats
Android Dynamic Toolbar v3 toolbar height between controller
and compostior threads would get out sync during animation. Added code
to insure they stay in sync while the compositor thread is updating the
toolbar height during an animation. Also, when the controller thread was
canceling an animation, the compositor thread was not checking that it
was still animating before unlocking the toolbar.

MozReview-Commit-ID: 1TSfaRD0lMj
2017-04-24 08:38:52 -07:00
Kartikaya Gupta 1be864c6ad Merge m-c to graphics
MozReview-Commit-ID: 8Oqr9Nbqsn0
2017-04-19 07:02:32 -04:00
Kartikaya Gupta e61c3ec040 Bug 1357541 - Use the full 64 bit value of the PipelineId when converting to a layers ID. r=nical
MozReview-Commit-ID: 98OOkEML6RF
2017-04-19 06:58:10 -04:00
sotaro d85c0f08e4 Bug 1357644 - Use wr::ExternalImageId instead of uint64_t for external image id r=nical 2017-04-19 18:59:53 +09:00
Sebastian Hengst 6e1c138a06 Backed out changeset 435e638babd1 (bug 1349418) for failing checkerboard-{1,2,3}.html on Android 4.3. r=backout a=backout
MozReview-Commit-ID: Au7FbypQNvf
2017-04-21 18:01:24 +02:00
Carsten "Tomcat" Book 44e9c21039 merge mozilla-inbound to mozilla-central a=merge 2017-04-19 10:32:48 +02:00
Randall Barker c82d528d56 Bug 1358805 - part 5: Update the dynamic toolbar animator to gracefully handle toolbar snapshot generation failure r=kats
MozReview-Commit-ID: B3t6l5ZqhC5
2017-04-25 15:14:00 -07:00
Randall Barker 7752cdc25d Bug 1358805 - part 2: Allow DynamicToolbarAnimator to query if the UiCompositorController is open in the case it missed the open message r=kats
MozReview-Commit-ID: 8wdMpQh44Zc
2017-04-25 15:13:58 -07:00
Randall Barker fc2f1cfb8d Bug 1358805 - part 1: Add new UiCompositorController message types TOOLBAR_SNAPSHOT_FAILED and IS_COMPOSITOR_CONTROLLER_OPEN r=kats
MozReview-Commit-ID: Ezd8Ng7Zsxm
2017-04-25 15:13:58 -07:00
sotaro cc9be9916a Bug 1355702 - Reduce WrImageKey allocation for ExternalImages on sync ImageContainer 2017-04-19 11:08:35 +09:00
sotaro 68286e79c7 Bug 1357338 - Deallocate external image id in WebRenderDisplayItemLayer r=nical 2017-04-19 09:28:43 +09:00
Jeff Muizelaar 16c9099e7d Bug 1357549. Remove unused includes. r=kats
There are left over from when we built display lists on the parent side.
2017-04-18 17:03:39 -04:00
Sebastian Hengst b17e2f1d52 merge mozilla-central to autoland. r=merge a=backout 2017-04-21 18:41:49 +02:00
Kartikaya Gupta 474874a3d1 Bug 1357065 - Update WebRenderDisplayItemLayer to use PushClip instead of PushScrollLayer because it's pushing a non-scrolling clip. r=jrmuizel
MozReview-Commit-ID: DdmCTsh9Jtq
2017-04-18 11:09:50 -04:00
Kartikaya Gupta e972cba381 Bug 1357065 - Add a PushClip/PopClip API to WebRenderAPI to more easily distinguish between scrolling clips and non-scrolling clips. r=jrmuizel
Note that in upstream WR the push_scroll_layer API has already been
renamed to push_clip_node, so conceptually the same API covers both
"scrolling clips" (aka scroll layers) and non-scrolling clips. So using
the same underlying API for two different WebRenderAPI.h functions makes
sense.

MozReview-Commit-ID: He7jBVqZuLn
2017-04-18 11:09:39 -04:00
peter chang 4cf27c49b8 Bug 1345017 - Disable OMTA with webrender by default, r=kats
MozReview-Commit-ID: 4cA8n8XYall
2017-04-17 22:22:47 +08:00
David Anderson b76228bd31 Cut down on compositor spam after a device reset. (bug 1363126 part 5, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson 42e57ec6d3 Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson 27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
peter chang 59102e0ad9 Bug 1345017 - Discard compositor animations on the next layer transaction, r=kats
Animations in content side could be removed easily by changing CSS, but the
CompositorAnimationStorage in parent side doesn't get updated. Therefore,
we store the layer's CompositorAnimationsId before layer is destroyed in
WebRenderLayerManager and then send out these discarded ids to parent on
the next layer transaction.

MozReview-Commit-ID: D4kbYsgLl4P
2017-04-14 11:58:42 +08:00
peter chang e238a80556 Bug 1345017 - Add animation sampling for WR, r=kats
MozReview-Commit-ID: AR2vajUf2o0
2017-04-12 16:40:48 +08:00
Jonathan Watt cb165b4a0a Bug 1359155, part 3 - Convert BasicPlanarYCbCrImage::CopyData to use Moz2D's StrideForFormatAndWidth. r=mstange
MozReview-Commit-ID: F8EyjjQ0sX9
2017-03-30 15:58:31 +01:00
peter chang 2fdfc8c722 Bug 1345017 - pass animation data from content to WebRenderBridgeParent, r=kats
MozReview-Commit-ID: 7p5ocyr1ywV
2017-03-28 17:11:03 +08:00
Kartikaya Gupta 9945c16d87 Merge m-c to graphics
MozReview-Commit-ID: 9Ne0XZtlRh5
2017-04-18 08:36:05 -04:00
Ethan Lin 0e0ea44db7 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
Kartikaya Gupta 4087e4ae28 Merge m-c to graphics
MozReview-Commit-ID: KwTegQDnKGG
2017-04-17 10:33:46 -04:00
sotaro 444f539c4b Bug 1356960 - Avoid to allocate WebRenderTextureHost for TextureHost of VideoBridgeParent and VRManagerParent r=jerry 2017-04-17 22:08:43 +09:00
Kartikaya Gupta 1e8738cabb Merge m-c to graphics
MozReview-Commit-ID: 7iqIrSl2VpU
2017-04-15 17:05:27 -04:00
Sebastian Hengst 8bd051237a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JpAhOPjgvkF
2017-04-15 19:59:24 +02:00