Commit Graph

107 Commits

Author SHA1 Message Date
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Botond Ballo
dcaca4bd51 Bug 1365761 - Do not dispatch mouse-move events targeted as a slider frame to web content. r=smaug
MozReview-Commit-ID: Cpi7orSO7dS
2017-06-05 15:05:47 -04:00
Botond Ballo
e1dda14275 Bug 1367488 - Pre-render offscreen portions of scrollbar thumbs inside an iframe. r=mstange
MozReview-Commit-ID: LCBHnFJdGtp
2017-05-29 18:05:05 -04:00
Mats Palmgren
6a8fbc8c30 Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame
MozReview-Commit-ID: 1RSDoc3pQXf
2017-05-26 12:11:11 +02:00
Mats Palmgren
450c7ae245 Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame
nsIFrame::mClass is of type enum class nsQueryFrame::ClassID which is
a strict subset of the nsQueryFrame::FrameIID values.  For a concrete
frame class, its FrameIID is the same numeric value as its ClassID.

MozReview-Commit-ID: 1N0AkCGo1ol
2017-05-26 12:11:11 +02:00
Botond Ballo
8e234d9959 Bug 1363219 - Try harder to pre-render offscreen portions of scrollbar thumbs. r=mstange
In bug 1359868 we started to do this, but we bounded the pre-render region for
the entire scrollbar by the widget bounds, which is not helpful for tall
scrollframes with short thumbs.

This time, we are bounding the pre-render region of the thumb only, so a small
thumb will always be completely painted.

MozReview-Commit-ID: 5LuP5Lfahdm
2017-05-08 18:28:26 -04:00
Botond Ballo
8108b297ed Bug 1349750 - Store the thumb's start offset in ScrollThumbData. r=kats
Also add a comment to AsyncDragMetrics documenting that mScrollbarDragOffset
is relative to the thumb's start offset.

MozReview-Commit-ID: uipsOCzs2N
2017-05-10 19:24:26 -04:00
Botond Ballo
f740ce1992 Bug 1349750 - Have AsyncDragMetrics use ScrollDirection instead of rolling its own direction enum. r=kats
MozReview-Commit-ID: FKK4OBx12oa
2017-05-10 15:22:04 -04:00
Botond Ballo
61bfdf00ee Bug 1349750 - Move the scroll track extents from AsyncDragMetrics to ScrollThumbData. r=kats
To conserve space in LayerAttributes, we only store the extents along the
relevant axis.

MozReview-Commit-ID: GAL8Oa2NOde
2017-05-05 15:54:27 -04:00
Botond Ballo
dae9a4232b Bug 1349750 - Add an 'is async-draggable' flag to ScrollThumbData. r=kats
This flag is set to false if there are any conditions that only the main
thread knows about that prevent the thumb from being async-dragged.

MozReview-Commit-ID: Gl7f7bY0QnA
2017-05-05 16:17:06 -04:00
Botond Ballo
b39fa43ef8 Bug 1349750 - Move the scroll thumb length from AsyncDragMetrics to ScrollThumbData. r=kats
MozReview-Commit-ID: Atp7Kgn6adM
2017-05-03 20:37:14 -04:00
Botond Ballo
50e80233ca Bug 1349750 - Group scroll thumb-related information in Layer into a ScrollThumbData structure. r=kats
The patch also renames Layer::SetScrollbarData() to Layer::SetScrollThumbData()
for clarity.

MozReview-Commit-ID: DVwJ3DMl3Zs
2017-05-10 14:02:15 -04:00
Emilio Cobos Álvarez
bcc37960bc Bug 1361749: Initialize nsSliderFrame::{mDragStart,mThumbStart}. r=mats
MozReview-Commit-ID: 6YeKLkjYrCB
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-03 22:06:31 +02:00
Emilio Cobos Álvarez
643f3f8618 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
Botond Ballo
7712d26767 Bug 1355374 - Use the AsyncDragMetrics to communicate the scroll thumb length to APZ. r=mstange
MozReview-Commit-ID: DJUKr4s9nWQ
2017-04-21 13:57:11 -04:00
Botond Ballo
cbbfccfb91 Bug 1355376 - Do not use async scrollbar dragging for scroll frames with custom scrollbar mediators. r=mstange
Supporting custom scrollbar mediators would require having custom logic in APZ
for each custom mediator. Since custom mediators are only used by legacy XUL
elements (<listbox> and <tree>) that isn't worth implementing.

MozReview-Commit-ID: KtCUvtiR1qn
2017-04-21 19:26:13 -04:00
Mats Palmgren
7c43dcf986 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Botond Ballo
3033c2fc21 Bug 1328065 - Record the target scroll id of scrollbar containers in the layer tree. r=mstange
MozReview-Commit-ID: DoyM64JJ4N8
2017-02-15 17:40:03 -05:00
Botond Ballo
c65e635354 Bug 1328658 - Notify main thread of a failed attempt to start an APZ scrollbar drag. r=kats,tnikkel
MozReview-Commit-ID: ERm1sVNfoKL
2017-01-27 18:02:22 -05:00
Markus Stange
683672b065 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
2017-01-31 17:07:35 -05:00
Kearwood Gilbert
de1fdf9722 Bug 1328053 - Correct thumb position when shift-click scrolling r=mats
During the refactoring of nsSliderFrame::SetCurrentPositionInternal in Bug 957445, one
of the two calls to nsSliderFrame::UpdateAttribute was missed.  This resulted in the position,
identified with nsGkAtoms::curpos, not being updated immediately after the call to
nsSliderFrame::SetCurrentThumbPosition

MozReview-Commit-ID: 6gedouG4OFX
2017-01-25 14:45:23 -08:00
Botond Ballo
27cc54475c Bug 1331693 - Do not attempt async scrollbar dragging for scroll info layers. r=tnikkel
MozReview-Commit-ID: 8QjqexfaKkY
2017-01-18 18:45:43 -05:00
Botond Ballo
f846c3557d Bug 1326290 - Correct sequencing of layer transaction and StartAsyncScrollbarDrag messages. r=kats
In cases where a mouse click that starts a scrollbar drag is also what
layerizes the scroll frame, the StartAsyncScrollbarDrag message needs to
arrive after the layer transaction. This patch ensures it does.

MozReview-Commit-ID: A02qRb6yWxg
2017-01-04 13:42:36 -05:00
Kevin Wern
999fc6893c Bug 1324581 - check event handled by apz in nsSliderFrame::StartAPZDrag r=botond
test_scroll_snapping_scrollbars.html is failing when apz.drag.enabled
is true because synthesizeMouse does not route events through APZ,
meaning that the drag is never handled by APZ or Gecko.

Resolve this by adding a check that mHandledByApz flag is true for
WidgetGUIEvent, and handle in Gecko if that is not the case.

MozReview-Commit-ID: IrxVLxqs64V
2016-12-23 03:49:38 -05:00
Kevin Wern
ecc77f4e3d bug 1249162 - Fix unwanted thumb shifts when starting APZ drag r=botond
Fix thumb position determination in these places:
- nsSliderFrame::StartAPZDrag() -- Constrain sliderTrack using
  GetXULClientRect() to match dimensions used in
  SetCurrentThumbPosition() and DoXULLayout(). This is what caused
  the scaling/offset mismatch.
- nsSliderFrame::StartAPZDrag() -- Adjust nonsensical calculation of
  cssSliderTrack. Should be sliderFrame + scrollbarFramePosition -
  compositionBoundsPosition, to get coordinates relative to the same
  region as that of APZ event coordinates.
- AsyncDragMetrics -- Make mScrollTrack and mScrollbarDragOffset float
  instead of int coordinates.
- AsyncPanZoomController::HandleDragEvent() -- Use
  GetAxisLength(scrollTrack) instead of GetAxisEnd(scrollTrack) in
  calculation of scrollMax.
- AsyncPanZoomController::HandleDragEvent() -- Only change position on
  MOUSE_MOVE.

Additional refactors:
- Rename HitTestingTreeNode::GetScrollSize() to GetScrollThumbLength(),
  along with related functions/variables.
- Rename AsyncPanZoomController::GetAxisSize() to GetAxisLength().
- Rename cf to scrollFrame in nsSliderFrame::StartAPZDrag().

MozReview-Commit-ID: CIsU8Pj6qfa
2016-11-27 20:48:08 -05:00
Julian Seward
acfd8c9284 Bug 1316556 - Remove zeroing allocation in class nsIPresShell. r=dbaron. 2016-12-01 09:06:50 +01:00
Botond Ballo
09658343c8 Bug 1318730 - Fire the ScrollInputMethod::MainThreadScrollbarTrackClick telemetry probe in the non-scrollToClick case as well. r=kats
MozReview-Commit-ID: EQRu1NwYQDM
2016-11-18 13:01:56 -05:00
Michael Layzell
c987b38274 Bug 1018486 - Part 4: Changes in layout/, r=bz
MozReview-Commit-ID: BsaKGHsoqOq
2016-09-07 10:50:40 -04:00
Nicholas Nethercote
1f65390cc9 Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.
2016-08-08 12:18:10 +10:00
Kyle Huey
a9cf047227 Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Benoit Girard
bde89d90bf Bug 1265825 - Remove mSuppressionActive assert. r=kats
MozReview-Commit-ID: I84IfyxwusB
2016-04-22 11:45:35 -04:00
L. David Baron
6fb63a21d2 Bug 1053986 - Rename nsBox::DoLayout to DoXULLayout. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

(While this wasn't explicitly reviewed, I'm considering it as r=dholbert
based on the request in comment 47 in the bug.)

MozReview-Commit-ID: 6Q0F4ViOyjJ
2016-04-20 21:28:35 -07:00
L. David Baron
3d37ecce2b Bug 1053986 - Rename nsIFrame::SetDebug to SetXULDebug. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: KQYtO7JS2Zm
2016-04-20 21:28:34 -07:00
L. David Baron
67c37d07c5 Bug 1053986 - Rename nsIFrame::Redraw to XULRedraw. r=dholbert
Written purely with sed, over .h and .cpp files in layout/, except for
the removal of one comment change in nsSliderFrame.cpp.

MozReview-Commit-ID: 2jpzaby0S9r
2016-04-20 21:28:34 -07:00
L. David Baron
73681d08ee Bug 1053986 - Rename nsIFrame::IsHorizontal to IsXULHorizontal, and related methods. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

This also renames a static method on nsSprocketLayout.

Note that nsFlexContainerFrame and nsRangeFrame also have IsHorizontal
methods that are not renamed here, but this can be found to be
relatively safe because none of the IsHorizontal methods are virtual.

MozReview-Commit-ID: Jsdy7I4Q7mX
2016-04-20 21:28:34 -07:00
L. David Baron
6230207f72 Bug 1053986 - Rename nsIFrame::GetClientRect to GetXULClientRect. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: 2F7Bt3i4ogu
2016-04-20 21:28:33 -07:00
L. David Baron
6d08aa5a6b Bug 1053986 - Rename nsIFrame::GetMargin to GetXULMargin. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: GqAa9wyb8z3
2016-04-20 21:28:33 -07:00
L. David Baron
35a7b6bf73 Bug 1053986 - Rename nsBox::GetChildBox to GetChildXULBox. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: 61Fye82NdT4
2016-04-20 21:28:32 -07:00
L. David Baron
62a468a6c1 Bug 1053986 - Rename nsIFrame::GetFlex to GetXULFlex. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: DNL01eSXB73
2016-04-20 21:28:31 -07:00
L. David Baron
8f4665f9af Bug 1053986 - Rename nsIFrame::GetMaxSize to GetXULMaxSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: 39fYXMz7kqR
2016-04-20 21:28:31 -07:00
L. David Baron
0527201e1d Bug 1053986 - Rename nsIFrame::GetPrefSize to GetXULPrefSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: yvcAZ8rndu
2016-04-20 21:28:31 -07:00
L. David Baron
4419f3e86b Bug 1053986 - Rename nsIFrame::GetMinSize to GetXULMinSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: Jhe3o3kIOe0
2016-04-20 21:28:31 -07:00
L. David Baron
7511e4ea42 Bug 1053986 - Rename nsIFrame::IsBoxFrame to IsXULBoxFrame. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

But with additional manual changes in accessible/.

MozReview-Commit-ID: W0wUPoQsVH
2016-04-20 21:28:30 -07:00
Benoit Girard
3299e1ebd4 Bug 1257369 - Suppress the DisplayPort when scrolling via nsSliderFrame. r=kats
MozReview-Commit-ID: 8I3UfWlkdPq
2016-03-18 14:46:54 -04:00
Kartikaya Gupta
1b0954a823 Bug 1253860 - Don't update the scrollbar unless we're actually painting. r=mstange
MozReview-Commit-ID: 3JIcp2NFwRn
2016-03-09 22:57:15 -05:00