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

1279 Коммитов

Автор SHA1 Сообщение Дата
Jeremy Chen d66ae544cc Bug 1347815 - part1.2: label ScrollFrameActivityTracker. r=heycam
ScrollFrameActivityTracker::NotifyExpired() will be invoked by
nsExpirationTracker::TimerCallback() from an unlabeled runnable.
We provide a SystemGroup EventTarget for the invocation of this
callback since there's nothing within a page that would rely on
the timer firing at a particular time (i.e., it doesn't matter
when this timer's callback is scheduled, relative to other
runnables dispatched for the page).

MozReview-Commit-ID: 9QEjxCtFhve

--HG--
extra : rebase_source : 06b979835363b9c4288dd218d2a4ca2dc111169b
2017-04-09 16:53:56 +08:00
Jeremy Chen bcda6f5517 Bug 1347815 - part1.1: fix some obvious nits for the implementations of ScrollFrameHelper. r=heycam
MozReview-Commit-ID: BOoqj7wzo8o

--HG--
extra : rebase_source : 0aae9871950dc7934df1025e25a7bfa7fbb369a6
2017-04-09 16:53:56 +08:00
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
Daniel Holbert eaf41a48a2 Bug 1349816: Initialize a ScrollFrameHelper member-var in constructor. r=kats
Landing on a CLOSED TREE (bugzilla's down, but I'll update the bug manually)

MozReview-Commit-ID: 8SHQcIWQUR0
2017-03-24 13:34:42 -07:00
Timothy Nikkel ec8cc6441b Bug 1346121. In ScrollFrameHelper::DecideScrollableLayer we should check for a displayport again after we call MaybeCreateDisplayPort. r=botond
Just like its name says, MaybeCreateDisplayPort might have created a displayport.
2017-03-18 16:22:11 -05:00
Kartikaya Gupta 151ed266bc Bug 1316318 - Disable paint-skipping for elements where we disable APZ. r=mstange
If we disable APZ on an individual scrollable element by setting the "disable APZ"
flag on the ScrollMetadata, we should also disable paint-skipping for that element.
If we don't do this, we end up in a situation where the APZ code is not applying
the async transform but is sending repaint requests expecting the main thread to
do repaints. Meanwhile the main-thread thinks that it can send empty transactions
and have APZ update the async transform (a.k.a. paint-skipping). So visually
neither APZ nor main-thread have an effect and the element doesn't appear to
scroll except with the tile-aligned displayport shifts. Disabling paint-skipping
on the element fixes the issue.

MozReview-Commit-ID: H4wpVLw8r8X
2017-03-15 08:24:08 -04:00
Ryan Hunt 2c77f8f73f Bug 1340904 - Implement telemetry scroll tracking in C++ r=smaug
--HG--
extra : rebase_source : dc2e3ac7ba8d20226bf97776ea6a46cfd9def947
extra : amend_source : 7cfdec720b53842502bab53131ef2c6a0e30ba48
2017-03-02 00:51:40 -05:00
Mats Palmgren eb04852c0f Bug 1343298 - Remove nsHTMLScrollFrame::ReloadChildFrames() because it's redundant. r=jfkthame
The scroll frame is almost always the content's primary frame and if so
it already has the correct style values and the nsFrame ctor has set
mWritingMode correctly based on those.  For the edge cases where it's
not the primary frame, e.g. <fieldset style=overflow:scroll>, the UA
sheet specifies 'inherit' for the relevant properties so it has
the correct style values in this case too.

MozReview-Commit-ID: 1FMFNfF0IqU
2017-03-01 18:03:14 +01:00
Mats Palmgren d13aaf9ce0 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Mats Palmgren e8c6fd3388 Bug 1342801 - Store the 'writing-mode' used value on nsIFrame and make GetWritingMode non-virtual. r=jfkthame
MozReview-Commit-ID: HPhuxjDbOdh
2017-02-28 18:58:30 +01:00
Markus Stange b43e156ce1 Bug 1340709 - Add profiler tracing markers for more phases of the refresh tick. r=mattwoodrow
This adds markers for FireScrollEvent, DispatchSynthMouseMove, ForwardTransaction, and NotifyDidPaint.

MozReview-Commit-ID: 9XahFGzIOls

--HG--
extra : rebase_source : 1985b2a11777a17dac621a35632f138a76224b0f
2017-02-17 13:03:37 -05:00
Ting-Yu Lin 8f840dc923 Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert
This patch is written by the following script with some manual adjustment to
the comment in nsRubyTextContainerFrame.cpp and nsRubyFrame.cpp, and
nsColumnSetFrame's constructor.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "nsReflowStatus *([a-zA-Z0-9]*) = NS_FRAME_COMPLETE" "nsReflowStatus \1"
rename "([a-zA-Z0-9.*]*) *= NS_FRAME_COMPLETE;" "\1.Reset();"
rename "([a-zA-Z0-9.*]*) == NS_FRAME_COMPLETE" "\1.IsEmpty()"

MozReview-Commit-ID: 9tqQAHvdQex

--HG--
extra : rebase_source : 3119776946dc2c8350098b7bf9f3ceff29bdffb5
2017-02-14 17:55:48 +08:00
Botond Ballo 63b193e721 Bug 1328065 - Add a pref to always layerize the scrollbar track, for test purposes. r=mstange
MozReview-Commit-ID: GZY4tsdsFb4

--HG--
extra : rebase_source : e8a7aa5a1ccc813d220769bfe1c3e945e6fe81f4
2017-02-17 15:47:51 -05:00
Botond Ballo 0a1ee23556 Bug 1328065 - Record the target scroll id of scrollbar containers in the layer tree. r=mstange
MozReview-Commit-ID: DoyM64JJ4N8

--HG--
extra : rebase_source : 4c31d9ce488670bb2aab32fcba8e53bba8eaa7cf
2017-02-15 17:40:03 -05:00
William Chen 7690af08a2 Bug 1332511 - Adjust telemetry histograms for time to first input probes. r=jwatt, data=bsmedberg 2017-01-31 21:49:06 -07: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 5e1d11e580 Bug 1298218 - Add a workaround for root scroll frame container layer scrolling. r=tnikkel
Root frame containers really throw a wrench into the whole system.

MozReview-Commit-ID: 9066vWMYxxr

--HG--
extra : rebase_source : 7e79c1ffa1a327e0ee9f780885e2fae02b8846ed
2017-01-27 17:38:55 +01:00
Markus Stange 6efd7c73b1 Bug 1298218 - Use DisplayItemClipChain for tracking clips on display items. r=mattwoodrow,tnikkel
This is the bulk of the changes.
 - DisplayItemScrollClip is removed. Instead, we will have 1) ActiveScrolledRoot
   and 2) DisplayItemClipChain.
 - ActiveScrolledRoot points to a scroll frame and allows traversing up the
   scroll frame chain.
 - DisplayItemClipChain is a linked list of clips, each clip being associated
   with the ActiveScrolledRoot that moves this clip.
 - Each display item has an ActiveScrolledRoot and a clip chain.
 - nsDisplayItem::GetClip returns the item of the clip chain that scrolls with
   the item's ASR. The separation between "regular clip" and "scroll clips"
   mostly goes away.
 - Tracking clips in the display list builder's clip state happens very
   similarly to how regular clips used to be tracked - there's a clip chain for
   content descendants and a clip chain for containing block descendants. These
   clip chains are intersected to create the combined clip chain.
 - There are strict rules for the ASR of a container item: A container item's
   ASR should be the innermost ASR which the item has finite clipped bounds with
   respect to.
 - At some point in the future, ASRs and AGRs should be reunified, but I haven't
   done that yet, because I needed to limit the scope of the change.

MozReview-Commit-ID: KYEpWY7qgf2

--HG--
extra : rebase_source : c727f6300a35463750639e165bfa37374c06b851
2017-01-31 17:07:35 -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
Phil Ringnalda 403a7be2db Backed out changeset 9b9e53e7eee7 (bug 1326686) for causing frequent failures in test_scroll_snapping_scrollbars.html
--HG--
extra : rebase_source : 7e4a4cd87bcbb88c566b708881190f1b4c1dd964
2017-01-24 07:42:44 -08:00
Botond Ballo 035f7766e3 Bug 1326686 - Only use the most recent refresh time as the start time of an AsyncScroll when the refresh driver is under test control. r=kip
MozReview-Commit-ID: FkyJfbaPPVl

--HG--
extra : rebase_source : 58ea615484a54b74b76f17e859136cf371b7c05f
2017-01-20 19:28:29 -05:00
Kartikaya Gupta 9e559d6077 Bug 1327095 - Shift the rootCompBounds to maximize overlap with the displayportBase before intersecting. r=tnikkel
MozReview-Commit-ID: JI6avscMLs5
2017-01-09 21:46:56 -05:00
Kartikaya Gupta bd279ccabc Bug 1329663 - Move code from ScrollFrameHelper's destructor the Destroy() function. r=tnikkel
MozReview-Commit-ID: 1OWCCvR6X2N
2017-01-09 17:21:44 -05:00
Iris Hsiao 7adb57a57f merge autoland to mozilla-central a=merge 2017-01-06 11:06:17 -05:00
Ting-Yu Lin 797609894a Bug 1320014 Part 7 - Convert half corner indices #define to an enum. r=mats
MozReview-Commit-ID: 8lNtjV14WTN

--HG--
extra : rebase_source : dbfa992a2ee3cab2f639fb5a68463a673410ade6
2017-01-05 11:31:38 +08:00
Cameron McCormack babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
William Chen 8e941520c1 Bug 1307675 - Part 1: Record time from first paint to time of first input. r=baku,jwatt 2016-11-08 17:39:28 -08: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
Markus Stange 6381db9b78 Bug 1310900 - Speed up ScrollFrameHelper::GetScrolledRect for the case where there is no overflow. r=mattwoodrow
MozReview-Commit-ID: 35CWyjlkfsg

--HG--
extra : rebase_source : 93fad406dfd71e71e893f79d9cbb56ef49a98388
2016-10-18 11:12:01 -04: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
Alex Henrie b59026eb98 Bug 1301290 - Position resizer above own content but beneath overlapping content. r=mats 2016-10-06 08:44:00 -06:00
Kartikaya Gupta 3ac8695431 Bug 1305579 - If we fail to restore the scroll position while there's a reflow pending, hold on to it and try again later. r=tnikkel
MozReview-Commit-ID: DNmFJOiNeeW

--HG--
extra : rebase_source : b44d4c04c76a21fe00d8ae460068359550d3d136
2016-09-27 14:40:56 -04:00
Jonathan Kew 19eb5fe1ee Bug 1302389 - patch 2 - Add ScrollFrameHelper::IsBidiLTR to return the inline-bidi direction, as opposed to physical LTR-ness, and use this in GetScrolledFrameDir(). r=dholbert 2016-09-15 10:41:36 +01:00
Jonathan Kew 01c9f80e52 Bug 1302389 - patch 1 - Rename ScrollFrameHelper::IsLTR to IsPhysicalLTR for clarity (no behavior change). r=dholbert 2016-09-15 10:41:28 +01:00
Matt Woodrow c0a7b324b9 Bug 1300611 - Move overflow rect into correct coordinate space when computing perspective overflows so that it's not affected by scroll position. r=dbaron 2016-09-14 18:00:17 +12:00
Kartikaya Gupta 0de88e9b65 Bug 1295019 - Suppress the APZ displayport while doing main-thread async scrolling. r=BenWa
MozReview-Commit-ID: 4xbotjcH3ZU

--HG--
extra : rebase_source : 56efef087af9e2675810c85611ee4bb2712e27ac
2016-09-08 13:30:04 -04:00
Kartikaya Gupta f2a9facccf Bug 1297419 - Ensure that APZ smooth scrolls don't get clobbered by the main thread as a side-effect of reflow. r=tnikkel
MozReview-Commit-ID: 9124WMy8SmD

--HG--
extra : rebase_source : 848664a73b2357bbbc49604df03288fe5986053b
2016-09-06 14:43:41 -04:00
Daniel Holbert 5efd12c5f0 Bug 1300206: Add some missing #includes & namespaces in layout/generic, to prevent unified build bustage. r=mats
MozReview-Commit-ID: ETITppCzDjo

--HG--
extra : rebase_source : ca6f99991c9dfb1cf00c716c57b959d825560858
2016-09-02 15:01:09 -07:00
Kartikaya Gupta 3a210fcece Bug 1247074 - When a compositor-based smooth scroll animation is in progress and the scrollframe is reconstructed, restore to the animation destination. r=tnikkel
MozReview-Commit-ID: 73juHWNfoQy

--HG--
extra : rebase_source : 2820533eeb48870956cd6e545bd7705c898a6cad
2016-08-29 20:28:40 -04:00
Matt Woodrow 1dff32c24f Bug 1198135 - Part 3: Set the size of HTMLScrollFrames earlier so that we compute perspective earlier. r=dbaron 2016-08-25 11:18:56 +12:00
Matt Woodrow bdbef762ca Bug 1198135 - Part 2: Compute the scrolled rect stored by ScrollFrameHelper as what will actually be scrollable. r=dbaron 2016-08-25 11:15:46 +12:00
Matt Woodrow c38bfdabb3 Bug 1198135 - Part 1: Recompute all required overflow areas when scrolling. r=dbaron 2016-08-25 11:15:33 +12:00
tlin@mozilla.com 54d89b5a5c Bug 1295084 Part 3 - Move nsStyleImageLayers::Position to mozilla::Position. r=dholbert
--HG--
extra : rebase_source : 6684d08700f9d7fed9fc1572871a0250d43b74cf
2016-08-25 09:59:51 +00: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
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Phil Ringnalda bf198cf202 Backed out 2 changesets (bug 1198135) for e10s reftest assertion failures
CLOSED TREE

Backed out changeset 05d5dee06384 (bug 1198135)
Backed out changeset 0d6ede0caa26 (bug 1198135)
2016-08-18 19:23:26 -07:00
Matt Woodrow b2a3b682b3 Bug 1198135 - Part 2: Compute the scrolled rect stored by ScrollFrameHelper as what will actually be scrollable. r=dbaron
--HG--
extra : rebase_source : 3b47a778798069531d804393724b14194342866a
2016-08-18 16:09:47 +12:00
Matt Woodrow 06275ce493 Bug 1198135 - Part 1: Recompute all required overflow areas when scrolling. r=dbaron
--HG--
extra : rebase_source : a9e34de77013548aa8a456f171ec77e58930af81
2016-08-18 16:08:17 +12:00
Randall Barker 9a3fae864f Bug 1291373 - [geckoview] part 3, Remove MOZ_ANDROID_APZ r=botond,snorp 2016-08-16 14:33:43 -07:00
L. David Baron 6660436867 Bug 1294918 - Fix spelling of method name nsIFrame::IsAbsPosContainingBlock. r=dholbert
This misspelling was introduced in bug 1125767, changeset b9951cca6d1f.

MozReview-Commit-ID: KQNlLelY2Kn

--HG--
extra : rebase_source : 7b2b8379da23b06737b462dd4c316b5758d807a9
2016-08-12 18:39:45 -07:00