Changeset 41878 in webkit


Ignore:
Timestamp:
Mar 20, 2009 4:45:45 PM (15 years ago)
Author:
levin@chromium.org
Message:

2009-03-20 Mike Belshe <mike@belshe.com>

Reviewed by Dimitri Glazkov and Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=24324

Make the minimum timer configurable for different platforms.

  • page/DOMTimer.cpp: (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::fired):
  • page/DOMTimer.h: (WebCore::DOMTimer::minTimerInterval): (WebCore::DOMTimer::setMinTimerInterval):
Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r41877 r41878  
     12009-03-20  Mike Belshe  <mike@belshe.com>
     2
     3        Reviewed by Dimitri Glazkov and Dave Hyatt.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=24324
     6
     7        Make the minimum timer configurable for different platforms.
     8
     9        * page/DOMTimer.cpp:
     10        (WebCore::DOMTimer::DOMTimer):
     11        (WebCore::DOMTimer::fired):
     12        * page/DOMTimer.h:
     13        (WebCore::DOMTimer::minTimerInterval):
     14        (WebCore::DOMTimer::setMinTimerInterval):
     15
    1162009-03-20  Dean McNamee  <deanm@chromium.org>
    217
  • trunk/WebCore/page/DOMTimer.cpp

    r40534 r41878  
    3939static const int maxTimerNestingLevel = 5;
    4040static const double oneMillisecond = 0.001;
    41 static const double minTimerInterval = 0.010; // 10 milliseconds
     41double DOMTimer::s_minTimerInterval = 0.010; // 10 milliseconds
    4242
    4343static int timerNestingLevel = 0;
     
    6565    // nested enough to notice that we're repeating.
    6666    // Faster timers might be "better", but they're incompatible.
    67     if (intervalMilliseconds < minTimerInterval && m_nestingLevel >= maxTimerNestingLevel)
    68         intervalMilliseconds = minTimerInterval;
     67    if (intervalMilliseconds < s_minTimerInterval && m_nestingLevel >= maxTimerNestingLevel)
     68        intervalMilliseconds = s_minTimerInterval;
    6969    if (singleShot)
    7070        startOneShot(intervalMilliseconds);
     
    106106    // Simple case for non-one-shot timers.
    107107    if (isActive()) {
    108         if (repeatInterval() && repeatInterval() < minTimerInterval) {
     108        if (repeatInterval() && repeatInterval() < s_minTimerInterval) {
    109109            m_nestingLevel++;
    110110            if (m_nestingLevel >= maxTimerNestingLevel)
    111                 augmentRepeatInterval(minTimerInterval - repeatInterval());
     111                augmentRepeatInterval(s_minTimerInterval - repeatInterval());
    112112        }
    113113       
  • trunk/WebCore/page/DOMTimer.h

    r40271 r41878  
    5252    virtual void resume();
    5353
     54    // The lowest allowable timer setting (in seconds, 0.001 == 1 ms).
     55    // Default is 10ms.
     56    // Chromium uses a non-default timeout.
     57    static double minTimerInterval() { return s_minTimerInterval; }
     58    static void setMinTimerInterval(double value) { s_minTimerInterval = value; }
     59
    5460private:
    5561    DOMTimer(ScriptExecutionContext*, ScheduledAction*, int timeout, bool singleShot);
     
    6167    double m_nextFireInterval;
    6268    double m_repeatInterval;
     69    static double s_minTimerInterval;
    6370};
    6471
Note: See TracChangeset for help on using the changeset viewer.