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

171 Коммитов

Автор SHA1 Сообщение Дата
Botond Ballo 41aac0b97c Bug 951793 - Store the overscroll behavior in ScrollMetadata and propagate it to APZ. r=mstange
MozReview-Commit-ID: J7Vkd941QxK
2017-11-25 01:29:01 +01:00
Sebastian Hengst 6d4637aebb Backed out 15 changesets (bug 951793) because it landed before the necessary servo changes. r=backout requested by emilio on a CLOSED TREE
Backed out changeset ca8c86e229df (bug 951793)
Backed out changeset 6eef6403fa71 (bug 951793)
Backed out changeset a5e529f52fb1 (bug 951793)
Backed out changeset 054e837609d0 (bug 951793)
Backed out changeset 713a3c9617ce (bug 951793)
Backed out changeset 884913aa1668 (bug 951793)
Backed out changeset c3340b84e534 (bug 951793)
Backed out changeset 50fe3c6ac486 (bug 951793)
Backed out changeset be4e22e5c257 (bug 951793)
Backed out changeset 7055bd5dfc4e (bug 951793)
Backed out changeset fa6da1e723cf (bug 951793)
Backed out changeset 386f77004d89 (bug 951793)
Backed out changeset fa82cdc01408 (bug 951793)
Backed out changeset 867d8ea5355c (bug 951793)
Backed out changeset e61ac8e48971 (bug 951793)
2017-11-25 01:01:41 +02:00
Botond Ballo 69d3063396 Bug 951793 - Store the overscroll behavior in ScrollMetadata and propagate it to APZ. r=mstange
MozReview-Commit-ID: J7Vkd941QxK

--HG--
extra : rebase_source : f9d0f664f17f4efe34a21064cbbf259642fe3caf
2017-10-18 20:13:19 -04:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Milan Sreckovic f330369b4e Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .h files in gfx/*. r=botond
MozReview-Commit-ID: 4knfAC1HTI1

--HG--
extra : rebase_source : 6ac939b478d22d429e8643e6ba96e372d8220bfb
2017-08-14 08:28:11 -04:00
Botond Ballo 9da4eab494 Bug 1105109 - Introduce a FrameMetrics::ClampAndSetScrollOffset() helper. r=kats
MozReview-Commit-ID: 6LCPKrdGM6M

--HG--
extra : rebase_source : 65f51ce5c40d9f1ac64c1f94055aa87d44a72cae
2017-07-28 14:57:54 -04:00
Botond Ballo 8b7ba8ac1c Bug 1377020 - Use MOZ_DEFINE_ENUM instead of a sentinel enumerator for enumerations in gfx/layers. r=kats
MozReview-Commit-ID: IUQDb0VIAwQ

--HG--
extra : rebase_source : 50d05ab09a5fb03d16c044edd38f0f3e0dba7ada
2017-06-30 21:18:55 -04:00
Ehsan Akhgari 74f1a0ceb8 Bug 1378045 - Make ScrollableLayerGuid::Hash() return PLDHashNumber; r=botond 2017-07-04 11:08:29 -04:00
Ryan Hunt 5e36e136d3 Bug 1351783 part 13 - Add a function for determing if a ScrollSnapInfo has scroll snap points. r=botond
MozReview-Commit-ID: 7Dj0RGfQFNC

--HG--
extra : rebase_source : e25f6657f379b286c9393af19b3771c6296db468
extra : histedit_source : e9206c7c276fb9653df142617e08ec3bb7c6f1ad
2017-06-15 03:52:34 -04:00
Kartikaya Gupta 86a10aa409 Bug 1373349 - Correct the origin of the content rect when creating scroll layers in WR. r=botond,jrmuizel
Also tweaks the documentation in FrameMetrics.h to be more detailed and
less misleading.

MozReview-Commit-ID: 183V2Q9kY6C

--HG--
extra : rebase_source : 9fb08cf9c2a9df68637fb26014f637b0cb40b188
2017-06-15 15:35:04 -04:00
ohn0 e64bada746 Bug 1367062 - Change std::map to std::unordered_map in APZCTreeManager r=botond
MozReview-Commit-ID: yHXUFw2fx6
***
Bug 1367062 - Change std::map to std::unordered_map in APZCTreeManager
changed gfx/layers/FrameMetrics.h by adding a ScrollableLayerGuidHash class that will be used as the hashing function for std::unordered_maps which use ScrollableLayerGuid as keys.
changed gfx/layers/apz/src/APZCTreeManager.cpp by changing mApzcMap to a std::unordered_map.
changed gfx/layers/apz/src/APZCTreeManager.h by changing mZoomConstraints to a std::unordered_map.

MozReview-Commit-ID: JmoQzh1MvKK

--HG--
extra : rebase_source : cb7bd9419085f83873c9fd019c4a379fae0ee278
2017-05-26 19:41:13 -04:00
Kartikaya Gupta 4600f9a2b5 Bug 1292781 - Send scroll-position-restore updates to APZ, but don't allow them to clobber user scrolls. r=tnikkel
Previously we weren't sending scroll position updates with origin nsGkAtoms::restore
over to the APZ at all, on the assumption that they should never clobber an APZ
scroll offset. However, there are scenarios where that is not true.

In particular, during a frame reconstruction, a layers update may be sent to the
compositor between the time a scrollframe has RestoreState() called on it, and
the time the scrollframe has ScrollToRestoredPosition() called on it. The layers
update that happens during this interval (correctly) sends a scroll position of
(0,0), and forces the APZ to scroll to that position. This is necessary to
prevent APZ from remaining at an invalid scroll offset while the frame is still
being rebuilt.

However, once ScrollToRestoredPosition() is called and the old scroll offset is
restored, that restored scroll position needs to get sent to the APZ in order to
have it properly restore to the original scroll position. In order to do this,
the main thread must flag the metrics with a scroll offset update. Since the user
may have scrolled concurrently in the compositor from the (0,0) position, we also
need to check for that case in the APZ code and avoid restoring the scroll
position. This is equivalent to the corresponding main-thread code in
ScrollToRestoredPosition().

MozReview-Commit-ID: LxRapVSrsJ3
2016-08-24 09:15:29 -04:00
Kartikaya Gupta e83bee3590 Bug 1286179 - For APZ repaint requests that are triggered by main-thread updates, don't attempt to re-scroll the main thread. r=tnikkel
Avoiding these re-scrolls prevents APZ repaint requests from clobbering the
main-thread scroll position (which may have changed in the meantime) in some
cases. See https://bugzilla.mozilla.org/show_bug.cgi?id=1286179#c8 for an example
of a scenario where this re-scroll is problematic.

MozReview-Commit-ID: 7he2A2sygji

--HG--
extra : rebase_source : 9fea76c2497eb131fba0ff4a82018309be6e1ef0
2016-08-18 17:00:42 -04:00
Botond Ballo 06d34b07af Bug 1277814 - Avoid division-by-zero when the cumulative resolution is zero. r=tnikkel
The division-by-zero was introducing NaNs into the displayport calculations,
resulting in bad displayports.

MozReview-Commit-ID: 5dbqIEOFADS

--HG--
extra : source : 569276f2edd39600de534183e12b7f8762b917c8
2016-06-06 18:16:06 -04:00
Botond Ballo 771407a83d Bug 1267438 - Give layers an optional scrolled clip that is scrolled by all scroll frames associated with the layer. r=mstange
MozReview-Commit-ID: EGqVZuISSZQ

--HG--
extra : rebase_source : cf1e70734524cb740cb0cb64190d5a780d2b692f
extra : amend_source : b91d3f887a78da248950289fa8917db5fa62910b
extra : source : 54cb97cee6810ec56308d1f2f66e5b8fda02da3e
extra : histedit_source : dc982f0a16e8c2c042c260bc56252425cc6f76c4
2016-04-29 17:32:53 -04:00
Botond Ballo 0702a1f217 Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange
MozReview-Commit-ID: 6W0GZYkioov

--HG--
extra : rebase_source : f99b4c8bd571fd82ddd7e6121caac57b13c380f7
extra : source : b802e4ef209948f307565f2ba750b2fbd340bcb6
extra : histedit_source : 016fe1d78bde06feeb483446fdfb508448573d72
2016-04-29 16:14:21 -04:00
Botond Ballo 80791b18a4 Bug 1267470 - Move more fields from FrameMetrics to ScrollMetadata. r=kats
MozReview-Commit-ID: zxtt1NNcDe

--HG--
extra : rebase_source : 65cdc94615ccbb51901e8c4ac086987ff2183719
2016-04-27 16:06:34 -04:00
Kartikaya Gupta db9357edba Bug 1267471 - Check the snap info when comparing scroll metadata for equality. rs=botond
MozReview-Commit-ID: 5aw7vjT3YcE
2016-04-25 20:58:11 -04:00
Kartikaya Gupta 5419be90e8 Bug 1257641 - Remove now-unused code for the lightweight scroll offset update message. r=botond
MozReview-Commit-ID: EXGIDgO13v7
2016-04-13 10:21:13 -04:00
Kartikaya Gupta a333c6e537 Bug 1257641 - Use empty transactions to carry scroll offset updates to APZ that don't require a repaint. r=mattwoodrow,mstange,botond
MozReview-Commit-ID: KNeGSKldmp7
2016-04-13 10:21:13 -04:00
Kartikaya Gupta e4f0d8e002 Bug 1257641 - Replace the mUpdateScrollOffset bool with an enum, needed in the next patch. r=botond
MozReview-Commit-ID: AtmpQTAUH8L
2016-04-13 10:21:13 -04:00
Kartikaya Gupta 967f8c8fb1 Bug 1246290 - Add a bit to FrameMetrics to indicate if APZ-scrolling should be disabled on that APZC. r=botond
MozReview-Commit-ID: 5NeFP31Y0Qg
2016-04-03 13:13:58 -04:00
Botond Ballo a2ee8407e4 Bug 1219296 - Scroll snap directly in APZ instead of going through the main thread. r=kats
MozReview-Commit-ID: 3qAdSWXwOsu

--HG--
extra : rebase_source : 1c746af11c620e4bc27d1163980db361c239ae5e
2016-03-28 18:36:02 -04:00
Botond Ballo 895380f52c Bug 1219296 - Ship scroll snap information to the compositor. r=kats
MozReview-Commit-ID: 2aCaAEC5Csu

--HG--
extra : rebase_source : 840fa9478c32932c40cf3f9222d14da567f9d41b
2016-03-11 22:04:53 -05:00
Botond Ballo 77cebd9dd2 Bug 1219296 - Make ScrollMetadata::sNullMetadata a StaticAutoPtr so that ScrollMetadata can admit nsTArray members. r=kats
MozReview-Commit-ID: LOZdnAhL5xH

--HG--
extra : rebase_source : 39b619a7945e9f3c867dbe67e700e8b83d7c3699
2016-03-30 17:04:10 -04:00
Botond Ballo 4690842281 Bug 1219296 - Factor out scroll snap information into a form that's usable by the compositor. r=kats
MozReview-Commit-ID: DTvu7UsKsBg

--HG--
extra : rebase_source : 71831d884d128bc9e50aac55c7a8302f7ffe74f8
2016-03-18 20:07:27 -04:00
Botond Ballo a74ec8c79b Bug 1219296 - Split fields not needed for repaints out from FrameMetrics. r=kats
MozReview-Commit-ID: DymHOSI6yYK

--HG--
extra : rebase_source : 1996bcb7f005c02b94031fe1c73d5136814b0296
2016-03-28 19:14:52 -04:00
Seth Fowler d8b3579dd9 Bug 1257315 (Part 1) - Add a visualization of visibility tracking to the APZ minimap. r=botond,mattwoodrow 2016-03-18 18:38:57 -07:00
Kartikaya Gupta 73a7b93fd0 Bug 1253860 - Add machinery to update APZ's scroll offset without a main-thread paint. r=botond
MozReview-Commit-ID: Chy40f6VNIQ
2016-03-09 22:57:14 -05:00
Kartikaya Gupta a1c2f88721 Bug 1226826 - Record paint times in the checkerboard event. r=botond
--HG--
extra : commitid : CygYKO4FVuh
2016-01-15 16:19:59 -05:00
Nigel Babu ecae6cd9a5 Backed out 4 changesets (bug 1226826) for widespread bustage
Backed out changeset 95d373bec568 (bug 1226826)
Backed out changeset bb9970d440a4 (bug 1226826)
Backed out changeset 6c1fa0dc6bd7 (bug 1226826)
Backed out changeset 400ebf504171 (bug 1226826)

--HG--
extra : commitid : D1zZSeIHTOA
2016-01-14 08:33:11 +05:30
Kartikaya Gupta a7478cbca5 Bug 1226826 - Record paint times in the checkerboard event. r=botond
--HG--
extra : commitid : kX3Eye3aq0
2016-01-13 15:46:08 -05:00
Kartikaya Gupta 57630a6b66 Bug 1219352 - Pack the FrameMetrics booleans. r=botond
--HG--
extra : commitid : AWU27s9DKzG
2016-01-06 20:50:01 -05:00
Kartikaya Gupta 0d7d89c6a4 Bug 1219352 - Rearrange fields in FrameMetrics. r=botond
This patch:
- Maintains a consistent ordering between the lists of fields in the
  FrameMetrics constructor, operator==, IPC read/write functions, and the
  actual order of fields in FrameMetrics. As part of this, missing default
  initializers are added to the FrameMetrics constructor, and fields omitted
  from the operator== are explicitly noted.
- Moves all the boolean values to the end of the set of field (for better
  packing).
- Moves the scroll id and parent scroll id to the front of the list, so that
  the operator== can fail faster in the common case.

--HG--
extra : commitid : 6ink6xmxH38
2016-01-06 20:50:01 -05:00
Kartikaya Gupta 5e3b5adcf2 Bug 1219352 - Update a couple of bool-setters to take a bool argument. r=botond
--HG--
extra : commitid : BSeR1YwEqNy
2016-01-06 20:50:01 -05:00
David Anderson bba1b2478f Annotate FrameMetrics that are created for ScrollInfoLayers. (bug 1192919 part 1, r=kats)
--HG--
extra : commitid : 83SwqEe7GTb
2015-12-21 09:36:36 -05:00
Nicholas Nethercote d0c4a9db1b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!

--HG--
extra : rebase_source : d691b55eef5a8655aa98b81b5398452a5ebe860d
2015-09-24 19:24:16 -07:00
Nicholas Nethercote ff7df9ad79 Bug 1208283 (part 4) - Change FrameMetrics::mBackgroundColor from gfxRGBA to gfx::Color. r=jwatt.
This removes some ToColor() calls.

--HG--
extra : rebase_source : 05ee3e5aaa784e12c15fa42845864eacec45271f
2015-09-24 18:17:45 -07:00
Botond Ballo 9eadc95b3f Bug 1181832 - Keep gfxPrefs.h out of header files. r=kats
--HG--
extra : rebase_source : 33d5abb8f12f1173ae50d1712f15e273f9b26ace
extra : source : 4bd2e2744ef1b914d2859f3433b6b9026d91401b
2015-07-13 11:53:10 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
David Anderson 55a0f8ee25 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow
--HG--
extra : rebase_source : 9bf7a73b14e40972b3a5824b2f1344b7770ab789
extra : source : 745366787bcae737c0aec908554db2a3ec288908
2015-06-21 12:27:31 -04:00
Markus Stange f1b62506d9 Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson c29b4c6dfa Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Kartikaya Gupta bd05613425 Bug 1055557 - Move storage of ZoomConstraints from RemoteContentController to APZCTreeManager. r=botond 2015-06-17 12:32:41 -04:00
Botond Ballo 5669fd281d Bug 1158424 - Remove FrameMetrics::IsRootScrollable() (it just duplicated IsRootContent()). r=kats
--HG--
extra : rebase_source : d1cf2d5e65a6c3e5742c6be6b7fccafa34191329
extra : source : a729ae28cb42a39aec4f5b4d4f4d4315a2a32ba7
2015-05-27 19:40:40 -04:00
Botond Ballo 4958aa7c1b Bug 1158424 - Rename FrameMetrics::mIsRoot to mIsRootContent. r=kats
--HG--
extra : rebase_source : a082680d842dd182d899f637200ce911cc3c480d
extra : source : 8b67f0b8dc96cebe9a58356708b23bebd8532134
2015-06-08 16:01:26 -04:00
David Anderson e11be639dd Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn) 2015-06-02 16:34:46 -07:00
Timothy Nikkel 17048184a5 Bug 1168630. Part 3. Add IsLayersIdRoot to frame metrics. r=botond
This field tells us if this frame metrics should be considered the root APZC for its layers id. Without this there doesn't seem to be a way to compute this from just the layers tree.
2015-05-31 14:44:41 -05:00
Botond Ballo 814888dc93 Bug 1167882 - Use the display size (includes scrollbar areas) rather than the root composition bounds (excludes scrollbar areas) to calculate the intrinsic scale. r=kats
--HG--
extra : source : e35552b1a17a8998c73e32af7b3fb396a64dfed4
2015-05-27 16:56:08 -04:00
David Anderson bb8d53f35f Move the APZ scroll frame clip onto FrameMetrics. (bug 1148582 part 3, r=mstange,tn) 2015-05-26 12:40:24 -07:00