Commit Graph

366 Commits

Author SHA1 Message Date
Benoit Girard
67ffec25f7 Bug 1242609 - Use PeekMessages to get the most recent DisplayPort request. r=kats
MozReview-Commit-ID: K5PTxUqU9E6
2016-03-14 11:50:55 -04:00
David Anderson
75884c18af Ensure that content processes recreate rendering devices. (bug 1245765 part 8, r=mattwoodrow) 2016-02-29 01:53:15 -05:00
Cameron McCormack
cbb5f757f4 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
471cf640eb Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00
Carsten "Tomcat" Book
dd66150836 Bug 1243583 - ensure transition events are dispatched to all the relevant subdocuments, r=dholbert 2016-02-10 14:21:26 +01: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
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08: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
Sylvestre Ledru
1f07806bda Bug 1218816 - Remove useless semicolons. Found by coccinelle. r=Ehsan 2016-01-22 16:58:49 +01:00
Timothy Nikkel
b384bc3f34 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
d457460d0c 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.
2016-01-12 07:49:08 +03:30
Brian Birtles
57ae13b35d 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
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 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