Commit Graph

89 Commits

Author SHA1 Message Date
Markus Stange
4007001301 Bug 598482 part 11 - Set up a connection between the view manager and the refresh driver. r=roc 2011-12-23 22:52:22 -05:00
Boris Zbarsky
1778afb027 Bug 704171 part 2. Remove the no-argument form of mozRequestAnimationFrame. r=roc 2011-11-28 07:49:53 -05:00
Boris Zbarsky
73cb34f04b Bug 704175 part 2. Rename nsIAnimationFrameListener to nsIFrameRequestCallback. r=roc 2011-11-28 07:48:30 -05:00
Boris Zbarsky
dff3d1c829 Bug 704175 part 1. Rename onBeforePaint to sample for animation frame callbacks. r=roc 2011-11-28 07:48:27 -05:00
Scott Johnson
35bd899e52 Bug 666446, Part 2/10 - Change nsRefreshDriver to accept imgIRequest objects to facilitate refresh driver-based animations. [r=roc] 2011-11-09 13:39:16 -08:00
Justin Lebar
fd2f694139 Back out bug 666446 due to Talos regression. 2011-11-02 20:11:01 -04:00
Scott Johnson
e92eaafa33 Bug 666446, Part 2/10 - Change nsRefreshDriver to accept imgIRequest objects to facilitate refresh driver-based animations. [r=roc] 2011-11-01 11:06:53 -04:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Jeff Walden
7d613942b0 Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones 2011-10-10 22:50:08 -07:00
Jeff Walden
c5e5f873d1 Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail 2011-10-12 12:21:53 -07:00
Jeff Walden
946f2ae0e3 Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones 2011-10-10 22:50:08 -07:00
Scott Johnson
20857fa51b Backout cset a48ccb52c137 from bug 666446 while we sort out regressions 2011-10-07 00:26:01 -07:00
Scott Johnson
b853f71917 Bug 666446, Part 2/18 - Change nsRefreshDriver to accept imgIRequest objects to facilitate refresh driver-based animations. [r=roc] 2011-10-03 13:39:05 -07:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Masayuki Nakano
8b335d50b1 Bug 660121 Remove all pref related methods from nsContentUtils r=roc 2011-05-29 08:42:57 +09:00
Masayuki Nakano
81dbe5de4d Bug 659536 part.2 Replace nsContentUtils::GetIntPref() with Preferences::GetInt() or Preferences::GetUint() r=roc 2011-05-25 15:32:00 +09:00
Boris Zbarsky
441421a467 Bug 652401. Make sure to not have straggling JSContexts on the stack when notifying in the refresh driver. r=smaug 2011-05-05 12:26:32 -04:00
Boris Zbarsky
31d14013bf Bug 650379. Add a new XPCOM timer type that is like TYPE_REPEATING_PRECISE but does not swamp the event queue if the callback takes longer than the timer interval to run. r=cjones, sr=brendan
This implements proposal 3 from bug 650379 comment 13.  The main difference
between TYPE_REPEATING_PRECISE and TYPE_REPEATING_PRECISE_CAN_SKIP is to not
AddTimer the REPEATING_PRECISE_CAN_SKIP timer until after the callback has run;
this guarantees that no more timer events will be posted until after the
callback finishes executing.  A secondary change is to make
REPEATING_PRECISE_CAN_SKIP timers advance their firing time to mDelay from when
PostTimerEvent is called, not mDelay from the old mTimeout.  While this arguably
makes them less precise, the alternative is that if a timer is significantly
delayed for some reason (e.g. because the user puts the computer to sleep for a
while) it will then fire a whole bunch of times to "catch up" to where it's
supposed to be, advancing its firing time by mDelay at a time.  That seems
undesirable.

An alternate approach would have been to readd the timer from inside
PostTimerEvent, but only if we're not in the middle of firing the timer. That
would allow more precise timers in the case when the callback is not taking too
long, but still handle gracefully the case when the callback is
slow. Unfortunately this falls down if something _else_ is hogging the main
thread event loop (e.g. some other timer has a slow callback, or whatever); in
that case we would post multiple events for the one precise timer while the
event-loop-hogging operation is running. So I don't think we should do that.
2011-04-28 19:33:52 -04:00
L. David Baron
f2ca7bd45e Ensure nsRefreshDriver::MostRecentRefresh tells the truth even when we stop and restart timers. (Bug 650469) r=bzbarsky 2011-04-21 20:17:32 -07:00
L. David Baron
68d43e43ee Add interface for taking over the refresh driver in a test (i.e., mocking time). (Bug 435442, patch 9) r=bzbarsky 2011-04-11 23:18:43 -07:00
Boris Zbarsky
a561db9f2b Bug 645943. Initialize mLastTimerInterval correctly. r=dbaron 2011-03-29 00:41:01 -04:00
Boris Zbarsky
7a892e4efe Bug 642717. Hold strong references to our MozBeforePaint event targets. r=roc 2011-03-28 10:49:48 -04:00
Boris Zbarsky
cbdd95f4fa Bug 630127. Use a precise timer when we have animation frame callbacks. r=dbaron 2011-03-07 11:58:48 -05:00
Boris Zbarsky
57b321627a Bug 614733. Do exponential backoff on throttled refresh drivers. r=dbaron 2011-03-04 10:27:02 -05:00
Ehsan Akhgari
4bce816a0f Bug 598726 - Prevent hangs in the refresh driver due to outstanding restyles on the same pres shell after processing the pending restyles on it; r=bzbarsky a=blocking-final+ 2011-01-14 15:03:06 -05:00
Boris Zbarsky
487de69983 588174. Make it possible to pass an explicit callback function to mozRequestAnimationFrame. r=roc, sr=dbaron 2010-09-09 01:38:04 -04:00
Boris Zbarsky
58c674baf5 Bug 586201. Throttle refresh drivers in background tabs. r=roc, a=roc 2010-08-27 00:26:23 -04:00
Robert O'Callahan
a63059eca8 Bug 587887. Create pref for refresh driver timer, and make it 60Hz by default. r=dbaron,a=bsmedberg 2010-08-23 21:30:08 +12:00
Boris Zbarsky
17b4fe85b4 Bug 569520 part 2. Implement a mozRequestAnimationFrame/mozAnimationStartTime API. r=roc, a=joe 2010-08-11 17:05:28 -04:00
Boris Zbarsky
23c4137568 Bug 577607 part 2. Teach the refresh driver to flush restyles and reflow on more than one presshell. r=roc 2010-08-11 17:05:27 -04:00
Robert O'Callahan
55d2e81812 Backed out changeset 0c4519d63a98 2010-08-12 11:32:21 +12:00
Boris Zbarsky
8c807697b3 Bug 577607 part 2. Teach the refresh driver to flush restyles and reflow on more than one presshell. r=roc 2010-08-11 17:05:27 -04:00
Ben Newman
b4d3ccac07 Replace direct instantiations of nsRunnableMethod with calls to the templatized NS_NewRunnableMethod function (part 3/3 of bug 558498). r=dwitte sr=dbaron 2010-04-20 16:21:35 -07:00
Boris Zbarsky
d7e0fe7ed2 Bug 538087. Hook up reflow to refresh driver. r=dbaron 2010-02-19 12:11:40 -05:00
Boris Zbarsky
d13ba28abf Bug 540531. Freeze the refresh driver when a page goes into bfcache. r=dbaron 2010-02-03 16:17:55 -05:00
Boris Zbarsky
b04e28777b Bug 528306 part 1. Don't stop the refresh driver timer on observer removal; instead just stop it if it fires when there are no observers. r=dbaron 2009-12-31 14:07:57 -05:00
L. David Baron
64f452a2e6 Make nsRefreshDriver hold a reference to its observers while notifying them. (Bug 531585) r=bzbarsky 2009-12-21 16:46:25 -05:00
L. David Baron
b4c57aa0a6 Make nsRefreshDriver reference-counted instead of being a sub-object of the pres context. (Bug 531585) r=bzbarsky 2009-12-21 16:46:24 -05:00
L. David Baron
909f20c7c8 Implement CSS transitions: handle starting and animation of the transitions. (Bug 435441) r=bzbarsky sr=roc 2009-10-07 20:22:42 -07:00