Commit Graph

1835 Commits

Author SHA1 Message Date
Botond Ballo
0ac724fa85 Bug 1459312 - Scroll layers that are fixed w.r.t. the RCD-RSF by the relative visual transform. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D17726

--HG--
extra : moz-landing-system : lando
2019-02-02 23:53:54 +00:00
Botond Ballo
6eceedb77d Bug 1459312 - Factor out a helper function from AlignFixedAndStickyLayers. r=kats
This helper will be reused for translating layers fixed to the RCD-RSF
with containerless scrolling.

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

--HG--
extra : moz-landing-system : lando
2019-02-02 23:53:31 +00:00
Botond Ballo
28e8903b9e Bug 1459312 - Have AlignFixedAndStickyLayers take the ClipPartsCache by reference rather than pointer. r=kats
This reflects the fact that it's no longer optional (the code path that
wouldn't pass one was removed with JPZC).

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

--HG--
extra : moz-landing-system : lando
2019-02-02 23:53:27 +00:00
Botond Ballo
7a0f6a05ca Bug 1459312 - Remove an outdated comment in TransformShadowTree(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D17720

--HG--
extra : moz-landing-system : lando
2019-02-02 23:53:23 +00:00
Botond Ballo
6afc24b5fc Bug 1459312 - AsyncCompositionManager changes to apply the async zoom to the async zoom container layer if appropriate. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D13348

--HG--
extra : moz-landing-system : lando
2019-02-02 23:53:15 +00:00
Cosmin Sabou
7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Greg Tatum
7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Emily Toop
35b2b208c9 Bug 1509271 - Ensure that UpdateRootFrameMetrics is called even if the GeckoView embedding app is not using the AndroidDynamicToolbarAnimator. r=kats
When selected text in `geckoview_example`, the text selection toolbar was always positioned in the top left corner of the screen, regardless of where in the page the text was selected.

The cause of the bug was that UpdateRootFrameMetrics was being called only if the app utilised the `AndroidDynamicToolbar`. This caused the `mViewportZoom` value inside `GeckoSession` to always be 0. When using the `clientToFrameMatrix` function to place the text selection toolbar on screen, the generated matrix was incorrect as the zoom value was 0, causing the resulting frame to be offset by the zoom value.

By ensuring that `UpdateRootFrameMetrics` is called inside `AsyncCompositionManager`even when there is no `AndroidDynamicToolbarAnimator` this zoom value is correctly set and the resulting frame for the text selection toolbar is correctly placed.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 18:04:16 +00:00
Bas Schouten
a932b54860 Bug 1501442 - Part 3: Add profiler markers for payload presentarion. r=mstange
--HG--
extra : rebase_source : 7b3eeb59ab8823c5ebb674b933d95d1501f86210
2019-01-07 17:40:58 +01:00
Bas Schouten
93c70bd2f6 Bug 1501442 - Part 1: Add CompositionPayload type and allow submitting it as part of a transaction. r=mstange
--HG--
extra : rebase_source : 20a6ac6929bc99b8ddbf5500e7edbaa514c7ebe2
2018-12-13 15:59:22 +01:00
Michael Froman
c0a8a08f40 Bug 1500454 - remove PVideoDecoder, etc from dom namespace. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D15156

--HG--
extra : moz-landing-system : lando
2018-12-21 22:34:57 +00:00
Alex Gaynor
55e3f21b2b Bug 1515437 - mark several IPC methods as final; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15011

--HG--
extra : moz-landing-system : lando
2018-12-19 21:46:49 +00:00
Botond Ballo
219f191a40 Bug 1430787 - Handle position:sticky inside a transform in AsyncCompositionManager. r=kats
Also enable tests that were previously disabled due to this.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 05:13:45 +00:00
Botond Ballo
4e2bbb39df Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH
Differential Revision: https://phabricator.services.mozilla.com/D13928

--HG--
extra : moz-landing-system : lando
2018-12-10 19:32:59 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ehsan Akhgari
ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Hiroyuki Ikezoe
22056382c0 Bug 1504065 - Run background-color animations on the compositor. r=birtles
Changes for nsIDOMWindowUtils.getOMTAValue is in the next commit with come test
cases.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 00:58:46 +00:00
Andreea Pavel
f97b59258b Backed out 2 changesets (bug 1504065) for failing Win reftest at child-in-animating-element-display-none.html on a CLOSED TREE
Backed out changeset 129188370231 (bug 1504065)
Backed out changeset 359e81b35cfb (bug 1504065)
2018-11-27 15:33:29 +02:00
Hiroyuki Ikezoe
212fa4884a Bug 1504065 - Run background-color animations on the compositor. r=birtles
Changes for nsIDOMWindowUtils.getOMTAValue is in the next commit with come test
cases.

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

--HG--
extra : moz-landing-system : lando
2018-11-27 09:26:51 +00:00
Gerald Squelart
1bd6a1fd4e Bug 1435091 - p4. Use profiler_thread_is_being_profiled() instead of profiler_is_active() around profiler_add_marker()s - r=mstange
(Unless there were other profiler actions, as I'm not sure yet whether it would
be safe to skip them when the profiler is paused; another bug should
investigate that.)

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

--HG--
extra : moz-landing-system : lando
2018-11-19 06:29:15 +00:00
Jeff Muizelaar
3654ccade6 Bug 1507686 - Record LayerManager URL for each paint so that we can correlate it with slow paints. r=mattwoodrow
MozReview-Commit-ID: 2RUWkboAOJz

--HG--
extra : rebase_source : 397fd432b4e9cba37a1ebca9dcc5a949f290c9d0
2018-11-19 20:55:28 +13:00
Ryan Hunt
2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05: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
Jean-Yves Avenard
a4846efef7 Bug 1493198 - P4. Add support for 10/12 bits YUV image to WebRender (bindings) r=mattwoodrow
Depends on D6663

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

--HG--
extra : moz-landing-system : lando
2018-09-26 14:58:25 +00:00
Doug Thayer
3058162f1a Bug 1483533 - Undo deferment of glDeleteTextures r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D6463

--HG--
extra : moz-landing-system : lando
2018-09-25 13:38:42 +00:00
Jean-Yves Avenard
b10364a15f Bug 1493198 - P2. Use enum for describing color depth. r=mattwoodrow
Depends on D6662

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

--HG--
extra : moz-landing-system : lando
2018-09-25 20:44:55 +00:00
Ciure Andrei
bd4f30e2a0 Backed out 4 changesets (bug 1418816) for reftest perma failure bugs/289480.html a=backout
Backed out changeset d722f5a4a8af (bug 1418816)
Backed out changeset 75d9a625be06 (bug 1418816)
Backed out changeset 807f0f510c25 (bug 1418816)
Backed out changeset 3c4cec04f28d (bug 1418816)
2018-09-19 22:33:24 +03:00
Jamie Nicol
b1d6426ad5 Bug 1418816 - Part 2: Handle repeated image layers in ImageLayerComposite. r=mattwoodrow
Depends on D6024

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

--HG--
extra : moz-landing-system : lando
2018-09-19 12:14:10 +00:00
Doug Thayer
be5fea716c Bug 1483533 - Delay texture delete for DirectMapTextureSource r=jrmuizel
I wish I understood a little better what precisely is going on
here. What seems to be the problem is calling glDeleteTextures
too early, but I can't pin down exactly when "too early" is.
In any case I can no longer reproduce the issue with this patch
applied, and I cannot observe any performance degradation, and
it's not a remarkably risky patch, so I'm opting to cut the
investigation short. Any insights would be appreciated though.

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

--HG--
extra : moz-landing-system : lando
2018-09-18 19:08:13 +00:00
Ciure Andrei
3e6299cfc7 Backed out changeset 59759503b889 (bug 1483533) for test failures RefPtr CLOSED TREE 2018-09-18 08:54:29 +03:00
Doug Thayer
8d7a1df18a Bug 1483533 - Delay texture delete for DirectMapTextureSource r=jrmuizel
I wish I understood a little better what precisely is going on
here. What seems to be the problem is calling glDeleteTextures
too early, but I can't pin down exactly when "too early" is.
In any case I can no longer reproduce the issue with this patch
applied, and I cannot observe any performance degradation, and
it's not a remarkably risky patch, so I'm opting to cut the
investigation short. Any insights would be appreciated though.

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

--HG--
extra : moz-landing-system : lando
2018-09-18 04:33:05 +00:00
Alex Gaynor
eeeb350e22 Bug 1490415 - prevent creating a GPUVideoTextureHost with a null wrapped texture; r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D5563

--HG--
extra : moz-landing-system : lando
2018-09-12 00:17:10 +00:00
Botond Ballo
226a67047c Bug 1489630 - Mark AutoApplyAsyncTestAttributes as MOZ_RAII. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D5306

--HG--
extra : moz-landing-system : lando
2018-09-07 20:12:35 +00:00
Bas Schouten
d9c0061198 Bug 1486875: Make it possible to skip composition or painting using environment variables. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D4526

--HG--
extra : moz-landing-system : lando
2018-09-04 00:18:11 +00:00
Miko Mynttinen
1548622d86 Bug 1472733 - Improve IntRect overflow handling when calculating layer invalidation area and visible region r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4627

--HG--
extra : moz-landing-system : lando
2018-08-30 00:59:28 +00:00
Gabriele Svelto
6bddc0a55e Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

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

--HG--
extra : moz-landing-system : lando
2018-08-29 20:54:56 +00:00
Jean-Yves Avenard
70040ff272 Bug 1245400 - P3. Report number of frames dropped by compositor back to VideoSink. r=nical
We report the number of frames dropped by the compositor because they were too late through:
ImageComposite -> ImageHost -> CompositableTransactionParent -> ImageBridgeParent -> IPDL -> ImageBridgeChild -> ImageContainerListener -> ImageContainer -> VideoSink

Differential Revision: https://phabricator.services.mozilla.com/D2177
2018-08-22 17:26:36 +02:00
Jean-Yves Avenard
a0a2549c82 Bug 1245400 - P2. Keep track of frames that should have been painted but didn't. r=nical, r=mattwoodrow
We can't rely on the FrameID continuity to determine if a frame has been dropped due to timing or not.
The reason being that the VideoSink will not send to the compositor frames it knows as being late already (causing a discontinuity in the frames IDs), and count them as being dropped.
If we were to look at discontinuity on the compositor we would account for those frames twice.

FramesID will also increase non-linearly if a frame isn't painted because it's not visible (either out of the visible tree or in a hidden tab).

What we can measure however, is when a frame should have been painted but didn't because it was too late by looking at the value returned by ImageComposite::ChooseImageIndex() or when a new set of images is being received by the ImageComposite.
Any images found in the earlier array but never returned must have been dropped due to timing.

Looking at the index continuity greatly simplify the logic as we no longer need to worry if a video is hidden or not, or be part of a layer that is itself hidden as neither SetImages will be called then, nor ChooseImage

For now, we only account for those frames dropped, and do not report them yet.

Differential Revision: https://phabricator.services.mozilla.com/D2176
2018-08-22 17:26:36 +02:00
Jean-Yves Avenard
f7be15f4f4 Bug 1245400 - P1. Make ImageComposite::mImages a private member. r=nical
We will use the characteristic of which TimedImage is returned to keep track on how many frames were dropped because they were too old. As such, we must make sure the retrieval of the current image is serialised.

This allows to reduce duplicated code between WebRenderImageHost and ImageHost classes.

Additionally, make RenderInfo::img member const as really, we never want to modify that one.

A future change will enforce that RenderInfo.img never survives longer than the ChooseImage()'s caller to clarify the lifetime of the TimedImage.

Differential Revision: https://phabricator.services.mozilla.com/D2175
2018-08-22 17:26:36 +02:00
Nicolas Silva
808163871b Bug 1483459 - Avoid copying regions before converting them to rects throughout the gfx directory. r=sotaro
This patch was generated using a simple sed script:
sed -i 's/ToUnknownRegion().GetBounds()/GetBounds().ToUnknownRect()/g' gfx/**/*.cpp gfx/**/*.h

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

--HG--
extra : rebase_source : 4e9e7c9f2fb4ca60122712dd06632147cdec7195
2018-08-21 14:58:47 +02:00
Kashav Madan
36384db656 Bug 1465616 - Use layout viewport transformations to async-adjust fixed position elements. r=botond
This results in fixed position elements being attached to the layout viewport
when being async-scrolled by APZ (when the layout viewport is larger than the
visual viewport).

MozReview-Commit-ID: 2YYIDnTWgVn

--HG--
extra : rebase_source : 58b77b2e9c8ed35bdc2d24dd8ca9494e8d23a391
2018-07-20 17:45:48 -04:00
Kashav Madan
2a9fbaf66d Bug 1465616 - Temporarily apply async test attributes when compositing. r=botond,kats
Includes a new RAII class: AutoApplyAsyncTestAttributes, which, for the
duration of its lifetime, applies mTestAsyncScrollOffset and mTestAsyncZoom to
the APZC's FrameMetrics. We need this to ensure that the
AsyncPanZoomController::GetCurrentAsync* methods consider test scroll and zoom
attributes when doing their respective computations.

MozReview-Commit-ID: 9owJcdIegNH

--HG--
extra : rebase_source : 35273faf10b8db13e3b5485278262f93d4adc579
2018-07-20 17:37:36 -04:00
Andi-Bogdan Postelnicu
b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Hiroyuki Ikezoe
0020eaf1a1 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
Coroiu Cristina
7634333ced Backed out 4 changesets (bug 1479234) for build bustage at build/src/gfx/vr/ipc/VRLayerChild.cpp on a CLOSED TREE
Backed out changeset 6ecc1666f571 (bug 1479234)
Backed out changeset c3bab1bc97cf (bug 1479234)
Backed out changeset c8c2625a33ba (bug 1479234)
Backed out changeset 2ffc8e9d5686 (bug 1479234)
2018-07-31 00:32:04 +03:00
Hiroyuki Ikezoe
272dc9b637 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
sotaro
2bcc8b96f5 Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00