Commit Graph

347 Commits

Author SHA1 Message Date
David Anderson
0c91fa9bc6 Force a repaint after DXGI device resets. (bug 1188019, r=bas) 2015-12-17 11:20:08 -08:00
Avi Halachmi
cb31fcea50 Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 20:06:40 +02:00
Wes Kocher
c09cb3b32b 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)
2015-12-16 09:27:37 -08:00
Avi Halachmi
8c9734035f Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 17:18:45 +02:00
Boris Zbarsky
b46dbee839 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
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
Mason Chang
6d0bad29fc Bug 1221674 Part 2: Correct for negative content delay values. r=avih 2015-11-16 16:21:04 -08:00
Mason Chang
436d2012c1 Bug 1210261. Tick root refresh driver last. r=mattwoodrow 2015-11-16 08:12:38 -08:00
Mason Chang
70d36d45a0 Backout bug 1210261 for multiple talos regressions. r=me 2015-11-13 13:47:34 -08:00
Mason Chang
6cd9e04619 Bug 1210261. Tick root refresh driver last. r=mattwoodrow 2015-11-13 07:14:09 -08:00
sajitk
3af487f614 Bug 1219470 - Replace PRLogModuleInfo with LazyLogModule. r=roc 2015-11-05 23:35:03 +01:00
Mason Chang
dddd41a880 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
52de94c3f7 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
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Carsten "Tomcat" Book
d7e16e253d merge mozilla-inbound to mozilla-central a=merge 2015-10-26 10:57:35 +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
Victor Porof
c069753edc Bug 1202657 - Add markers for workers' message passing and serialization/deserialization, r=smaug, jsantell, tromey, ejpbruel 2015-10-21 23:10:05 +02:00
Hiroyuki Ikezoe
b00a73e6f8 Bug 1217230 - Set mNeedToRecomputeVisibility true only when style or layout flush. r=seth 2015-10-21 16:12:00 +02: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
d2d89aa26f Bug 1211334 - Check if presshell is still available after dispatching transition events; r=mats 2015-10-08 08:19:52 +09:00
Brian Birtles
73c7d64d21 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.
2015-09-15 14:05:49 +09:00
Mason Chang
a697625f94 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
a6918158c6 Bug 1195232 - Stop using TracingMetadata from GeckoProfiler.h, r=tromey 2015-08-31 16:14:14 +02:00
Mason Chang
e958cc46f9 Bug 1198362 - Delete PreciseRefreshDriverTimer. r=roc 2015-08-26 09:45:54 -04:00
Mason Chang
fd86cbdc47 Bug 1197898 - Delete vsync refresh driver preference. r=kats 2015-08-25 09:01:40 -04:00
Mason Chang
05ca517d4c Bug 1197201. Delete hardware vsync and vsync compositor prefs. r=kats 2015-08-24 11:27:23 -04:00
Mason Chang
e6d4595f9e Bug 1190257. Use the previous vsync timestamp on windows 10. r=jrmuizel 2015-08-18 09:11:12 -07:00
Mason Chang
3da784a54d Bug 1144946 - Delete PreciseRefreshDriverTimerWindowsDwmVsync refresh driver timer. r=roc 2015-08-13 08:22:28 -07:00
Brian Birtles
400ff4db0d 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
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
Timothy Nikkel
6d39ec837a 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
e088d1a6e6 Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Carsten "Tomcat" Book
874849f032 Backed out changeset 677efdac9819 (bug 1180125) 2015-07-29 17:31:57 +02:00
Brian Birtles
dc77bea4ce 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
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
Victor Porof
e89678a96c Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Ryan VanderMeulen
711946b9be Merge m-c to fx-team. a=merge 2015-07-20 16:05:14 -04:00
Boris Zbarsky
980b01eecd Bug 909154. Remove the prefixed mozRequestAnimationFrame and its accoutrements. r=bkelly 2015-07-20 10:14:24 -04:00
Victor Porof
90aed03d00 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
07e40d2d78 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
305525bea7 Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Victor Porof
60519fed4a 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
Ting-Yu Lin
b81859299e Bug 1182963 - Use nsTHashTable::Iterator in nsRefreshDriver. r=njn 2015-07-15 17:05:06 +08:00
Xidorn Quan
85e40a0687 Bug 1179939 - Avoid crash if we destroy the pres context during flushing style or layout. r=roc 2015-07-13 09:32:04 +10: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
Daniel Holbert
dd68a06e04 Bug 1175245: Convert nsRefreshDriver.cpp to use range-based "for" loops. r=tn 2015-06-17 14:36:40 -07:00
Daniel Holbert
c98c211b7d Bug 1175228: Skip profiler_tracing call for requestAnimationFrame callbacks, if we don't have any callbacks. r=BenWa 2015-06-16 12:56:10 -07:00
Eric Rahm
900b3ebc4d Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00