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

11 Коммитов

Автор SHA1 Сообщение Дата
wfernandom2004@gmail.com 4ea488087e Bug 338583, implement EventSource, r=smaug,Ms2ger
--HG--
extra : rebase_source : 9dd6bbbc0d714fbafb2ed115c40cf7210b663b6a
2011-05-22 22:30:07 +01:00
Boris Zbarsky f04def28fa 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
Nickolay_Ponomarev f59c2c9f3c Bug 472258 - Reinitializing one-shot timers by resetting delay (->SetDelay) doesn't work anymore - fix callers; r+sr=bzbarsky 2009-02-03 15:42:21 +01:00
Ben Turner 6008210f62 Bug 443877 - "Need a way to point timers at a different event target". r=bsmedberg. 2008-07-24 10:20:33 -07:00
mozilla.BenB@bucksch.org d03f4d956d Make nsITimerCallback a [function], to allow JS to pass a function object instead of this interface Bug 430305 r/sr/a=shaver 2008-04-23 10:42:58 -07:00
roc+@cs.cmu.edu 0054412272 Bug 374866. Reftests for text-transform. r=dbaron 2007-03-22 16:01:14 -07:00
mozilla.BenB%bucksch.org fb3ff7d2d8 Make nsITimerCallback a [function], to allow JS to pass a function
object instead of this interface
Bug 430305 r/sr/a=shaver
2008-04-23 17:42:58 +00:00
bryner%brianryner.com 592dbdc176 Add support for caching content viewers in session history to speed up back/forward (bug 274784). This initial landing has the feature disabled by default; set browser.sessionhistory.max_viewers to the maximum number of pages to cache to enable the feature. r=bzbarsky, sr/a=brendan. 2005-05-04 20:22:32 +00:00
gerv%gerv.net 6f486a3c92 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:21:17 +00:00
brendan%mozilla.org abcf2b2365 Implement support for re-initializing timers (even one-shots), and doc-comment
on how timers may be canceled, re-initialized, and canceled-then-re-initialized
in nsITimer.idl (181961, r=pavlov, sr=alecf).  This helps client code conserve
instances, saving on cycles and malloc/component-manager froth.
2002-12-04 00:57:20 +00:00
dougt%netscape.com d94b37c68a Fixes up the timer interface. b157136, r=rpotts@netscape.com, sr=alecf@netscape.com, a=rjesup@wgate.com 2002-09-07 05:38:16 +00:00