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

156 Коммитов

Автор SHA1 Сообщение Дата
Timothy Nikkel cba42d43ac Bug 1346109. Call NotifyApproximateFrameVisibilityUpdate after we set a display port base rect. r=botond
NotifyApproximateFrameVisibilityUpdate gets the displayport so we want the base rect set before calling it.

We also don't want to record the displayport if we ignored it in the actual visibility pass.
2017-04-05 00:18:11 -05:00
Timothy Nikkel 9ba8b14466 Bug 1346109. Allow asking an nsIScrollableFrame if it is the root scroll frame. r=botond 2017-03-11 01:00:46 -06:00
Botond Ballo a98321305e Bug 1328658 - Notify main thread of a failed attempt to start an APZ scrollbar drag. r=kats,tnikkel
MozReview-Commit-ID: ERm1sVNfoKL

--HG--
extra : rebase_source : 0b57987a2a15533fad577dd2d363ec386f6bfeae
2017-01-27 18:02:22 -05:00
Markus Stange 0d3bb285fe Bug 1298218 - Back out bug 1284586. r=tnikkel
MozReview-Commit-ID: FGNKyDcoEyF

--HG--
extra : rebase_source : d1f73117513424e7da21d16162e14a3aba79ba70
2016-08-19 18:17:36 -04:00
Neil Deakin 3bcbbdcf40 Bug 41708, support scrolling when hovering over the edge of a scrollframe while dragging, r=smaug 2016-12-20 13:39:30 -05:00
Kartikaya Gupta fa397ea897 Bug 1304689 - Ensure frame reconstructions don't clobber a 'stronger' scroll origin with a 'weaker' one. r=tnikkel
If, within a single refresh driver tick, the scroll position is updated by JS
explicitly, and then subsequently also updated by a frame reconstruction, the
scroll origin from the former (nsGkAtoms::other) can get clobbered by the latter
(to nsGkAtoms::restore). The restore scroll origin is "weaker" in that it can
be ignored by the APZ code in some circumstances. This is undesirable because
it means the JS scroll update also gets ignored. This patch ensures that when
setting the scroll origin we don't do this clobbering of stronger origins with
weaker origins.

MozReview-Commit-ID: DA4EHp1Debu

--HG--
extra : rebase_source : 99fd1f91698a605792b2a622450f1ff31bc89101
2016-10-11 09:36:22 -04:00
Kartikaya Gupta 982bc8ba1f Bug 1284586 - Disable paint-skipping for scrollframes that we detect as having a CSS-clipped descendant. r=mstange
MozReview-Commit-ID: AvjokFZMwdd
2016-07-13 16:05:53 -04:00
Kartikaya Gupta 65f5105de7 Bug 1269539 - Ensure that the scroll position is restored properly on reloading a page which loads incrementally. r=tnikkel
MozReview-Commit-ID: 1qVA5yU7a7g

--HG--
extra : rebase_source : 032336d7552ece6dbeafa4eb07eceb7ed2a096ba
2016-05-03 10:40:20 -04:00
Kartikaya Gupta 0858e31ab6 Bug 1268195 - When restoring a scroll position outside of incremental load, don't keep trying in a loop - just do it once and stop. r=tnikkel
It may be that when the frame is reconstructed after load, the frame gets shorter,
and the old scroll position cannot be restored, because it is out of bounds. In
such a case, we don't want to keep mRestorePos tracking the old scroll position,
because it can get incorrectly applied on a future frame reconstruction. Instead,
for scroll position restorations during frame reconstructions, we just try the
restore once and then clear mRestorePos.

MozReview-Commit-ID: BHoJHz0mGmf
2016-04-29 23:06:18 -04:00
Botond Ballo 868bc3704a Bug 1259296 - Do not scroll snap on the main thread for wheel events handled by APZ. r=kats
MozReview-Commit-ID: DudrJuO4pFM

--HG--
extra : source : a9468a25f1b937c49c5f801069d2cdc2cd610bdd
extra : histedit_source : 18d04bcb32288c7713a162f0ee33650f6f10926f
2016-04-04 17:46:12 -04:00
Botond Ballo 5753e3da83 Bug 1259301 - Remove GeckoContentController::RequestFlingSnap(). r=kats
MozReview-Commit-ID: DRntzo1hohv

--HG--
extra : rebase_source : 5e9c5c43202fb48c5cad5ab95b05fd0bc1be021e
2016-03-30 21:11:00 -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 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 5973113f1b Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Benoit Girard 4e40cd1d1a Bug 1259235 - Add IsScrollFrameWithSnapping to speed up event regions. r=mstange
MozReview-Commit-ID: KdWCkXHjHzZ

--HG--
extra : rebase_source : ca15390be1d003c50e41ef89f40f5e7f543e8676
2016-03-23 17:16:38 -04:00
Kartikaya Gupta 0415065a38 Bug 1253860 - Add a flag on scroll frames indicating if they have an APZ counterpart. r=mstange
MozReview-Commit-ID: EEmdmjrbG3O
2016-03-09 22:57:14 -05:00
Kartikaya Gupta e7dd4d9941 Bug 990916 - When setting a displayport, schedule a timer to remove it as well. r=tnikkel
--HG--
extra : commitid : 4u7JlPJLoFT
2016-02-03 19:13:35 -05:00
Timothy Nikkel 6a8edbd624 Bug 1241371. Don't schedule an image visibility update every time display port margins change. r=kats
Displayport margins change by small amounts on almost every single scroll. We do not want to update image visibility nearly that often.

As the comment, and the original bug (bug 1169881) suggest this is only meant to catch rather large changes in display ports as we already have means to trigger an image visibility update via a scroll position change and via any style or layout flush.
2016-01-22 00:29:17 -06:00
Timothy Nikkel aefbcd85cf Bug 1241371. Properly update mLastUpdateImagesPos on scrollframes when the image visibility pass encounters them. r=mats
This is a regression from bug 1002992 where we switch from the display list builder to the frame tree walker and didn't update mLastUpdateImagesPos in the frame walker.
2016-01-21 19:09:04 -06:00
Markus Stange b22db3eab2 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 1j8QG2b0rIG
extra : rebase_source : 027065697e7e0ef445d8bcf7a81cf0270dcf7b8b
2015-12-22 16:54:19 +01:00
Carsten "Tomcat" Book 27bbe6ec93 Backed out changeset 68b33692bed3 (bug 1147673) 2015-12-16 11:52:37 +01:00
Markus Stange bf668586d7 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 7KbOQKKSVq5
extra : rebase_source : d23daf86ed8d375bd5ab3ed7dfe3cff80bc0ff4c
extra : histedit_source : cce4ded91f0672142796a852d20d052e7b6247ce
2015-12-12 10:58:37 -05:00
Kartikaya Gupta c460ebbd06 Bug 1226872 - Stop keeping a copy of the resolution in the root scrollframe. r=roc
The only reason we had this in the scrollframe at all was so that it could be
saved/restored as part of the frame state when leaving a page and then going
back to it. However we can accomplish this by just reading/writing the resolution
from/to the presshell instead, so there's no need to keep a second copy of it.

--HG--
extra : commitid : J4QBfG2GGjn
2015-11-23 09:14:15 -05:00
Timothy Nikkel 96fca396cf Bug 1210578. Part 3. Create DecideScrollableLayer that encapsulates all logic to create display ports and build scrollable layers. r=mstange
For root scroll frames we need information about the async scrolling (or lack thereof) of the scroll frame before we get to ScrollFrameHelper::BuildDisplayList for the scroll frame. We need it in nsLayoutUtils::PaintFrame and nsSubdocumentFrame::BuildDisplayList. So we factor out all the code responsible for async scrolling decisions into one function we can call from all three places.
2015-10-12 15:21:49 -05:00
Kartikaya Gupta 6630a65ba4 Bug 1201529 - Ensure that zoomable scrollframes return true from WantAsyncScroll(). r=botond
--HG--
extra : commitid : 29B0WVGYfId
2015-09-11 21:58:16 -04:00
Markus Stange 04c661f71d Bug 1181135 - Copy DisplayItemClips in order to avoid dangling pointers. r=tn
--HG--
extra : rebase_source : 8d0a077fb38d1c19cf1ef868403c6b3a3735346e
2015-09-09 19:08:03 -04:00
Jonathan Kew 4d081f1ac4 Bug 1172450 - Size and position the dropdown arrow properly in vertical writing modes. r=smontagu 2015-07-27 16:52:12 +01: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
Markus Stange c15627a716 Bug 1178745 - Add an nsIScrollableFrame API for getting the scroll clip. r=roc
--HG--
extra : rebase_source : 8f2b62b0ce23dcfece6984d89a774a96453ecb6e
extra : histedit_source : 586e99a17ecbb86dc243568cee1ebf1d24f37717
2015-07-02 16:42:10 -04:00
Markus Stange 77820dcba1 Bug 990974 - Add a flag to ComputeFrameMetrics so that a different clip can be returned for the caret and non-caret content. r=roc
--HG--
extra : rebase_source : a00358c3191c49c21ad2ad9b1e1a8d5d47285672
extra : histedit_source : 64aafcbf2d8fa32610fe8a30c916dbbe1b4f9283
2015-07-02 13:42:34 -04: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
David Anderson e11be639dd Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn) 2015-06-02 16:34:46 -07: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
David Anderson e5acec7e56 Use Maybe to communicate the APZ scrollframe clip. (bug 1148582 part 1, r=mstange) 2015-05-26 12:39:29 -07:00
Kearwood (Kip) Gilbert d1823e40bc Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v7 Patch),r=roc
--HG--
extra : source : 3ed9d5170d1386e5922df6ca06765922db08968c
2015-03-25 11:40:31 -07:00
Wes Kocher df05ff9297 Backed out 2 changesets (bug 969250) on the other theory that it broke lots of tests, forcing a prolonged CLOSED TREE
Backed out changeset 3c1005c81e52 (bug 969250)
Backed out changeset 3ed9d5170d13 (bug 969250)
2015-03-25 14:46:47 -07:00
Kearwood (Kip) Gilbert 398a89308c Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v7 Patch),r=roc 2015-03-25 11:40:31 -07:00
Botond Ballo 2eb9751320 Bug 1139675 - Simplify the APIs for getting and setting the pres shell resolution. r=mstange,mattwoodrow
--HG--
extra : rebase_source : 18444e5f9304bbf9c2c14903be6aa4ebf8a08af3
extra : source : 60fe56e752d984a8d074af1bec1dfcd40a41e5f6
2015-03-06 18:07:59 -05:00
Carsten "Tomcat" Book 0a4da0c676 Backed out changeset fdd33ef9606e (bug 969250) for m5 test failures 2015-03-11 10:33:52 +01:00
Kearwood (Kip) Gilbert bcb7c7d431 Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v5 Patch). r=roc
--HG--
extra : rebase_source : df2b831d2cad8210b6c92122aa701fc21335ae6d
2015-03-03 17:40:00 +01:00
Kearwood (Kip) Gilbert 8d1fcc4892 Bug 945584: Part 6 - Implementation of scroll snapping (v10 Patch), r=roc, r=kats
- Implemented CSS scroll snapping (http://dev.w3.org/csswg/css-snappoints/)

--HG--
extra : rebase_source : e100b6a2cbc00321d6d1083d12a99213e34d5f9d
2015-02-19 15:53:30 -08:00
Kearwood (Kip) Gilbert 5ded4eb336 Bug 945584: Part 3 - Enable cancellation of OSX synthesized mousewheel scrolling events (v2 Patch),r=roc
- Mouse wheel events synthesized by OSX for momentum scrolling can now
  be interrupted by DOM triggered and CSS scroll snapping triggered scroll
  events for consistent behavior with the scrolling and fling gestures
  in the APZC.

--HG--
extra : rebase_source : 261d1f1b03bb29f722d04e0c48b0212d1c69cd1b
2014-02-04 14:54:22 +13:00
Kartikaya Gupta 53bf04f021 Bug 990907 - Add a flag on nsIScrollableFrame to indicate if it is actively being scrolled by APZ. r=tn 2015-02-25 09:32:09 -05:00
Botond Ballo 9f93609fd6 Bug 1076241 - Add an API for setting a resolution on a document and scaling it by that amount. r=kats,tn 2015-01-02 20:06:14 -05:00
Benoit Girard 4f2c7cdb80 Bug 961871 - Part 2: Refactor will-change scroll, pass through a nsDisplayListBuilder. r=mattwoodrow 2014-10-21 21:54:06 -04:00
Kartikaya Gupta 6a1b9bac86 Bug 1078316 - Tweaks for root-frame overlay scrollbars so they don't oscillate while panning around. r=botond,tn 2014-10-08 22:56:38 -04:00
Mason Chang 4b2df54aa2 Bug 1056340 - Clip viewport fixed position overflow to scroll frame. r=roc 2014-09-23 09:44:00 -04:00
Kearwood (Kip) Gilbert 5f59b02c90 Bug 1022825 - Implement Asynchronous Smooth Scrolling on Compositor Thread. r=kats
- Extended nsIScrollableFrame and nsGfxScrollFrame to return destination
  of smooth scrolls which are to be animated on the compositor thread.
- Added apz.smooth_scroll_repaint_interval preference.
- Implemented AsyncPanZoomController::PanZoomState::SMOOTH_MSD_SCROLL state
  and AsyncPanZoomController::SmoothScrollAnimation class to animate smooth
  scroll animations on the compositor thread.
- Extended FrameMetrics to report requests for smooth scrolls to be animated
  on the compositor thread and their corresponding destination positions.
- AsyncPanZoomController now checks FrameMetrics for requests to perform
  smooth scrolling on the compositor thread.  It will ensure that they
  are cancelled as needed by mousewheel, touchpanel, keyboard, and
  CSSOM-View instant scrolling DOM methods.
- The layout/generic/test/test_scroll_behavior.html mochitest has been
  commented as depending on Bug 1062609 before being enabled for APZ.
2014-07-10 11:52:40 -07:00