Commit Graph

131 Commits

Author SHA1 Message Date
Timothy Nikkel
cafba44425 Bug 1352074. Remove high precision timer mode from refresh driver because it is not needed with vsync based refresh drivers. r=mchang
Bug 731974 added this code to get more accurate timer callbacks back when the refresh driver was based on timers. It shouldn't be needed anymore now that the refresh driver is based on vsync.
2017-04-04 00:14:28 -05:00
Samael Wang
fb90ba2dfe Bug 1283947 - Clear pending transactions when ClientLayerManager is assigning to a different refresh driver. r=mattwoodrow 2017-03-09 18:35:50 +08:00
Matt Woodrow
96389b5cf7 Bug 1302071 - Part 1: Remove AddPresShellToInvalidateIfHidden since it doesn't appear to be necessary. r=tnikkel
We added this so that MozAfterPaint events would be delivered to hidden documents as part of bug 539356, but I don't remember what needed it.
It doesn't appear to be necessary for any tests any more, so let's just get rid of it

MozReview-Commit-ID: HcmIjstZyLQ
2017-02-17 11:49:29 +13:00
Tobias Schneider
16eed66e0c Bug 1319134 - (intersection-observer) Switch from idle callback to post task. r=mstange
MozReview-Commit-ID: BJTmIWqkVn5
2017-02-08 10:34:02 -08:00
Kartikaya Gupta
a2a492cb06 Bug 1312319 - Add a NS_INLINE_DECL_PURE_VIRTUAL_REFCOUNTING macro and replace existing pure-virtual AddRef/Release declarations. r=froydnj
MozReview-Commit-ID: 5yt3O4Hoois
2017-01-25 14:51:34 -05:00
Nathan Froyd
1163f53bac Bug 1142197 - manage ProfilerBacktrace with UniquePtr; r=mstange
Smart pointers are better than raw pointers.
2017-01-06 09:21:01 -05:00
Cameron McCormack
5f9911da79 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
Cameron McCormack
a35ad172e6 Bug 1328832 - Part 1: Rename mozFlushType.h to FlushType.h. r=bzbarsky
MozReview-Commit-ID: 1ubwNkBEdfz
2017-01-05 14:54:02 +08:00
Phil Ringnalda
f248bc19c8 Merge m-i to m-c, a=merge 2016-10-30 10:55:00 -07:00
Tobias Schneider
0b1c8478a1 Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-28 10:24:00 -04:00
Andreas Farre
b6e8a0530c Bug 1198381 - Implement the requestIdleCallback feature, r=froydnj,mattwoodrow,smaug
Expose requestIdleCallback on Window and implement running callbacks
in idle periods by posting rICs to the main threads idle queue.

MozReview-Commit-ID: KSYQsyaZ6is
2016-08-22 14:52:45 +02:00
Carsten "Tomcat" Book
3fb3787b20 Backed out changeset eb2606332cb8 (bug 1198381) 2016-10-25 12:32:54 +02:00
Andreas Farre
a990fe8f33 Bug 1198381 - Implement the requestIdleCallback feature, r=froydnj,mattwoodrow,smaug
Expose requestIdleCallback on Window and implement running callbacks
in idle periods by posting rICs to the main threads idle queue.

MozReview-Commit-ID: KSYQsyaZ6is
2016-08-22 14:52:45 +02:00
Olli Pettay
fffb815d77 Bug 1308459 - Rename RefreshDriver::PresContext() to hint about its behavior, r=tnikkel 2016-10-12 14:27:38 +03:00
Joel Maher
dc82a36645 Backout 472858f465b0 (Bug 1290158) for perf regression.
MozReview-Commit-ID: 92eO5YtKLoj
2016-09-23 06:20:33 -04:00
Neil Rashbrook
64d79b3dcf Bug 1290158 Don't generate synthetic paint events for invisible documents r=mattwoodrow 2016-09-14 15:55:45 +01:00
Nicolas Silva
3df2d5ed10 Bug 1298085 - Don't unthrottle the refresh driver after 200ms when waiting for compositor transactions. r=mchang 2016-09-09 12:06:29 +02:00
Emilio Cobos Álvarez
95dc632f01 Bug 1286445: stylo: Support restyles of non-pseudo content on state change. r=heycam
This includes, for example :hover.

Also removes the call to IsStyledByServo() in the document constructor, it's not
only unnecessary, but also we call UpdateStyleBackendType() too early.

MozReview-Commit-ID: 4YfCdmLoSxu
2016-07-16 16:22:12 -07:00
Kyle Huey
ab5fe91f6b Bug 1273737: Shutdown the refresh driver when there are no more refresh drivers. r=dbaron,mchang 2016-06-06 06:51:15 -07:00
Xidorn Quan
1a169dea39 Bug 1267568 part 4 - Replace InFullscreenChange flag of PresShell with IsResizeSuppressed flag in RefreshDriver. r=smaug
MozReview-Commit-ID: FB3vGXwKZ9O
2016-05-03 17:58:57 +10:00
Mike Conley
d6ec983152 Bug 1264409 - Make last transaction ID available via nsIDOMWindowUtils, and pass transaction ID through MozAfterPaint. r=mattwoodrow,mrbkap
MozReview-Commit-ID: 7wCYif8F6ws
2016-04-13 16:59:15 -04:00
Seth Fowler
0f24c44100 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
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Hiroyuki Ikezoe
cdd75e42cf Bug 1235478 - Part 2: Don't update mMostRecentRefresh when nsRefreshDriver::ScheduleViewManagerFlush is called. r=mchang 2016-01-05 12:50:59 +09:00
Hiroyuki Ikezoe
a1055ecf14 Bug 1235478 - Part 1: Rename eAdjustingTimer to eForceAdjustTimer. r=mchang 2016-01-05 12:50:59 +09:00
Phil Ringnalda
d871b9515f Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
David Rajchenbach-Teller
6ddd95efcc Bug 1219144 - Using the nsRefreshDriver's jank indication for performance monitoring;f?froydnj r=froydnj
This patch (currently WIP) alters the way we determine whether jank is user-visible or not.

Instead of measuring the total time spent doing JS, we now use an
indicator provided by the vsync driver: how long it takes to deliver
the signal from the vsync timer to the main thread. This lets us find
out more accurately if there is user-visible jank. In the future, this
will also let us add an observer to find out whether the process
itself is janky, regardless of JS.
2016-01-14 15:07:18 +01:00
Wes Kocher
b6be336cce Backed out 2 changesets (bug 1235478) for possibly breaking weightmapping-12579.html CLOSED TREE
Backed out changeset 02784824ebf1 (bug 1235478)
Backed out changeset 02c3c24dff8c (bug 1235478)
2016-01-05 16:48:24 -08:00
Hiroyuki Ikezoe
94c711598d Bug 1235478 - Part 2: Don't update mMostRecentRefresh when nsRefreshDriver::ScheduleViewManagerFlush is called. r=mchang 2016-01-05 12:50:59 +09:00
Hiroyuki Ikezoe
fbe01ca32a Bug 1235478 - Part 1: Rename eAdjustingTimer to eForceAdjustTimer. r=mchang 2016-01-05 12:50:59 +09:00
David Rajchenbach-Teller
f4935365ef Bug 1219145 - nsRefreshDriver::IsJankCritical(). r=hiro
To refine its alerts, Performance Stats API needs to be able to know whether a long-running operation is actually causing user-visible jank in the current process. This patch introduces a trivial API that lets clients ask the refresh driver whether any kind of animation is ongoing.
2015-10-30 14:35:46 +01:00
Nicholas Nethercote
b4b86f8b93 Bug 1187784 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in layout/ with iterators. r=heycam. 2015-10-22 21:16:45 -07:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Brian Birtles
94c7d4f13c Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Carsten "Tomcat" Book
e088d1a6e6 Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Brian Birtles
52884f9d33 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Hiroyuki Ikezoe
0c5116ffdd Bug 1187811 - Remove unused epoch time from RunFrameRequestCallbacks. r=bkelly 2015-07-27 01:06:00 +02:00
Boris Zbarsky
980b01eecd Bug 909154. Remove the prefixed mozRequestAnimationFrame and its accoutrements. r=bkelly 2015-07-20 10:14:24 -04:00
Ting-Yu Lin
b81859299e Bug 1182963 - Use nsTHashTable::Iterator in nsRefreshDriver. r=njn 2015-07-15 17:05:06 +08:00
Birunthan Mohanathas
a29151dc87 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
Xidorn Quan
68d3dbfafc Bug 1168705 part 1 - Add mechanism for dispatching events with refresh driver tick. r=roc,khuey 2015-07-02 19:12:31 +10:00
Andrea Marchesini
ea90306738 Bug 1177764 - Use nsTObserverArray in APZCCallbackHelper, r=kats, r=dholbert 2015-06-26 13:20:10 -07:00
Seth Fowler
78f8fd77c3 Bug 1169880 - Recompute image visibility on a timer if layout or style flushes have occurred. r=tn 2015-05-29 23:50:51 -07:00
Olli Pettay
8c8bd21dd0 Backout Bug 1149555 because of tresize regression, a=backout 2015-05-08 20:12:41 +03:00
Olli Pettay
f40b7ab96e Bug 1149555 - Update resize event firing to follow the specs, dispatch right before rAF callbacks, r=dbaron 2015-05-05 17:56:01 +03:00
Andrea Marchesini
f0aa02df0b Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Seth Fowler
3f88e08b1d Bug 1145439 (Part 1) - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-21 09:44:40 -07:00
Ryan VanderMeulen
ef7aaf774b Backed out changeset 3366d180e8ee (bug 1145439) for test_scroll_event_ordering.html failures. 2015-04-09 22:59:10 -04:00
Seth Fowler
d07bba6c7c Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-09 17:52:23 -07:00