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

12139 Коммитов

Автор SHA1 Сообщение Дата
Csoregi Natalia 9fbc76ace6 Merge inbound to mozilla-central. a=merge 2018-10-25 07:45:08 +03:00
sotaro 2d27550851 Bug 1496825 - Add ShadowLayerForwarder nullptr check to SendLayersDependentApzcTargetConfirmation() r=kats 2018-10-25 11:23:29 +09:00
Botond Ballo 44c897a308 Bug 1500565 - Avoid start a fling animation with infinite velocity. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9729

--HG--
extra : moz-landing-system : lando
2018-10-25 00:53:32 +00:00
Botond Ballo 4d499b8dbf Bug 1499941 - Fix spatial vs. scroll coordinate confusion around APZCTreeManager::ProcessDynamicToolbarMovement() and helpers. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9715

--HG--
extra : moz-landing-system : lando
2018-10-25 00:14:58 +00:00
Ryan Hunt ec4e613070 Bug 1453425 - Add test for relative scroll offset updates. r=botond
--HG--
extra : rebase_source : 36029954120993f7deac460632526487f17f44b6
extra : histedit_source : 1015aebaece5dbd9d18db999c463c8860f5c4dfe
2018-10-23 09:50:52 -05:00
Botond Ballo 9405cbccaf Bug 1493742 - When accepting a layout viewport update from the main thread, constrain its position to enclose the visual viewport. r=kats
APZ wants the *size* of the layout viewport from the main thread, but it
knows the position better.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 18:14:55 +00:00
Kartikaya Gupta df09857871 Bug 1501046 - Skip reporting checkerboarding to telemetry if the sanity test is running. r=botond
This is not really the best fix (a better one would be to ensure that the
displayport is set on the root element of the gfx sanity window), but should
do as a stopgap solution.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 17:08:36 +00:00
Julian Descottes 73e3a16c0d Bug 1499096 - Use ok() with 2 arguments instead of 3 when possible;r=Standard8
Depends on D8740.
This changeset replaces calls to ok with 3 arguments to calls with 2 arguments
in situations where the switch does not have a significant impact on the assert.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 07:13:35 +00:00
Kartikaya Gupta 2c29b10d55 Bug 1469403 - Skip DL dumps when the DL builder is from an inactive docshell. r=mattwoodrow
Depends on D9141

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

--HG--
extra : moz-landing-system : lando
2018-10-22 23:42:05 +00:00
Emilio Cobos Álvarez ba7599486e Bug 1498221 - Don't apply layer scaling to fallback filters. r=mattwoodrow
Using layer scaling confuses the filter code (see bug 1497239).

Right now we're sort-of double-scaling. Looks like what the filter code expects
is just getting the scaling passed down, see bug 1224207.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 23:41:30 +00:00
Botond Ballo 9ae59445f8 Bug 1478304 - Add a mochitest. r=kats
Depends on D9327

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

--HG--
extra : moz-landing-system : lando
2018-10-20 01:03:47 +00:00
Botond Ballo cb048ace65 Bug 1478304 - Ensure Layer::GetFixedPositionScrollContainerId() returns NULL_SCROLL_ID for layers that are not fixed. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9327

--HG--
extra : moz-landing-system : lando
2018-10-20 01:02:50 +00:00
Jamie Nicol 9498be51e6 Bug 1479754 - Hook up the force-first-paint codepath with webrender r=kats
When a CompositorBridgeParent receives a force first paint message, it
sets the flag on the AsyncCompositionManager, which notifies the
widget code at the next composite via
UiCompositorControllerParent::NotifyFirstPaint().

With webrender, this is crashing as there is no
AsyncCompositionManager. And even if it weren't crashing, the widget
will never receive the first paint message, so it never uncovers its
content.

This change ensures the widget receives the first message when
webrender is enabled. CompositorBridgeParent will set the flag on its
WebRenderBridgeParent, which will set the flag on the next received
display list. When the WebRenderBridgeParent flushes the corresponding
transaction, it calls UiCompositorcontrollerParent::NotifyFirstPaint,
to ensure the widget code gets the message.

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

--HG--
extra : moz-landing-system : lando
2018-10-19 13:48:04 +00:00
Kartikaya Gupta a971a37e5f Bug 1485834 - Allow recomputing the cumulative resolution in ComputeScrollMetadata. r=botond
We need to correctly populate the cumulative resolution field in the
ScrollMetadata in order to support zooming. Without this, the cumulative
resolution doesn't include the presShell resolution, and that results in
APZ getting into an inconsistent state.

Currently, the cumulative resolution is populated from the
ContainerLayerParameters object's scale, but in the case of WebRender,
we call ComputeScrollMetadata with an empty ContainerLayerParameters
since don't actually do layer building or rasterization in Gecko.
This patch makes this more explicit by changing the argument to a
Maybe<ContainerLayerParameters> and passing Nothing() from the WebRender
call sites.

In this scenario, we just use the cumulative presShell resolution as
the cumulative resolution, which should be correct for WebRender as
we won't have an "extra" CSS-derived resolution applied on the Gecko
side.

Depends on D9120

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

--HG--
extra : moz-landing-system : lando
2018-10-19 14:24:50 +00:00
Kartikaya Gupta 33d89bae83 Bug 1485834 - Sample APZ zoom values for webrender. r=botond
Depends on D9119

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

--HG--
extra : moz-landing-system : lando
2018-10-19 14:24:32 +00:00
Brian Hackett 0ec2f258e7 Bug 1499186 Part 1 - Allow recording/replaying processes to ignore vsyncs, r=nical.
--HG--
extra : rebase_source : e36cb48b5a7ba3b4f2fc46fd68256b46801f0792
2018-10-17 10:18:50 -06:00
Brian Hackett e1cc56fa0f Bug 1488808 Part 17 - Allow paints to happen at the normal time when recording/replaying, r=nical.
--HG--
extra : rebase_source : c9a5536a9eeff96937643fdf7bf68e56e437cef1
2018-10-17 10:16:30 -06:00
Ryan Hunt 1601a8bb80 Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to
mark main thread scrolling that can be combined with a concurrent APZ scroll.

The behavior of this is controlled by a pref, apz.relative-update. This pref
is initially activated and is intended as an aid to narrowing down causes
of regressions for users in bug reports.

Relative scroll updates work by tracking the last sent or accepted APZ
scroll offset. This is sent along with every FrameMetrics. Additionally,
a flag is added to FrameMetrics, mIsRelative, indicating whether the
scroll offset can be combined with a potential APZ scroll. When this
flag is set, AsyncPanZoomController will apply the delta between the sent
base scroll offset, and sent new scroll offset.

This flag is controlled by the last scroll origin on nsGfxScrollFrame. The
new origin, `relative`, is marked as being able to clobber APZ updates,
but can only be set if all scrolls since the last repaint request or
layers transaction have been relative.

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

--HG--
extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4
extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163
2018-10-09 23:24:28 -05:00
Ryan Hunt accd024b8f Bug 1453425 - Add RepaintRequest for use of FrameMetrics in repaint requests. r=botond
FrameMetrics is currently used in about three ways.
  1. Main thread to APZ transactions
  2. Storing information in AsyncPanZoomController
  3. APZ to main thread repaint requests

There's overlap in the use of fields in all these use cases, but it's not perfect. In a
following commit, I'd like to change the information used for (1) to support relative
scroll offset updates. This information isn't needed for (2) or (3), so it would be
good to refactor FrameMetrics out into these use cases.

This commit refactors out (3) as it is fairly easy to do. I'd like to refactor (2) out
as well, but that is trickier. I'd like to leave that for a future followup.

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

--HG--
extra : rebase_source : f0be2be24fce7d0f0ed25f6f3bfab5f7f2864f23
extra : source : fc9898a9ab28cee292e201ddaf757ee267179433
extra : histedit_source : 35415d3dc2c0ae0f269994c385cceff75f150020
2018-09-19 13:50:20 -05:00
sotaro fe52320e8b Bug 1497910 - Call wr_renderer_readback() before calling RenderCompositor::EndFrame() r=nical 2018-10-17 07:54:01 +09:00
Kartikaya Gupta eb22224d62 Bug 1484173 - Replace the mNeedsComposite counter with a timestamp. r=sotaro
The mNeedsComposite counter was used to force a composite immediately if
the scheduler received a number of composite requests without actually
getting a vsync. It was necessary on Fennec because of main-thread
contention. However it was wrong because it assumes only a single
composite gets requested per vsync interval, which is not true. Instead
of using a counter this patch uses a timestamp to ensure that we only
force the vsync after two vsync intervals have elapsed.

Depends on D8765

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

--HG--
extra : moz-landing-system : lando
2018-10-16 05:36:14 +00:00
Kartikaya Gupta 51d0eb31fa Bug 1484173 - Expose the vsync interval via the CompositorVsyncSchedulerOwner interface. r=sotaro
We need this for the next patch.

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

--HG--
extra : moz-landing-system : lando
2018-10-16 00:33:51 +00:00
Botond Ballo bc30a8f71d Bug 1498329 - Use a fallback velocity if the velocity tracker doesn't have enough recent samples to compute a velocity. r=kats
Depends on D8786

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

--HG--
extra : moz-landing-system : lando
2018-10-15 23:31:53 +00:00
Botond Ballo e1f2ede5f8 Bug 1498329 - Fix a bug in AndroidVelocityTracker::ComputeVelocity() where we were unintentionally ignoring the oldest data point. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D8786

--HG--
extra : moz-landing-system : lando
2018-10-15 23:29:21 +00:00
Noemi Erli 014b37a409 Merge inbound to mozilla-central. a=merge 2018-10-16 01:20:08 +03:00
Kartikaya Gupta fe4f74eb20 Bug 1462980 - Use the more robust waitUntilApzStable instead of ad-hoc afterPaint waiting. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D8748

--HG--
extra : moz-landing-system : lando
2018-10-15 17:44:27 +00:00
Kartikaya Gupta dc68784e43 Bug 1479757 - Switch to containerless scrolling for GeckoView+WR. r=botond
This changes the containerful scrolling pref to be an override pref
such that it is:
- always false on desktop (i.e. always use containerless there)
- always true in Fennec (i.e. never use containerless there)
- true in GeckoView if WebRender is disabled (i.e. only use
  containerless with WebRender).

The first two cases are the same as before; the last case is new.
Because we don't create layers with WR, the containerless vs
containerful distinction doesn't make much sense there, and we need to
implement a bunch of zooming glue in either case. So it makes sense to
go with the "way of the future" and keep it containerless.

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

--HG--
extra : moz-landing-system : lando
2018-10-15 17:41:21 +00:00
Kartikaya Gupta 3d29d74088 Bug 1498699 - Only create the AndroidDynamicToolbarAnimator for Fennec. r=jnicol
The bulk of this is adjusting the code that tries to use the toolbar to
have appropriate null checks instead of asserting it will exist. The
creation of the animator instance is now guarded by a IsFennec
condition.

Depends on D8658

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

--HG--
extra : moz-landing-system : lando
2018-10-15 14:56:35 +00:00
Kartikaya Gupta ece2bc6665 Bug 1498699 - Move the FIRST_PAINT notification from AndroidDynamicToolbarAnimator to UiCompositorControllerParent. r=jnicol
Depends on D8657

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

--HG--
extra : moz-landing-system : lando
2018-10-15 13:20:27 +00:00
Kartikaya Gupta 7e23a5fb50 Bug 1498699 - Move the LAYERS_UPDATED notification from AndroidDynamicToolbarAnimator to UiCompositorControllerParent. r=jnicol
This extracts code that is conceptually unrelated to the dynamic toolbar
from the dynamic toolbar codebase. It is a stepping stone to being able
to not instantiate the AndroidDynamicToolbarAnimator at all for
non-Fennec android products.

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

--HG--
extra : moz-landing-system : lando
2018-10-15 13:19:16 +00:00
Nicolas Silva cd2c34aaa5 Bug 1479912 - Clear WebRender resources asynchronously. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D7280

--HG--
extra : moz-landing-system : lando
2018-10-12 06:47:29 +00:00
Botond Ballo 7944b45377 Bug 1495055 - Adjust the composited layout viewport in AdjustScrollForSurfaceShift(). r=kats
Depends on D7368

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

--HG--
extra : moz-landing-system : lando
2018-10-11 05:58:13 +00:00
Botond Ballo 8c049d6070 Bug 1495055 - Accept layout viewport updates from the main thread right away on Android. r=kats
Usually APZ waits at least one transaction from the time the composition
bounds (visual viewport) is updated, before updating the (layout) viewport,
but this causes problems due to the visual and layout viewport being out of
sync during orientation changes and dynamic toolbar transitions on Android.

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

--HG--
extra : moz-landing-system : lando
2018-10-11 12:04:10 +00:00
Jean-Yves Avenard 103efd79bc Bug 1497294 - P7. Add P016 and P010 surface format support. r=jgilbert
This is only used with DXVA decoder. P016 and P010 are just like NV12 but with 16 bits data..

Depends on D8246

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

--HG--
extra : moz-landing-system : lando
2018-10-10 22:21:53 +00:00
Jean-Yves Avenard a08b6fd281 Bug 1497294 - P6. Fix NV12 playback on legacy D3D11 compositor. r=mattwoodrow
Depends on D8203

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

--HG--
extra : moz-landing-system : lando
2018-10-11 01:44:44 +00:00
Jean-Yves Avenard 81bc2808aa Bug 1497294 - P3. Fix typo in AL D3D11 compositor r=mattwoodrow
Wasn't having any impact whatsoever as hr would have been E_FAILED.

Depends on D8073

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

--HG--
extra : moz-landing-system : lando
2018-10-09 23:31:23 +00:00
Edgar Chen e2da583a05 Bug 1497554 - Split new test into test_group_touchevents-4.html; r=kats
Differential Revision: https://phabricator.services.mozilla.com/D8288

--HG--
extra : moz-landing-system : lando
2018-10-10 20:34:44 +00:00
Ryan VanderMeulen 44c10c107a Merge m-c to autoland. a=merge 2018-10-10 12:32:05 -04:00
Emilio Cobos Álvarez c1e1ca5fbd Bug 1497239 - Properly apply inherited scale to filters. r=jrmuizel
I'll file a followup bug to deal with the fallback transition going wrong.

I don't know why it'd be fine to not apply the scale to SVG wrappers, but on my
quick testing I didn't manage to break it, so I'll spend a bit more time trying
to do that...

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

--HG--
extra : moz-landing-system : lando
2018-10-10 14:49:15 +00:00
Daniel Varga 2ad5744e7f Merge mozilla-central to mozilla-inbound. a=merge 2018-10-10 13:56:40 +03:00
Jeff Muizelaar d0ab08d503 Bug 1493616. Make sure we invalidate the entire area of the item r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D8125

--HG--
extra : moz-landing-system : lando
2018-10-10 01:16:39 +00:00
Emilio Cobos Álvarez ddbbaf6156 Bug 1497059 - Bail out on empty dtRect. r=mstange
I thought it was going to be trivial to add a test-case for this with a scale
transform and such, but I haven't been able to.

This restores the wallpaper that there was before my change.

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

--HG--
extra : moz-landing-system : lando
2018-10-09 23:09:39 +00:00
Gurzau Raul b85cacc85f Merge inbound to mozilla-central. a=merge 2018-10-10 00:59:57 +03:00
Andrew Osmond 75ee4d6a42 Bug 1496726 - Fix how some display item containers were missing from the clip optimization exclusion list. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D7966
2018-10-09 13:09:08 -04:00
Edgar Chen 4026ebce41 Bug 1473108 - Part 2: Make PresShell not point to unbound NAC in event content stack; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8042

--HG--
extra : moz-landing-system : lando
2018-10-09 12:16:15 +00:00
Jean-Yves Avenard 34eeec152b Bug 1495025 - P5. Add Windows P010 and P016 support for software decoder r=cpearce
As we do not have an IMF nor D3D11 NV12 image, we always require a full copy of the data that will deinterleave the chroma channels.

Depends on D7316

Differential Revision: https://phabricator.services.mozilla.com/D7318
2018-10-08 15:52:01 +02:00
Jean-Yves Avenard e0e52e125f Bug 1495025 - P3. Store original IMFMediaType's subtype in D3D11SharedHandleImage. r=cpearce
This allows more easily the creation of the MFT required to convert to a RGBA32 image when doing a readback.

Depends on D7295

Differential Revision: https://phabricator.services.mozilla.com/D7296
2018-10-08 15:52:00 +02:00
Jean-Yves Avenard c8d172b91e Bug 1495025 - P1. Search for alternative pixel format when stream change. r=cpearce
When decoding a vp9 profile 2 (10 bits), the MF_E_TRANSFORM_STREAM_CHANGE message is returned. We need to look for alternative format type other than NV12: 10/16 bits.

When using those formats, we can no longer assume that the D3D11ShareHandleImage can use NV12. So we will convert to RGBA32 on the fly via a MFT.

Differential Revision: https://phabricator.services.mozilla.com/D7294
2018-10-08 15:51:59 +02:00
Jeff Muizelaar 8f95a3627c Bug 1493616. blob-inval: Log the some more data about the broken situation. 2018-10-07 13:15:01 -04:00
Narcis Beleuzu 18849ef0ae Backed out 6 changesets (bug 1495025) for webgl2 failures on test_2_conformance2__textures__misc__npot-video-sizing.html
Backed out changeset 24d67618f6b9 (bug 1495025)
Backed out changeset 68efa7588ba8 (bug 1495025)
Backed out changeset 9f59a50dcc6d (bug 1495025)
Backed out changeset 7fd1f6103294 (bug 1495025)
Backed out changeset f1afe7e2a9e3 (bug 1495025)
Backed out changeset c62823871aca (bug 1495025)
2018-10-07 02:03:46 +03:00