[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
kbalazs at webkit.org
kbalazs at webkit.org
Wed Dec 22 14:22:55 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 92e90e840f344fff90502326247ee782fbf1f3ef
Author: kbalazs at webkit.org <kbalazs at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Oct 7 14:44:23 2010 +0000
2010-10-07 Balazs Kelemen <kbalazs at webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Watchdog timer implementation for WTR
https://bugs.webkit.org/show_bug.cgi?id=47337
* WebKitTestRunner/InjectedBundle/LayoutTestController.h: Factor out
the definition of the timer type to a typedef.
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: Added.
Timer implementation with QTimer and a helper QObject class.
(WTR::WatchdogTimerHelper::instance):
(WTR::WatchdogTimerHelper::timerFired):
(WTR::WatchdogTimerHelper::WatchdogTimerHelper):
(WTR::LayoutTestController::platformInitialize):
(WTR::LayoutTestController::invalidateWaitToDumpWatchdogTimer):
(WTR::LayoutTestController::initializeWaitToDumpWatchdogTimerIfNeeded):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 41cbade..0f6c739 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,5 +1,23 @@
2010-10-07 Balazs Kelemen <kbalazs at webkit.org>
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Watchdog timer implementation for WTR
+ https://bugs.webkit.org/show_bug.cgi?id=47337
+
+ * WebKitTestRunner/InjectedBundle/LayoutTestController.h: Factor out
+ the definition of the timer type to a typedef.
+ * WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: Added.
+ Timer implementation with QTimer and a helper QObject class.
+ (WTR::WatchdogTimerHelper::instance):
+ (WTR::WatchdogTimerHelper::timerFired):
+ (WTR::WatchdogTimerHelper::WatchdogTimerHelper):
+ (WTR::LayoutTestController::platformInitialize):
+ (WTR::LayoutTestController::invalidateWaitToDumpWatchdogTimer):
+ (WTR::LayoutTestController::initializeWaitToDumpWatchdogTimerIfNeeded):
+
+2010-10-07 Balazs Kelemen <kbalazs at webkit.org>
+
Unreviewed buildfix for 69297 again
* WebKitTestRunner/TestController.cpp:
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
index 6ae20d8..c892ba0 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/LayoutTestController.h
@@ -28,9 +28,18 @@
#include "JSWrappable.h"
#include <JavaScriptCore/JSRetainPtr.h>
+#include <string>
#include <wtf/PassRefPtr.h>
+
+#if PLATFORM(MAC)
#include <wtf/RetainPtr.h>
-#include <string>
+typedef RetainPtr<CFRunLoopTimerRef> PlatformTimerRef;
+#elif PLATFORM(WIN)
+typedef UINT_PTR PlatformTimerRef;
+#elif PLATFORM(QT)
+#include <QTimer>
+typedef QTimer PlatformTimerRef;
+#endif
namespace WTR {
@@ -124,11 +133,7 @@ private:
bool m_testRepaint;
bool m_testRepaintSweepHorizontally;
-#if PLATFORM(MAC)
- RetainPtr<CFRunLoopTimerRef> m_waitToDumpWatchdogTimer;
-#elif PLATFORM(WIN)
- UINT_PTR m_waitToDumpWatchdogTimer;
-#endif
+ PlatformTimerRef m_waitToDumpWatchdogTimer;
};
} // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp
new file mode 100644
index 0000000..b515326
--- /dev/null
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 University of Szeged. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "LayoutTestController.h"
+
+#include "InjectedBundle.h"
+#include <QObject>
+
+namespace WTR {
+
+class WatchdogTimerHelper : public QObject {
+ Q_OBJECT
+
+public:
+ static WatchdogTimerHelper* instance()
+ {
+ static WatchdogTimerHelper* theInstance = new WatchdogTimerHelper;
+ return theInstance;
+ }
+
+public slots:
+ void timerFired()
+ {
+ InjectedBundle::shared().layoutTestController()->waitToDumpWatchdogTimerFired();
+ }
+
+private:
+ WatchdogTimerHelper() {}
+};
+
+void LayoutTestController::platformInitialize()
+{
+ QObject::connect(&m_waitToDumpWatchdogTimer, SIGNAL(timeout()), WatchdogTimerHelper::instance(), SLOT(timerFired()));
+}
+
+void LayoutTestController::invalidateWaitToDumpWatchdogTimer()
+{
+ m_waitToDumpWatchdogTimer.stop();
+}
+
+void LayoutTestController::initializeWaitToDumpWatchdogTimerIfNeeded()
+{
+ if (m_waitToDumpWatchdogTimer.isActive())
+ return;
+
+ m_waitToDumpWatchdogTimer.start(waitToDumpWatchdogTimerInterval * 1000);
+}
+
+} // namespace WTR
+
+#include "LayoutTestControllerQt.moc"
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list