[WTF] Remove RunLoop and RunLoop::Timer's interface using double as seconds
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Mar 2018 07:58:55 +0000 (07:58 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 3 Mar 2018 07:58:55 +0000 (07:58 +0000)
https://bugs.webkit.org/show_bug.cgi?id=183293

Reviewed by Alex Christensen.

Source/WebCore:

* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):

Source/WebKit:

* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::scheduleUpdate):
(WebKit::CompositingRunLoop::compositionCompleted):
(WebKit::CompositingRunLoop::updateCompleted):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
(WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback):

Source/WTF:

This patch mainly drops startRepeating(double) and startOneShot(double) interfaces.
Use startRepeating(Seconds) and startOneShot(Seconds) instead.

* wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
* wtf/RunLoop.h:
(WTF::RunLoop::TimerBase::startRepeating):
(WTF::RunLoop::TimerBase::startOneShot):
(WTF::RunLoop::TimerBase::startInternal):
* wtf/RunLoopTimer.h:
* wtf/RunLoopTimerCF.cpp:
(WTF::RunLoopTimerBase::start):
* wtf/cf/RunLoopCF.cpp:
(WTF::RunLoop::runForDuration):
(WTF::RunLoop::TimerBase::start):
* wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::TimerBase::start):
* wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::TimerBase::start):
* wtf/win/MemoryPressureHandlerWin.cpp:
(WTF::MemoryPressureHandler::install):
* wtf/win/RunLoopWin.cpp:
(WTF::RunLoop::TimerBase::start):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

15 files changed:
Source/WTF/ChangeLog
Source/WTF/wtf/MemoryPressureHandler.cpp
Source/WTF/wtf/RunLoop.h
Source/WTF/wtf/RunLoopTimer.h
Source/WTF/wtf/RunLoopTimerCF.cpp
Source/WTF/wtf/cf/RunLoopCF.cpp
Source/WTF/wtf/generic/RunLoopGeneric.cpp
Source/WTF/wtf/glib/RunLoopGLib.cpp
Source/WTF/wtf/win/MemoryPressureHandlerWin.cpp
Source/WTF/wtf/win/RunLoopWin.cpp
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp
Source/WebKit/ChangeLog
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp

index 1a5f9d9..b470228 100644 (file)
@@ -1,3 +1,34 @@
+2018-03-02  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [WTF] Remove RunLoop and RunLoop::Timer's interface using double as seconds
+        https://bugs.webkit.org/show_bug.cgi?id=183293
+
+        Reviewed by Alex Christensen.
+
+        This patch mainly drops startRepeating(double) and startOneShot(double) interfaces.
+        Use startRepeating(Seconds) and startOneShot(Seconds) instead.
+
+        * wtf/MemoryPressureHandler.cpp:
+        (WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
+        * wtf/RunLoop.h:
+        (WTF::RunLoop::TimerBase::startRepeating):
+        (WTF::RunLoop::TimerBase::startOneShot):
+        (WTF::RunLoop::TimerBase::startInternal):
+        * wtf/RunLoopTimer.h:
+        * wtf/RunLoopTimerCF.cpp:
+        (WTF::RunLoopTimerBase::start):
+        * wtf/cf/RunLoopCF.cpp:
+        (WTF::RunLoop::runForDuration):
+        (WTF::RunLoop::TimerBase::start):
+        * wtf/generic/RunLoopGeneric.cpp:
+        (WTF::RunLoop::TimerBase::start):
+        * wtf/glib/RunLoopGLib.cpp:
+        (WTF::RunLoop::TimerBase::start):
+        * wtf/win/MemoryPressureHandlerWin.cpp:
+        (WTF::MemoryPressureHandler::install):
+        * wtf/win/RunLoopWin.cpp:
+        (WTF::RunLoop::TimerBase::start):
+
 2018-03-02  Christopher Reid  <chris.reid@sony.com>
 
         Build fix after r229174
index a6079c2..bb34215 100644 (file)
@@ -66,7 +66,7 @@ void MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor(bool use)
 
     if (use) {
         m_measurementTimer = std::make_unique<RunLoop::Timer<MemoryPressureHandler>>(RunLoop::main(), this, &MemoryPressureHandler::measurementTimerFired);
-        m_measurementTimer->startRepeating(30);
+        m_measurementTimer->startRepeating(30_s);
     } else
         m_measurementTimer = nullptr;
 }
index 7eb299a..f4fd3bf 100644 (file)
@@ -62,7 +62,7 @@ public:
     WTF_EXPORT_PRIVATE void wakeUp();
 
 #if USE(COCOA_EVENT_LOOP)
-    WTF_EXPORT_PRIVATE void runForDuration(double duration);
+    WTF_EXPORT_PRIVATE void runForDuration(Seconds duration);
 #endif
 
 #if USE(GLIB_EVENT_LOOP)
@@ -84,10 +84,8 @@ public:
         WTF_EXPORT_PRIVATE explicit TimerBase(RunLoop&);
         WTF_EXPORT_PRIVATE virtual ~TimerBase();
 
-        void startRepeating(double repeatInterval) { startInternal(repeatInterval, true); }
-        void startRepeating(Seconds repeatInterval) { startRepeating(repeatInterval.value()); }
-        void startOneShot(double interval) { startInternal(interval, false); }
-        void startOneShot(Seconds interval) { startOneShot(interval.value()); }
+        void startRepeating(Seconds repeatInterval) { startInternal(repeatInterval, true); }
+        void startOneShot(Seconds interval) { startInternal(interval, false); }
 
         WTF_EXPORT_PRIVATE void stop();
         WTF_EXPORT_PRIVATE bool isActive() const;
@@ -101,12 +99,12 @@ public:
 #endif
 
     private:
-        void startInternal(double nextFireInterval, bool repeat)
+        void startInternal(Seconds nextFireInterval, bool repeat)
         {
-            start(std::max(nextFireInterval, 0.0), repeat);
+            start(std::max(nextFireInterval, 0_s), repeat);
         }
 
-        WTF_EXPORT_PRIVATE void start(double nextFireInterval, bool repeat);
+        WTF_EXPORT_PRIVATE void start(Seconds nextFireInterval, bool repeat);
 
         Ref<RunLoop> m_runLoop;
 
index 39a9f3a..24ee4a5 100644 (file)
@@ -46,12 +46,10 @@ public:
     WTF_EXPORT_PRIVATE void schedule(const SchedulePair*);
     WTF_EXPORT_PRIVATE void schedule(const SchedulePairHashSet&);
 
-    WTF_EXPORT_PRIVATE void start(double nextFireInterval, double repeatInterval);
+    WTF_EXPORT_PRIVATE void start(Seconds nextFireInterval, Seconds repeatInterval);
 
-    void startRepeating(double repeatInterval) { start(repeatInterval, repeatInterval); }
-    void startRepeating(Seconds repeatInterval) { start(repeatInterval.value(), repeatInterval.value()); }
-    void startOneShot(double interval) { start(interval, 0); }
-    void startOneShot(Seconds interval) { start(interval.value(), 0); }
+    void startRepeating(Seconds repeatInterval) { start(repeatInterval, repeatInterval); }
+    void startOneShot(Seconds interval) { start(interval, 0_s); }
 
     WTF_EXPORT_PRIVATE void stop();
     bool isActive() const;
index ea65cbb..5f5fc88 100644 (file)
@@ -52,12 +52,12 @@ static void timerFired(CFRunLoopTimerRef, void* context)
     timer->fired();
 }
 
-void RunLoopTimerBase::start(double nextFireInterval, double repeatInterval)
+void RunLoopTimerBase::start(Seconds nextFireInterval, Seconds repeatInterval)
 {
     if (m_timer)
         CFRunLoopTimerInvalidate(m_timer.get());
     CFRunLoopTimerContext context = { 0, this, 0, 0, 0 };
-    m_timer = adoptCF(CFRunLoopTimerCreate(0, CFAbsoluteTimeGetCurrent() + nextFireInterval, repeatInterval, 0, 0, timerFired, &context));
+    m_timer = adoptCF(CFRunLoopTimerCreate(0, CFAbsoluteTimeGetCurrent() + nextFireInterval.seconds(), repeatInterval.seconds(), 0, 0, timerFired, &context));
 }
 
 void RunLoopTimerBase::schedule(const SchedulePair* schedulePair)
index 5e4c805..42a35cd 100644 (file)
@@ -51,9 +51,9 @@ RunLoop::~RunLoop()
     CFRunLoopSourceInvalidate(m_runLoopSource.get());
 }
 
-void RunLoop::runForDuration(double duration)
+void RunLoop::runForDuration(Seconds duration)
 {
-    CFRunLoopRunInMode(kCFRunLoopDefaultMode, duration, true);
+    CFRunLoopRunInMode(kCFRunLoopDefaultMode, duration.seconds(), true);
 }
 
 void RunLoop::wakeUp()
@@ -94,14 +94,14 @@ RunLoop::TimerBase::~TimerBase()
     stop();
 }
 
-void RunLoop::TimerBase::start(double nextFireInterval, bool repeat)
+void RunLoop::TimerBase::start(Seconds nextFireInterval, bool repeat)
 {
     if (m_timer)
         stop();
     
     CFRunLoopTimerContext context = { 0, this, 0, 0, 0 };
-    CFTimeInterval repeatInterval = repeat ? nextFireInterval : 0;
-    m_timer = adoptCF(CFRunLoopTimerCreate(kCFAllocatorDefault, CFAbsoluteTimeGetCurrent() + nextFireInterval, repeatInterval, 0, 0, timerFired, &context));
+    Seconds repeatInterval = repeat ? nextFireInterval : 0_s;
+    m_timer = adoptCF(CFRunLoopTimerCreate(kCFAllocatorDefault, CFAbsoluteTimeGetCurrent() + nextFireInterval.seconds(), repeatInterval.seconds(), 0, 0, timerFired, &context));
     CFRunLoopAddTimer(m_runLoop->m_runLoop.get(), m_timer.get(), kCFRunLoopCommonModes);
 }
 
index a5680e2..7869199 100644 (file)
@@ -258,13 +258,13 @@ RunLoop::TimerBase::~TimerBase()
     stop(locker);
 }
 
-void RunLoop::TimerBase::start(double interval, bool repeating)
+void RunLoop::TimerBase::start(Seconds interval, bool repeating)
 {
     LockHolder locker(m_runLoop->m_loopLock);
     stop(locker);
     m_scheduledTask = ScheduledTask::create([this] {
         fired();
-    }, Seconds(interval), repeating);
+    }, interval, repeating);
     m_runLoop->scheduleAndWakeUp(locker, *m_scheduledTask);
 }
 
index de74036..a10efd4 100644 (file)
@@ -205,9 +205,9 @@ void RunLoop::TimerBase::updateReadyTime()
     g_source_set_ready_time(m_source.get(), targetTime);
 }
 
-void RunLoop::TimerBase::start(double fireInterval, bool repeat)
+void RunLoop::TimerBase::start(Seconds fireInterval, bool repeat)
 {
-    m_fireInterval = Seconds(fireInterval);
+    m_fireInterval = fireInterval;
     m_isRepeating = repeat;
     updateReadyTime();
 }
index 69ab63e..5acff6b 100644 (file)
@@ -73,7 +73,7 @@ void MemoryPressureHandler::platformReleaseMemory(Critical)
 void MemoryPressureHandler::install()
 {
     m_installed = true;
-    m_windowsMeasurementTimer.startRepeating(60.0);
+    m_windowsMeasurementTimer.startRepeating(60_s);
 }
 
 void MemoryPressureHandler::uninstall()
index 6871bbb..83d3bf9 100644 (file)
@@ -156,14 +156,14 @@ RunLoop::TimerBase::~TimerBase()
     stop();
 }
 
-void RunLoop::TimerBase::start(double nextFireInterval, bool repeat)
+void RunLoop::TimerBase::start(Seconds nextFireInterval, bool repeat)
 {
     LockHolder locker(m_runLoop->m_activeTimersLock);
     m_isRepeating = repeat;
     m_runLoop->m_activeTimers.set(m_ID, this);
-    m_interval = Seconds(nextFireInterval);
+    m_interval = nextFireInterval;
     m_nextFireDate = MonotonicTime::now() + m_interval;
-    ::SetTimer(m_runLoop->m_runLoopMessageWindow, m_ID, nextFireInterval * 1000, 0);
+    ::SetTimer(m_runLoop->m_runLoopMessageWindow, m_ID, nextFireInterval.millisecondsAs<unsigned>(), 0);
 }
 
 void RunLoop::TimerBase::stop()
index b7c3889..9d3ea6e 100644 (file)
@@ -1,3 +1,13 @@
+2018-03-02  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [WTF] Remove RunLoop and RunLoop::Timer's interface using double as seconds
+        https://bugs.webkit.org/show_bug.cgi?id=183293
+
+        Reviewed by Alex Christensen.
+
+        * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
+        (WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):
+
 2018-03-02  Dean Jackson  <dino@apple.com>
 
         Remove NP_GLContext since it is unsupported
index 474b120..8c852c8 100644 (file)
@@ -218,7 +218,7 @@ void TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture()
             if (prevBuffer->hasManagedTexture())
                 appendToUnusedBuffers(WTFMove(prevBuffer));
         };
-    m_compositorThreadUpdateTimer->startOneShot(0);
+    m_compositorThreadUpdateTimer->startOneShot(0_s);
 }
 
 bool TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread(Function<void()>&& updateFunction)
index 82e0fe6..3cf4e83 100644 (file)
@@ -1,3 +1,17 @@
+2018-03-02  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [WTF] Remove RunLoop and RunLoop::Timer's interface using double as seconds
+        https://bugs.webkit.org/show_bug.cgi?id=183293
+
+        Reviewed by Alex Christensen.
+
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::scheduleUpdate):
+        (WebKit::CompositingRunLoop::compositionCompleted):
+        (WebKit::CompositingRunLoop::updateCompleted):
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
+        (WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback):
+
 2018-03-02  Don Olmstead  <don.olmstead@sony.com>
 
         Share common WebError implementation
index 6111694..bdc5ee5 100644 (file)
@@ -161,7 +161,7 @@ void CompositingRunLoop::scheduleUpdate(LockHolder& stateLocker)
     switch (m_state.update) {
     case UpdateState::Idle:
         m_state.update = UpdateState::Scheduled;
-        m_updateTimer.startOneShot(0);
+        m_updateTimer.startOneShot(0_s);
         return;
     case UpdateState::Scheduled:
         return;
@@ -204,7 +204,7 @@ void CompositingRunLoop::compositionCompleted(LockHolder& stateLocker)
         if (m_state.pendingUpdate) {
             m_state.pendingUpdate = false;
             m_state.update = UpdateState::Scheduled;
-            m_updateTimer.startOneShot(0);
+            m_updateTimer.startOneShot(0_s);
             return;
         }
 
@@ -236,7 +236,7 @@ void CompositingRunLoop::updateCompleted(LockHolder& stateLocker)
         if (m_state.pendingUpdate) {
             m_state.pendingUpdate = false;
             m_state.update = UpdateState::Scheduled;
-            m_updateTimer.startOneShot(0);
+            m_updateTimer.startOneShot(0_s);
             return;
         }
 
index 5932ef8..8551aba 100644 (file)
@@ -76,7 +76,7 @@ void ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback()
 {
     if (!m_compositor)
         return;
-    m_displayRefreshTimer.startOneShot(0);
+    m_displayRefreshTimer.startOneShot(0_s);
 }
 
 void ThreadedDisplayRefreshMonitor::invalidate()