Commit Graph

393 Commits

Author SHA1 Message Date
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
531a753e23 Bug 1255856 - Don't allow paint-skipping if there are windowed plugins on the page. r=mstange,jimm
MozReview-Commit-ID: BzQcUrSqCr5
2016-03-15 15:12:11 -04:00
Kartikaya Gupta
a8f43cb473 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
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
Jim Mathies
e1dc9da3f2 Bug 1232181 - Notify plugins about scroll state. r=roc 2016-03-01 12:48:26 -06:00
Botond Ballo
cb9e347c28 Bug 1250550 - Ensure a scroll event posted during a refresh driver tick fires during that same tick. r=mats
MozReview-Commit-ID: 1ZvYjA6a5ay
2016-02-24 18:20:40 -05:00
Kartikaya Gupta
d9094aa96a Back out cset 447498cdecee for landing the wrong patch (it was obsoleted by a new one).
MozReview-Commit-ID: HOLKux4OtCQ
2016-03-01 09:38:55 -05:00
Botond Ballo
5b55c16a8a Bug 1250550 - Ensure a scroll event posted during a refresh driver tick fires during that same tick. r=mats
MozReview-Commit-ID: 1ZvYjA6a5ay
2016-02-24 18:20:40 -05:00
Kartikaya Gupta
2970550b4e Bug 1245925 - Don't allow expiring the displayport on root scrollframes. r=tnikkel
MozReview-Commit-ID: 8LGsk9uKyL5

--HG--
extra : rebase_source : 9edf7c6a4ce795da670f1ad06c8f86f9f05e4850
2016-02-10 17:11:28 -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
Kartikaya Gupta
34bce5bee6 Bug 990916 - Track if a scrollframe is a scroll parent for something else. r=tnikkel
--HG--
extra : commitid : KW9mVVtZikZ
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
Jim Mathies
1c7a623149 Bug 1193055 - Update windowed plugin visibility in response to apz scroll in the chrome process vs. relying on a full round trip through content. Reduces lag in windowed plugin updates. r=kats 2016-01-12 11:05:58 -06:00
David Anderson
74d965910c Fix crash trying to allocate textures for oversize scrollbars. (bug 1214261, r=mstange) 2015-12-17 11:13:45 -08: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
Kartikaya Gupta
4a4a0bcf45 Bug 1234242 - Keep a RefPtr to the refresh driver to unregister the ScrollEvent, rather than relying on a chain of pointers remaining non-null. r=mstange a=KWierso
--HG--
extra : commitid : JouJUWdzJl6
2015-12-21 14:40:20 -05:00
Markus Stange
8d6e827631 Bug 1209970 - Fire scroll events early in the refresh tick. r=mats
With APZ we want to be firing scroll events to content more consistently, so
we tie them to the refresh driver tick rather than firing them on paint or
haphazardly on the next spin of the event loop.

Patch by Markus Stange, test fixes by Kartikaya Gupta

--HG--
extra : commitid : 7nnkRC8afAJ
2015-12-17 17:19:30 -05:00
Kartikaya Gupta
edc45db293 Bug 1232048 - Fix breakage in scroll snapping when snapping twice in a row to the same thing with non-smooth-scrolls in between. r=botond
--HG--
extra : commitid : HOoM79IZd2u
2015-12-16 10:42:49 -05: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
6c7c3b6adf Bug 1228407 - Avoid a scenario where content floods APZ with smooth-scroll requests and blocks it from syncing a new scroll offset back to the main thread. r=botond
--HG--
extra : commitid : 6YhRu80eZzC
2015-12-09 10:13:34 -05:00
Kartikaya Gupta
9491a614c4 Back out three patches from bug 1228407 on a CLOSED TREE for causing various mochitest failures. r=backout
--HG--
extra : commitid : 7gaWjh5Noye
2015-12-08 21:00:30 -05:00
Kartikaya Gupta
56e9023bca Bug 1228407 - Avoid a scenario where content floods APZ with smooth-scroll requests and blocks it from syncing a new scroll offset back to the main thread. r=botond
--HG--
extra : commitid : LdMBKbQQw7V
2015-12-08 14:56:26 -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
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04: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
Timothy Nikkel
af289f8df8 Bug 1210578. Part 1. Rename mShouldBuildScrollableLayer to mWillBuildScrollableLayer to better capture the meaning of the variable. r=mstange 2015-10-12 15:21:49 -05:00
Timothy Nikkel
d566a599fe Backout part 1 of bug 1195431 (cf841511b71a). 2015-10-12 15:21:48 -05:00
Timothy Nikkel
77afdaa94b Backout part 2 of bug 1195431 (2e5d1c6a4a0c). 2015-10-12 15:21:48 -05:00
Timothy Nikkel
ed80010e77 Bug 1210577. Remove useless virtual keyword from ScrollFrameHelper::ComputeScrollClip. r=mstange 2015-10-12 13:50:14 -05:00
Jim Mathies
51bda23522 Bug 1137944 - Add plugin window handling for apz related notifications received by the content process. r=mstange 2015-10-06 14:23:25 -05:00
Jim Mathies
732721ad2a Bug 1137944 - Add support for hiding plugin windows during async dom scroll operations managed in the content process. r=roc 2015-10-06 14:23:24 -05:00
Kartikaya Gupta
32169b4218 Bug 1195431 - Extract a helper function to determine if the scrollframe will build a scrollable layer. r=tn
--HG--
extra : commitid : GlTZ55eBsS9
2015-09-23 09:34:41 -04:00
Kartikaya Gupta
d674ba3676 Bug 1195431 - Extract a couple of helper functions. r=tn
--HG--
extra : commitid : FK958utOKA5
2015-09-23 09:34:41 -04: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
Matt Woodrow
2ab56744ea Bug 1187432 - Avoid scheduling main-thread paints for scrolls handled by apz. r=tn
--HG--
extra : rebase_source : 343dabda5a9bbbeac0c25b69d63d0a82f595b599
2015-08-07 15:37:56 -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
Ehsan Akhgari
57a5698c57 Bug 1178745 follow-up: Mark overridden ComputeScrollClip() methods as override 2015-07-05 21:26:51 -04: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
Markus Stange
5fef3abfd9 Bug 990974 - When using display ports, don't clip the painted contents to the content box clip. r=roc
Store the content box clip on mAncestorClip, and store a different clip for the caret on mAncestorClipForCaret.
In a future patch, those clips will be selectively applied to the right layers.

--HG--
extra : rebase_source : e87e63a7ba5e963b7e3b22b5d93dc8c473a6a905
extra : histedit_source : b0e2193cf73222e51ed641e84ccaea8001e47324
2015-07-03 14:06:15 -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
Simon Montagu
37f044b028 Bug 1113206: Make nsComboboxControlFrame and nsListControlFrame use logical coordinates and support vertical writing modes - patch by smontagu with additions by jfkthame. r=jfkthame,smontagu 2015-02-08 07:31:14 -08:00