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

255 Коммитов

Автор SHA1 Сообщение Дата
David Rajchenbach-Teller a4607bcbef 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.

--HG--
extra : rebase_source : a538e3cc9d8904f52d4a0e7bad291189986e4e6d
2016-01-14 15:07:18 +01:00
Sylvestre Ledru ab4e3a0d42 Bug 1218816 - Remove useless semicolons. Found by coccinelle. r=Ehsan
--HG--
extra : rebase_source : 7d2cc56b6553cd7a8d848d3c660f30735bd82eec
2016-01-22 16:58:49 +01:00
Timothy Nikkel 6cd0b6de0f Bug 1241651. Remove nsPresContext::GetDisplayRootPresContext. r=mattwoodrow
It should no longer serve any purpose different from nsPresContext::GetRootPresContext.
2016-01-21 19:09:04 -06:00
Aidin Gharibnavaz e6606278c0 Bug 1230216 - Changing nsIDOM*Event interfaces so that they don't inherit nsIDOMEvent. r=smaug
All the event interfaces changed except for nsIDOMUIEvent and its inheritors.

--HG--
extra : transplant_source : %A5U%3F%80%2B%DD%01%F4%D8%21%F2%E9z%C1%D6%AA%CC%D4%EC%F8
2016-01-12 07:49:08 +03:30
Brian Birtles 7a8bb45336 Bug 1232577 part 15 - Drop LastStyleUpdateForAllAnimations flag from pres context; r=heycam
nsPresContext contains a mLastStyleUpdateForAllAnimations flag which is simply
used to prevent unnecessarily posting restyles when throttled animations are
already up to date. Since part 13 we now accurately record whether we have
posted a restyle for each throttled animation and only post a restyle if we
have not done so already. As a result, this flag is no longer needed since
calling PostRestyleForThrottledAnimations is effectively a noop when throttled
animations are up-to-date.
2016-01-13 07:54:55 +09:00
Wes Kocher f3d6d2a7a0 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)

--HG--
extra : commitid : vpWzuDU0NP
2016-01-05 16:48:24 -08:00
Hiroyuki Ikezoe 3614d255d8 Bug 1235478 - Part 2: Don't update mMostRecentRefresh when nsRefreshDriver::ScheduleViewManagerFlush is called. r=mchang
--HG--
extra : transplant_source : %86e%80%9D%07%B0K%16%EB%FC%5D%9B%CA%D6%A1_%D2y%A0%7E
2016-01-05 12:50:59 +09:00
Hiroyuki Ikezoe 155e16e777 Bug 1235478 - Part 1: Rename eAdjustingTimer to eForceAdjustTimer. r=mchang
--HG--
extra : transplant_source : 0%E9%E1%19%05%3F3%12%95%C3%A1%CE%22VI%EFe%97%A4%C9
2016-01-05 12:50:59 +09:00
David Anderson 8a7ec78385 Force a repaint after DXGI device resets. (bug 1188019, r=bas) 2015-12-17 11:20:08 -08:00
Avi Halachmi 9b56ccfb99 Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 20:06:40 +02:00
Wes Kocher 0f6a2a587a Backed out 2 changesets (bug 1228147) for build failures in histogram.h on a CLOSED TREE
Backed out changeset 35b4ba91e093 (bug 1228147)
Backed out changeset 8a2f45c8d25d (bug 1228147)

--HG--
extra : commitid : Atv8AVyyd9h
2015-12-16 09:27:37 -08:00
Avi Halachmi 7762c6b58a Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 17:18:45 +02:00
Boris Zbarsky 73208ce2f3 Bug 1228707. Add a away to call Web IDL callbacks while ignoring any errors from them, and use it in a few places. r=smaug 2015-11-30 22:04:09 -05:00
David Rajchenbach-Teller 1149491997 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.

--HG--
extra : transplant_source : %81W%81%C9%84H%8E%D4%0A%A8%10E%06%A5%10%60%9A3%2Ch
2015-10-30 14:35:46 +01:00
Mason Chang 5af03a5859 Bug 1221674 Part 2: Correct for negative content delay values. r=avih 2015-11-16 16:21:04 -08:00
Mason Chang 675f9bf1f2 Bug 1210261. Tick root refresh driver last. r=mattwoodrow 2015-11-16 08:12:38 -08:00
Mason Chang cde405cbff Backout bug 1210261 for multiple talos regressions. r=me 2015-11-13 13:47:34 -08:00
Mason Chang 903bae3946 Bug 1210261. Tick root refresh driver last. r=mattwoodrow 2015-11-13 07:14:09 -08:00
sajitk 85550613ed Bug 1219470 - Replace PRLogModuleInfo with LazyLogModule. r=roc 2015-11-05 23:35:03 +01:00
Mason Chang 8aa60c20d6 Bug 1221674 - Add telemetry probe in the content process to measure the time between refresh driver ticks. r=kats 2015-11-06 08:20:58 -08:00
Mason Chang 02d08f46c2 Bug 1220699 - Add telemetry probe to measure vsync latency in the parent refresh driver. r=avih 2015-11-02 13:21:06 -08:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Carsten "Tomcat" Book 758c43af6b merge mozilla-inbound to mozilla-central a=merge 2015-10-26 10:57:35 +01:00
Nicholas Nethercote 7beaebbb7f Bug 1187784 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in layout/ with iterators. r=heycam.
--HG--
extra : rebase_source : d839f0a7cff06a14087976b6027b613ba1da2c78
2015-10-22 21:16:45 -07:00
Victor Porof 9dc0ce6b1a Bug 1202657 - Add markers for workers' message passing and serialization/deserialization, r=smaug, jsantell, tromey, ejpbruel
--HG--
rename : docshell/base/timeline/OTMTMarkerReceiver.h => docshell/base/timeline/MarkersStorage.h
2015-10-21 23:10:05 +02:00
Hiroyuki Ikezoe d401093cb1 Bug 1217230 - Set mNeedToRecomputeVisibility true only when style or layout flush. r=seth 2015-10-21 16:12:00 +02: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
Brian Birtles 79712e86f3 Bug 1211334 - Check if presshell is still available after dispatching transition events; r=mats
--HG--
extra : rebase_source : 56d3eece41439cc71573f85cacdc3ab3e86a665d
2015-10-08 08:19:52 +09:00
Brian Birtles 183dc5eeee Bug 1183461 part 7 - Add EventInfoComparator and sort events; r=heycam
This patch also reworks the dispatch of events in nsRefreshDriver. Previously
the refresh driver would dispatch the transition events for all subdocuments
then the animation events. This arrangement is complicated and not obviously
necessary. This patch simplifies this arrangement by dispatching transition
events and animation events for each document before proceeding to
subdocuments.

--HG--
extra : rebase_source : ed9147de4a4b5f36e444bdab82e45ee2143e5be8
2015-09-15 14:05:49 +09:00
Mason Chang 76b8c1d6e8 Bug 1160216 - Add a preference to force software vsync and set software vsync rate. r=kats 2015-09-15 08:13:57 -07:00
Victor Porof e14eb49e91 Bug 1195232 - Stop using TracingMetadata from GeckoProfiler.h, r=tromey 2015-08-31 16:14:14 +02:00
Mason Chang 29e0f6a8fd Bug 1198362 - Delete PreciseRefreshDriverTimer. r=roc 2015-08-26 09:45:54 -04:00
Mason Chang 1c24730f8d Bug 1197898 - Delete vsync refresh driver preference. r=kats 2015-08-25 09:01:40 -04:00
Mason Chang 696de26763 Bug 1197201. Delete hardware vsync and vsync compositor prefs. r=kats 2015-08-24 11:27:23 -04:00
Mason Chang bb25bd45bf Bug 1190257. Use the previous vsync timestamp on windows 10. r=jrmuizel 2015-08-18 09:11:12 -07:00
Mason Chang aefa45f713 Bug 1144946 - Delete PreciseRefreshDriverTimerWindowsDwmVsync refresh driver timer. r=roc
--HG--
extra : histedit_source : ae7f29c200c78e60695e87eb272c9c4d4abf51b9
2015-08-13 08:22:28 -07:00
Brian Birtles 4de3f5331e Bug 1180125 part 8 - Dispatch transition events from refresh driver; r=dbaron
This patch causes transition events to be dispatched as a separate step after
sampling the transitions. Eventually this will allow us to sample transitions
from their timeline (independently of where they came from and in potentially
any order) by separating the concepts of sampling and event dispatch.
2015-07-29 10:57:40 +09:00
Brian Birtles 0d79f0c537 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
Timothy Nikkel 230060027b Bug 1106115. Ensure that we check if we should exit high precision timer mode in the refresh driver after we have processed all requestAnimateFrame callbacks. r=vlad
When the refresh driver ticks it clears the RAF callbacks (content asks for another RAF if it desires) but it wasn't checking if it should exit high precision mode at this point.

The previous code seemed like it was using the wrong model that a RAF is persistent until it is revoked. But that is not the case.
2015-07-30 14:32:19 -05:00
Carsten "Tomcat" Book 61664e5c9a Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Carsten "Tomcat" Book e7b44f4611 Backed out changeset 677efdac9819 (bug 1180125) 2015-07-29 17:31:57 +02:00
Brian Birtles f4403c8f20 Bug 1180125 part 8 - Dispatch transition events from refresh driver; r=dbaron
This patch causes transition events to be dispatched as a separate step after
sampling the transitions. Eventually this will allow us to sample transitions
from their timeline (independently of where they came from and in potentially
any order) by separating the concepts of sampling and event dispatch.
2015-07-29 10:57:40 +09:00
Brian Birtles 880fd89013 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 8132cd81a4 Bug 1187811 - Remove unused epoch time from RunFrameRequestCallbacks. r=bkelly 2015-07-27 01:06:00 +02:00
Victor Porof 8f1e61795d Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Ryan VanderMeulen 3ed56bb494 Merge m-c to fx-team. a=merge 2015-07-20 16:05:14 -04:00
Boris Zbarsky a435429163 Bug 909154. Remove the prefixed mozRequestAnimationFrame and its accoutrements. r=bkelly 2015-07-20 10:14:24 -04:00
Victor Porof c08ba2500f Bug 1183229 - Add a way to count the number of timeline-observed docshells outside of nsDocShell, r=smaug 2015-07-18 09:35:59 -04:00
Victor Porof 81a5c929bd Bug 1183219 - Backed out last 5 changesets for bustage, r=me on a CLOSED TREE 2015-07-18 10:21:09 -04:00
Victor Porof cddc9e87fc Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00