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

129 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 45a0aff526 Bug 1418387 - Make the nsDisplayOwnLayer flags more strongly typed. r=mstange
MozReview-Commit-ID: 8s14jKhp9Lb

--HG--
extra : rebase_source : be3c14215018bb1fa46a753b0746068b8454e92e
2017-11-24 16:23:04 -05:00
Botond Ballo 42f0a3bac7 Bug 1420516 - Remove ScrollDirection::NONE. r=kats
ScrollDirection variables for which NONE was a valid value are replaced with
Maybe<ScrollDirection>.

I also took the opportunity to change the remaining ScrollDirection
enumerators to eTitleCase as per style guide.

MozReview-Commit-ID: GWejQR2HqH5

--HG--
extra : rebase_source : 6f8ad222caf73f9e02d772234f188eac4aac9301
2017-11-20 19:00:34 -05:00
Matt Woodrow aab0cbe92c Bug 1406727. r=froydnj 2017-11-16 16:09:28 +13:00
Narcis Beleuzu af710e4746 Backed out changeset 0f783930e1b2 (bug 1406727) for GTest failures on ArenaAllocator. r=backout on a CLOSED TREE 2017-11-16 07:45:06 +02:00
Matt Woodrow 5e1a10f3be Bug 1406727. r=froydnj 2017-11-16 16:09:28 +13:00
Mats Palmgren 1c2b8c222e Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio
MozReview-Commit-ID: 8FPTPKWyVtY
2017-11-09 03:00:48 +01:00
Mats Palmgren 25cd0c37f7 Bug 1400618 part 1 - Collect NAC / generated content and call DestroyAnonymousContent / UnbindFromTree on those after the frames are destroyed. r=bz
MozReview-Commit-ID: 2trDgeJPw25
2017-11-07 01:20:33 +01:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
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: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E) 31e9b3f8cd Bug 1404181 - Part 2: Track a 'visible' rect for display list building as well as the 'dirty' rect, so that we can do partial building by specifying a smaller 'dirty' rect. r=mstange
MozReview-Commit-ID: 7DUV9dl4zb1

--HG--
extra : rebase_source : e7bf5eacba44ce9cf77c55d623edef33a85f0492
2017-10-04 14:28:38 +13:00
Timothy Nikkel 52d23be2f4 Bug 1409215. Don't change scroll thumbs into AGRs during display list building. r=mstange
Find the scrollframe for a scrollbar thumb and use it to determine if the scrollthumb is an AGR, instead of recording if the associated scrollframe is active on a frame property during display list building.
2017-05-19 17:04:19 -05:00
Matt Woodrow d8a662f0d2 Bug 1406727. r=mstange,froydnj a=abillings
--HG--
extra : rebase_source : a9932eb10d3ca451e1ce3a424cd48e957801f593
2017-10-17 15:19:44 +13:00
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Nicholas Nethercote dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Jonathan Watt 107bd0b650 Bug 1399824, part 2 - Always use nsIFrame::AddStateBits instead of manual bit twiddling. r=xidorn
MozReview-Commit-ID: JoEiQQI2kZ5
2017-08-24 12:09:42 +01:00
Jonathan Watt 9d21fb29ff Bug 1399824, part 1 - Always use nsIFrame::RemoveStateBits instead of manual bit twiddling. r=xidorn
MozReview-Commit-ID: KynEge1U4aS
2017-08-24 10:55:28 +01:00
Botond Ballo c8286ea7d2 Bug 1367765 - Do not scroll-to-click on touchstart if touch point is over thumb. r=rhunt
This matches the behaviour of mouse events over a scroll thumb.

MozReview-Commit-ID: ArLzC6JXfos

--HG--
extra : rebase_source : 96f83e6b312dabd3c5573d73c1ce3f01e53055e5
2017-09-06 19:14:39 -04:00
Sylvestre Ledru b00d571d1c Bug 1389905 - Remove an useless call on GetCurrentReferenceFrame from BuildDisplayListForChildren r=botond
MozReview-Commit-ID: 2g282hyyEj7

--HG--
extra : rebase_source : cb16e21699158d466e6c79cc03264cf05dbd50d6
2017-08-13 11:44:56 +02:00
Matt Woodrow 40f5b92e3b Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Sebastian Hengst 8257b2d113 Backed out changeset 8f2dd8f13b53 (bug 1388161) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:21 +02:00
Matt Woodrow a3a130b6ff Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Matt Woodrow 3f444dd59f Bug 1378455 - Don't minimize the visible region for the scrollbar thumb in FrameLayerBuilder since it can move asynchronously. r=mstange 2017-08-01 11:09:53 +12:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Bill McCloskey f115503a0b 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 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f 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 ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 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 52ab6c0bae Bug 1365761 - Do not dispatch mouse-move events targeted as a slider frame to web content. r=smaug
MozReview-Commit-ID: Cpi7orSO7dS

--HG--
extra : rebase_source : 30bd643922409f47eb2318938a07e7543337d625
2017-06-05 15:05:47 -04:00
Botond Ballo 539791ed1e Bug 1367488 - Pre-render offscreen portions of scrollbar thumbs inside an iframe. r=mstange
MozReview-Commit-ID: LCBHnFJdGtp

--HG--
extra : rebase_source : 1ab1d812674d321d76e634953284b3983774d798
2017-05-29 18:05:05 -04:00
Mats Palmgren a254b64145 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 1242172259 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 81d91f5996 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

--HG--
extra : rebase_source : 3ab45f979160d7991aec71020cf57c9a1e57d1ce
2017-05-08 18:28:26 -04:00
Botond Ballo 390338b8cd 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

--HG--
extra : rebase_source : 25183e22cb7ffb9995a2594d6aea106cdef7924a
2017-05-10 19:24:26 -04:00
Botond Ballo 933619aa8d Bug 1349750 - Have AsyncDragMetrics use ScrollDirection instead of rolling its own direction enum. r=kats
MozReview-Commit-ID: FKK4OBx12oa

--HG--
extra : rebase_source : 538579bd965863ecac5d7846f1c5df232b8a2108
2017-05-10 15:22:04 -04:00
Botond Ballo 9127b9d4f3 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

--HG--
extra : rebase_source : 9420d0fb36175e190cbff6e162fd41d8e5240c81
2017-05-05 15:54:27 -04:00
Botond Ballo bae009bd63 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

--HG--
extra : rebase_source : 60ab680a3995e3b5c0e1b4482ca0e7142352bbd2
2017-05-05 16:17:06 -04:00
Botond Ballo 3bc007b384 Bug 1349750 - Move the scroll thumb length from AsyncDragMetrics to ScrollThumbData. r=kats
MozReview-Commit-ID: Atp7Kgn6adM

--HG--
extra : rebase_source : f22d89f6b8397984e48657dda7f68826c3cc90f8
2017-05-03 20:37:14 -04:00
Botond Ballo 6c0eea50b3 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

--HG--
extra : rebase_source : 7b2bfccf1351c82bb16296635e69d5488c87a50f
2017-05-10 14:02:15 -04:00
Emilio Cobos Álvarez 13cbafea32 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 23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Botond Ballo 9323d2bb93 Bug 1355374 - Use the AsyncDragMetrics to communicate the scroll thumb length to APZ. r=mstange
MozReview-Commit-ID: DJUKr4s9nWQ

--HG--
extra : rebase_source : d5f9a265098c343416fc933135b4f28a808cd49e
2017-04-21 13:57:11 -04:00
Botond Ballo 3c8b50b2af 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

--HG--
extra : rebase_source : dfd301da4d6877dd636c9719df46409db260d94c
2017-04-21 19:26:13 -04: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
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
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 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
Kearwood Gilbert ae9a989263 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

--HG--
extra : rebase_source : dd29d90e6f10be87f652241ad138d4533bda1010
2017-01-25 14:45:23 -08:00
Botond Ballo fe7fc8ea5b Bug 1331693 - Do not attempt async scrollbar dragging for scroll info layers. r=tnikkel
MozReview-Commit-ID: 8QjqexfaKkY

--HG--
extra : rebase_source : 293d68db3cea84810679a59dcfa234103643d8bb
2017-01-18 18:45:43 -05:00
Botond Ballo e8cc185f9d 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

--HG--
extra : rebase_source : 3517e8c8a578a0bd257a80bb8cb81303d171bb6c
2017-01-04 13:42:36 -05:00