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

224 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 1aaa268725 Bug 1588743 - Remove old scroll-snap implementation, and scroll snapping prefs. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D49267

--HG--
extra : moz-landing-system : lando
2019-10-15 12:40:14 +00:00
Coroiu Cristina 291d475197 Backed out changeset 1a951477dca5 (bug 1588743) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js on a CLOSED TREE 2019-10-15 15:35:50 +03:00
Emilio Cobos Álvarez 8325c4b9a3 Bug 1588743 - Remove old scroll-snap implementation, and scroll snapping prefs. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D49267

--HG--
extra : moz-landing-system : lando
2019-10-15 11:39:30 +00:00
Botond Ballo 3a1c85bca4 Bug 1577859 - Remove the layout.scroll.root-frame-containers pref and code that depends directly on it. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45198

--HG--
extra : moz-landing-system : lando
2019-09-15 17:01:22 +00:00
Sylvestre Ledru 645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Nicholas Nethercote d8d32dfe97 Bug 1563139 - Update comments mentioning StaticPrefs.h. r=glandium
StaticPrefs.h will be removed two commits from now, so update these comments.

The patch removes the comment above SetUsesContainerScrolling() because it's
wrong -- it did use static prefs when introduced by bug 1181832 but then
stopped using static prefs in bug 1470504 -- and makes it inlinable.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 04:08:23 +00:00
Alexis Beingessner bb09834391 Bug 1547351 - Automatically set content process render root r=kats
This implements the idea of automatically setting a content proc's
render root based on the render root enclosing the iframe that
points to it. There was a bit of cleanup in here that was a bit
tricky to extract from the core patch revolving around how we
use the Api(...) helper. This was to avoid the situation where
we use the Api(...) helper before our render root is initialized,
when we don't actually have to. I.e., when we just want the root
WebRenderAPI in all cases.

An alternative to this approach could be to fully built out the
WebRender transactions and just queue those up to be sent. However,
transaction building has various side effects which are committed
before the transaction is actually sent, so we would have to build
out some scheme for deferring those as well. This seemed simpler.

Patch primarily written by :dthayer

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

--HG--
extra : moz-landing-system : lando
2019-07-24 14:10:56 +00:00
Andreea Pavel 6665820f48 Backed out 3 changesets (bug 1547351) for assertion failures on a CLOSED TREE
Backed out changeset 77ef8e8bc669 (bug 1547351)
Backed out changeset b594f8e47025 (bug 1547351)
Backed out changeset 6e5d426cd313 (bug 1547351)
2019-07-15 17:47:40 +03:00
Alexis Beingessner 81f39dd2b0 Bug 1547351 - Automatically set content process render root r=kats
This implements the idea of automatically setting a content proc's
render root based on the render root enclosing the iframe that
points to it. There was a bit of cleanup in here that was a bit
tricky to extract from the core patch revolving around how we
use the Api(...) helper. This was to avoid the situation where
we use the Api(...) helper before our render root is initialized,
when we don't actually have to. I.e., when we just want the root
WebRenderAPI in all cases.

An alternative to this approach could be to fully built out the
WebRender transactions and just queue those up to be sent. However,
transaction building has various side effects which are committed
before the transaction is actually sent, so we would have to build
out some scheme for deferring those as well. This seemed simpler.

Patch primarily written by :dthayer

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

--HG--
extra : moz-landing-system : lando
2019-07-15 13:18:44 +00:00
Emilio Cobos Álvarez b1ca51fe1e Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

Differential Revision: https://phabricator.services.mozilla.com/D36120
2019-06-28 12:44:44 +02:00
Cosmin Sabou 2fa2a56685 Backed out 3 changesets (bug 1561738) for causing build bustages on nsGridContainerFrame.cpp CLOSED TREE
Backed out changeset 98f100abc2ba (bug 1561738)
Backed out changeset 9ed20d0fb9ba (bug 1561738)
Backed out changeset 483b1e134ace (bug 1561738)
2019-06-28 13:27:09 +03:00
Emilio Cobos Álvarez e023916761 Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

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

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:26 +00:00
Jean-Yves Avenard 022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Hiroyuki Ikezoe d3e6eadc70 Bug 1546219 - Rename mScrollSnapType{X,Y} to mScrollSnapStrictness{X,Y}. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D31746

--HG--
extra : moz-landing-system : lando
2019-05-22 17:43:34 +00:00
Hiroyuki Ikezoe f2920c13d8 Bug 1551806 - Don't try to snap if there is no valid snap positions for the scroll-snap v1 implementation. r=botond
From the spec [1];
  If a valid snap position exists then the scroll container must snap at the
  termination of a scroll (if none exist then no snapping occurs).


Both of test cases in this commit fail without this change.

[1] https://drafts.csswg.org/css-scroll-snap-1/#valdef-scroll-snap-type-mandatory

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

--HG--
extra : moz-landing-system : lando
2019-05-17 20:50:24 +00:00
Hiroyuki Ikezoe c29cf5f2aa Bug 1546038 - Include scroll-margin areas into snap area. r=botond
This patch also renames `targetRect` to `snapArea` to represent it more
accurately.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 03:58:57 +00:00
Hiroyuki Ikezoe 7356d7a696 Bug 1544198 - Use the proper frame to get scroll-snap-type value on the root element. r=botond
Now scroll-snap-type property on body element doesn't affect scroll position
so that scrollTo-scrollBy-snaps.html is needed to be modified to specify
scroll-snap-type on html.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 01:16:02 +00:00
Hiroyuki Ikezoe d239072cac Bug 1373832 - Deflate the snapport by scroll-padding and adjust the snap positions by the padding value. r=botond
https://drafts.csswg.org/css-scroll-snap-1/#scroll-padding

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

--HG--
extra : moz-landing-system : lando
2019-04-11 06:21:48 +00:00
Hiroyuki Ikezoe fdc43c56d5 Bug 1373835 - Make positions in the range that the element covers the snapport valid snap positions. r=botond
https://drafts.csswg.org/css-scroll-snap-1/#snap-overflow

Depends on D21631

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

--HG--
extra : moz-landing-system : lando
2019-04-11 06:21:11 +00:00
Hiroyuki Ikezoe 9497022bc3 Bug 1373835 - Implement scroll-snap-align. r=botond,jfkthame
https://drafts.csswg.org/css-scroll-snap-1/#scroll-snap-align

The main logic here is basically same as the old scroll snap implementation,
just iterating over all descendant elements in the scroll container and collect
snap positions.  The differences are;

 1) the snap positions are specified based on descendant elements instead of
    points
 2) the snap positions are able to be specified by `block` or `inline` keywords
    so that we also need to care the element flow.
    more test cases for this are coming in the next commit
 3) the target rect is calculated by nsLayoutUtils::TransformFrameRectToAncestor
    which means transform is already taken account into it (we have a bug for
    the old scroll snap, it's bug 1218745)
    some of web platform tests will be added in a subsequent commit

Some of test cases in overflowing-snap-areas.html that accidentally have
passed start failing with this change, all of them will be passed with
subsequent changes in these commit series.

Depends on D21627

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

--HG--
extra : moz-landing-system : lando
2019-04-11 06:20:36 +00:00
Hiroyuki Ikezoe 19102cb3b9 Bug 1312163 - Rename ScrollSnapType to ScrollSnapStrictness. r=emilio
The scroll snap strictness is defined in the new spec [1], and the structure
is the exactly same as the old scroll snap type structure.

[1] https://drafts.csswg.org/css-scroll-snap-1/#snap-strictness

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

--HG--
extra : moz-landing-system : lando
2019-04-11 06:19:13 +00:00
Botond Ballo 58c5bb6a5a Bug 1519007 - Do not allow APZ to move the layout viewport outside the scrollable rect. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24826

--HG--
extra : moz-landing-system : lando
2019-03-29 22:00:36 +00:00
Botond Ballo 2d2fffe3ea Bug 1507279 - Add a mechanism for the main thread to set a visual viewport offset. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D16141

--HG--
extra : moz-landing-system : lando
2019-01-10 20:59:13 +00:00
Botond Ballo 8e0fca04b3 Bug 1518584 - Rename {FrameMetrics,RepaintRequest}::mViewport to mLayoutViewport. r=kats
Depends on D15972

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

--HG--
extra : moz-landing-system : lando
2019-01-09 15:34:34 +00:00
Botond Ballo 4c98f47607 Bug 1518584 - Remove {FrameMetrics,RepaintRequest}::mUseDisplayPortMargins. r=kats
It was always true.

Depends on D15971

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

--HG--
extra : moz-landing-system : lando
2019-01-09 15:33:10 +00:00
Botond Ballo 66bad9bae6 Bug 1518584 - Update out-of-date comments in FrameMetrics.h. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D15970

--HG--
extra : moz-landing-system : lando
2019-01-09 15:27:53 +00:00
Emilio Cobos Álvarez 0b0dd2d95f Bug 1512328 - Use cbindgen for a couple more CSS properties. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D13886
2018-12-07 15:06:07 -05:00
Botond Ballo a88fd1acef Bug 1511137 - Track more accurately when the main thread originates a resolution change. r=kats
The tracking is done using nsAtom origins, similarly to how updates to the
scroll offset are tracked.

Currently, APZ still uses some heuristics to deduce that the main thread
originated a resolution change in some cases, but the intention is to try
to remove those and rely only on this mechanism in the future.

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

--HG--
extra : moz-landing-system : lando
2018-12-05 16:29:18 +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 0ad55ab74f Bug 1510513 - Retain the formatting of MOZ_DEFINE_ENUM_* macros r=sylvestre
These macros tend to be handled quite poorly since the clang-format
tokenizer cannot figure out how to handle them.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:14:19 +00: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
Ryan Hunt 358ef761e3 Bug 1502059 - Don't always cancel a scroll animation when we have a relative scroll offset update. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D9871

--HG--
extra : source : 2a457617fbf2ca133af18e9972e505f86dd90dd2
extra : amend_source : 119ab67b6c2c9a09a98cfb2f4c4ca20f82c64b9f
2018-10-25 17:21:29 -05: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
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
Cosmin Sabou 5a7a044de4 Backed out 2 changesets (bug 1495055) for frequently asserting on FrameLayerBuilder.cpp in crashtest on OSX. a=backout
Backed out changeset fd895bb95b99 (bug 1495055)
Backed out changeset ed9b268816b4 (bug 1495055)
2018-10-05 12:36:11 +03:00
Botond Ballo 75ac8237f5 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-03 15:35:12 +00:00
Mitch Ament c7c03f661b Bug 1477335 - Replace reference member AsyncPanZoomController::mFrameMetrics with getter functions which return mScrollMetadata.mMetrics. r=botond
This fixes a const correctness loophole.

MozReview-Commit-ID: I8yM74OAr8m

--HG--
extra : rebase_source : 8aeea554bfeff7efe03cd9a00539a6100e040b8a
2018-07-27 14:58:46 -04:00
Kashav Madan ext:(%2C%20Tanushree%20Podder%20%3Ctpodder%40mozilla.com%3E) 557bb0376f Bug 1423011 - Part 1: Allow APZ to async-scroll the layout viewport. r=botond
There are 3 main components to this change:

  a) Store the origin of the layout viewport in APZ (until now we only stored
     it's size). This required updating the offset stored in mViewport, which
     was previously (0, 0).
  b) Adjust the layout viewport in APZ each time the visual viewport exceeds
     the bounds of the layout viewport.
  c) Update the main thread to store the layout viewport offset for the
     RCD-RSF (currently it uses the layout viewport offset for overflow:hidden
     pages, and the visual viewport offset otherwise).

MozReview-Commit-ID: 7AD8wvthh2m

--HG--
extra : rebase_source : df8704146740f4b2522c80b20b603617993b6c83
2018-06-07 17:01:36 -04:00
Botond Ballo 59adc89262 Bug 1467873 - Fix FrameMetrics::CalculateCompositedRectInCssPixels(). r=kats
- Fix the implementation to return a numerically correct result
  - Change call sites that should have instead been using
    CalculateCompositedSizeInCssPixels(), to do so
  - Rename and document to emphasize that the returned rect is in the
    CSS pixels of the content surrounding the scroll frame

MozReview-Commit-ID: GCPbA1k88rz

--HG--
extra : rebase_source : f5b937936fb84b3ae414d6cf0250add4078a9d53
2018-06-09 16:33:26 -04:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Kartikaya Gupta d067a7cdae Bug 1452390 - Implement paint-skipping support in WebRender. r=botond
The majority of this patch is just plumbing. The interesting parts are
in WebRenderLayerManager and APZUpdater/WebRenderScrollData. Unlike
ClientLayerManager, which updates the FrameMetrics on the client side
and sends the modified version over to the compositor, this WR version
just sends the update info over to the compositor, which then applies
the update to the metrics saved in APZUpdater before triggering the
hit-testing tree rebuild.

MozReview-Commit-ID: 4latUMa8RFw

--HG--
extra : rebase_source : d0aeaf5a9c8107bbcaf8b0da6d68a0f47f455be5
2018-05-11 21:18:22 -04:00
Kartikaya Gupta 5d85aede20 Bug 1453463 - Refactor to make unordered_maps with guid keys a little cleaner. r=botond
This is mostly just moving the existing hash function and introducing
additional helpers to create maps with presshell-ignoring guid keys. We
can use this in one place trivially so I did that as well.

MozReview-Commit-ID: G8nMS1PECT4

--HG--
extra : rebase_source : 4f34da9db77f7ec4b7e5ebaeccd532c8f8c92283
2018-04-16 09:33:07 -04:00
Zhang Junzhi 2bdc6774da Bug 1358017 - Part 5: Implements the "honour root" functionality for the auto-dir scrolling feature in APZ r=kats
With this commit, all the auto-dir scrolling functionalities are completed in
APZ.

MozReview-Commit-ID: L7qa3xOD8t9

--HG--
extra : rebase_source : bad2770219a0e6219f91899ab6c78e68f37195ac
2018-03-16 21:20:39 +08:00
Zhang Junzhi fe2d79f73f Bug 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats
This commit implements the auto-dir scrolling functionality in APZ, based on
part 1 to part 3. However, the functionality of mousewheel.autodir.honourroot
will be implemented in a future.

MozReview-Commit-ID: 9xai99x71gh

--HG--
extra : rebase_source : 118d188f730e3fb91d147b076a053cb04e622e55
2018-03-16 19:23:53 +08:00
Kartikaya Gupta 395eaf8c66 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00