Modified: trunk/Source/WebCore/ChangeLog (163637 => 163638)
--- trunk/Source/WebCore/ChangeLog 2014-02-07 19:49:41 UTC (rev 163637)
+++ trunk/Source/WebCore/ChangeLog 2014-02-07 19:57:09 UTC (rev 163638)
@@ -1,3 +1,18 @@
+2014-02-07 Anders Carlsson <ander...@apple.com>
+
+ Convert ProgressTracker to std::chrono
+ https://bugs.webkit.org/show_bug.cgi?id=128377
+
+ Reviewed by Andreas Kling.
+
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::ProgressTracker):
+ (WebCore::ProgressTracker::reset):
+ (WebCore::ProgressTracker::progressStarted):
+ (WebCore::ProgressTracker::finalProgressComplete):
+ (WebCore::ProgressTracker::incrementProgress):
+ * loader/ProgressTracker.h:
+
2014-02-07 Alexey Proskuryakov <a...@apple.com>
32-bit build fix.
Modified: trunk/Source/WebCore/loader/ProgressTracker.cpp (163637 => 163638)
--- trunk/Source/WebCore/loader/ProgressTracker.cpp 2014-02-07 19:49:41 UTC (rev 163637)
+++ trunk/Source/WebCore/loader/ProgressTracker.cpp 2014-02-07 19:57:09 UTC (rev 163638)
@@ -80,16 +80,14 @@
, m_totalPageAndResourceBytesToLoad(0)
, m_totalBytesReceived(0)
, m_lastNotifiedProgressValue(0)
- , m_lastNotifiedProgressTime(0)
, m_progressNotificationInterval(0.02)
- , m_progressNotificationTimeInterval(0.1)
+ , m_progressNotificationTimeInterval(std::chrono::milliseconds(100))
, m_finalProgressChangedSent(false)
, m_progressValue(0)
, m_numProgressTrackedFrames(0)
, m_progressHeartbeatTimer(this, &ProgressTracker::progressHeartbeatTimerFired)
, m_heartbeatsWithNoProgress(0)
, m_totalBytesReceivedBeforePreviousHeartbeat(0)
- , m_mainLoadCompletionTimeStamp(0)
, m_isMainLoad(false)
{
}
@@ -112,7 +110,7 @@
m_totalBytesReceived = 0;
m_progressValue = 0;
m_lastNotifiedProgressValue = 0;
- m_lastNotifiedProgressTime = 0;
+ m_lastNotifiedProgressTime = std::chrono::steady_clock::time_point();
m_finalProgressChangedSent = false;
m_numProgressTrackedFrames = 0;
m_originatingProgressFrame = 0;
@@ -137,9 +135,9 @@
m_originatingProgressFrame->loader().loadProgressingStatusChanged();
bool isMainFrame = !m_originatingProgressFrame->tree().parent();
- double elapsedTimeSinceMainLoadComplete = monotonicallyIncreasingTime() - m_mainLoadCompletionTimeStamp;
+ auto elapsedTimeSinceMainLoadComplete = std::chrono::steady_clock::now() - m_mainLoadCompletionTime;
- static const double subframePartOfMainLoadThreshold = 1;
+ static const auto subframePartOfMainLoadThreshold = std::chrono::seconds(1);
m_isMainLoad = isMainFrame || elapsedTimeSinceMainLoadComplete < subframePartOfMainLoadThreshold;
m_client.progressStarted(*m_originatingProgressFrame);
@@ -182,7 +180,7 @@
reset();
if (m_isMainLoad)
- m_mainLoadCompletionTimeStamp = monotonicallyIncreasingTime();
+ m_mainLoadCompletionTime = std::chrono::steady_clock::now();
frame->loader().client().setMainFrameDocumentReady(true);
m_client.progressFinished(*frame);
@@ -255,8 +253,8 @@
m_totalBytesReceived += bytesReceived;
- double now = monotonicallyIncreasingTime();
- double notifiedProgressTimeDelta = now - m_lastNotifiedProgressTime;
+ auto now = std::chrono::steady_clock::now();
+ auto notifiedProgressTimeDelta = now - m_lastNotifiedProgressTime;
LOG(Progress, "Progress incremented (%p) - value %f, tracked frames %d", this, m_progressValue, m_numProgressTrackedFrames);
double notificationProgressDelta = m_progressValue - m_lastNotifiedProgressValue;
Modified: trunk/Source/WebCore/loader/ProgressTracker.h (163637 => 163638)
--- trunk/Source/WebCore/loader/ProgressTracker.h 2014-02-07 19:49:41 UTC (rev 163637)
+++ trunk/Source/WebCore/loader/ProgressTracker.h 2014-02-07 19:57:09 UTC (rev 163638)
@@ -27,10 +27,10 @@
#define ProgressTracker_h
#include "Timer.h"
+#include <chrono>
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
-#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
@@ -74,9 +74,9 @@
long long m_totalPageAndResourceBytesToLoad;
long long m_totalBytesReceived;
double m_lastNotifiedProgressValue;
- double m_lastNotifiedProgressTime;
+ std::chrono::steady_clock::time_point m_lastNotifiedProgressTime;
double m_progressNotificationInterval;
- double m_progressNotificationTimeInterval;
+ std::chrono::milliseconds m_progressNotificationTimeInterval;
bool m_finalProgressChangedSent;
double m_progressValue;
RefPtr<Frame> m_originatingProgressFrame;
@@ -87,7 +87,7 @@
Timer<ProgressTracker> m_progressHeartbeatTimer;
unsigned m_heartbeatsWithNoProgress;
long long m_totalBytesReceivedBeforePreviousHeartbeat;
- double m_mainLoadCompletionTimeStamp;
+ std::chrono::steady_clock::time_point m_mainLoadCompletionTime;
bool m_isMainLoad;
};