Changeset 142907 in webkit


Ignore:
Timestamp:
Feb 14, 2013 1:34:00 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r142825.
http://trac.webkit.org/changeset/142825
https://bugs.webkit.org/show_bug.cgi?id=109856

Causes some inspector tests to time out (Requested by anttik
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-14

  • platform/mac/SharedTimerMac.mm:

(WebCore):
(WebCore::PowerObserver::restartSharedTimer):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r142904 r142907  
     12013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r142825.
     4        http://trac.webkit.org/changeset/142825
     5        https://bugs.webkit.org/show_bug.cgi?id=109856
     6
     7        Causes some inspector tests to time out (Requested by anttik
     8        on #webkit).
     9
     10        * platform/mac/SharedTimerMac.mm:
     11        (WebCore):
     12        (WebCore::PowerObserver::restartSharedTimer):
     13        (WebCore::setSharedTimerFireInterval):
     14        (WebCore::stopSharedTimer):
     15
    1162013-02-14  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
    217
  • trunk/Source/WebCore/platform/mac/SharedTimerMac.mm

    r142825 r142907  
    4343namespace WebCore {
    4444
    45 static const CFTimeInterval distantFuture = 60 * 60 * 24 * 365 * 10; // Decade.
    46 
     45static CFRunLoopTimerRef sharedTimer;
    4746static void (*sharedTimerFiredFunction)();
    4847static void timerFired(CFRunLoopTimerRef, void*);
     
    145144    ASSERT(CFRunLoopGetCurrent() == CFRunLoopGetMain());
    146145
     146    if (!sharedTimer)
     147        return;
     148
    147149    stopSharedTimer();
    148150    timerFired(0, 0);
    149151}
    150152
    151 static CFRunLoopTimerRef sharedTimer()
    152 {
    153     static CFRunLoopTimerRef timer;
    154     static dispatch_once_t onceToken;
    155     dispatch_once(&onceToken, ^{
    156         timer = CFRunLoopTimerCreate(0, CFAbsoluteTimeGetCurrent() + distantFuture, distantFuture, 0, 0, timerFired, 0);
    157         CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopCommonModes);
    158 
    159         static PowerObserver* powerObserver;
    160         powerObserver = PowerObserver::create().leakPtr();
    161     });
    162     return timer;
    163 };
     153static PowerObserver* PowerObserver;
    164154
    165155void setSharedTimerFiredFunction(void (*f)())
     
    181171{
    182172    ASSERT(sharedTimerFiredFunction);
     173
     174    if (sharedTimer) {
     175        CFRunLoopTimerInvalidate(sharedTimer);
     176        CFRelease(sharedTimer);
     177    }
     178
    183179    CFAbsoluteTime fireDate = CFAbsoluteTimeGetCurrent() + interval;
    184     CFRunLoopTimerSetNextFireDate(sharedTimer(), fireDate);
     180    sharedTimer = CFRunLoopTimerCreate(0, fireDate, 0, 0, 0, timerFired, 0);
     181    CFRunLoopAddTimer(CFRunLoopGetCurrent(), sharedTimer, kCFRunLoopCommonModes);
     182   
     183    if (!PowerObserver)
     184        PowerObserver = PowerObserver::create().leakPtr();
    185185}
    186186
    187187void stopSharedTimer()
    188188{
    189     CFRunLoopTimerSetNextFireDate(sharedTimer(), CFAbsoluteTimeGetCurrent() + distantFuture);
     189    if (sharedTimer) {
     190        CFRunLoopTimerInvalidate(sharedTimer);
     191        CFRelease(sharedTimer);
     192        sharedTimer = 0;
     193    }
    190194}
    191195
Note: See TracChangeset for help on using the changeset viewer.