[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