All pastes #1766969 Raw Edit

Something

public text v1 · immutable
#1766969 ·published 2010-01-26 19:50 UTC
rendered paste body
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 4427a9d..af8f9a3 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,19 @@
+2010-01-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
+
+        Reviewed by NOBODY (OOPS!).
+
+        Separating out the UrlLoader from the QtLauncher in it's
+        own implementation and header file.
+
+        * QtLauncher/main.cpp:
+        (main):
+        * QtLauncher/urlloader.cpp: Added.
+        (UrlLoader::UrlLoader):
+        (UrlLoader::loadNext):
+        (UrlLoader::init):
+        (UrlLoader::getUrl):
+        * QtLauncher/urlloader.h: Added.
+
 2010-01-25  Chris Jerdonek  <cjerdonek@webkit.org>
 
         Reviewed by Shinichiro Hamaji.
diff --git a/WebKitTools/QtLauncher/main.cpp b/WebKitTools/QtLauncher/main.cpp
index 1fd37f5..e658bfe 100644
--- a/WebKitTools/QtLauncher/main.cpp
+++ b/WebKitTools/QtLauncher/main.cpp
@@ -42,9 +42,6 @@
 #endif
 
 #include <QDebug>
-#include <QFile>
-#include <QTextStream>
-#include <QVector>
 
 #include <cstdio>
 #include <qevent.h>
@@ -53,6 +50,7 @@
 #include <qwebinspector.h>
 #include <qwebsettings.h>
 #include <qwebview.h>
+#include "urlloader.h"
 #include "webinspector.h"
 #include "webpage.h"
 
@@ -595,69 +593,6 @@ QObject* WebPage::createPlugin(const QString &classId, const QUrl &url, const QS
 #endif
 }
 
-class URLLoader : public QObject {
-    Q_OBJECT
-public:
-    URLLoader(QWebView* view, const QString& inputFileName)
-        : m_view(view)
-        , m_stdOut(stdout)
-        , m_loaded(0)
-    {
-        init(inputFileName);
-    }
-
-public slots:
-    void loadNext()
-    {
-        QString qstr;
-        if (getUrl(qstr)) {
-            QUrl url(qstr, QUrl::StrictMode);
-            if (url.isValid()) {
-                m_stdOut << "Loading " << qstr << " ......" << ++m_loaded << endl;
-                m_view->load(url);
-            } else
-                loadNext();
-        } else
-            disconnect(m_view, 0, this, 0);
-    }
-
-private:
-    void init(const QString& inputFileName)
-    {
-        QFile inputFile(inputFileName);
-        if (inputFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
-            QTextStream stream(&inputFile);
-            QString line;
-            while (true) {
-                line = stream.readLine();
-                if (line.isNull())
-                    break;
-                m_urls.append(line);
-            }
-        } else {
-            qDebug() << "Cant't open list file";
-            exit(0);
-        }
-        m_index = 0;
-        inputFile.close();
-    }
-
-    bool getUrl(QString& qstr)
-    {
-        if (m_index == m_urls.size())
-            return false;
-
-        qstr = m_urls[m_index++];
-        return true;
-    }
-
-private:
-    QVector<QString> m_urls;
-    int m_index;
-    QWebView* m_view;
-    QTextStream m_stdOut;
-    int m_loaded;
-};
 
 #include "main.moc"
 
@@ -704,8 +639,8 @@ int main(int argc, char **argv)
         }
         MainWindow* window = new MainWindow;
         QWebView* view = window->webView();
-        URLLoader loader(view, listFile);
-        QObject::connect(view, SIGNAL(loadFinished(bool)), &loader, SLOT(loadNext()));
+        UrlLoader loader(view->page()->mainFrame(), listFile);
+        QObject::connect(view->page()->mainFrame(), SIGNAL(loadFinished(bool)), &loader, SLOT(loadNext()));
         loader.loadNext();
         window->show();
         launcherMain(app);
diff --git a/WebKitTools/QtLauncher/urlloader.cpp b/WebKitTools/QtLauncher/urlloader.cpp
new file mode 100644
index 0000000..590e32e
--- /dev/null
+++ b/WebKitTools/QtLauncher/urlloader.cpp
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
+ * 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 "urlloader.h"
+
+#include <QFile>
+#include <QDebug>
+
+UrlLoader::UrlLoader(QWebFrame* frame, const QString& inputFileName)
+    : m_frame(frame)
+    , m_stdOut(stdout)
+    , m_loaded(0)
+{
+    init(inputFileName);
+}
+
+void UrlLoader::loadNext()
+{
+    QString qstr;
+    if (getUrl(qstr)) {
+        QUrl url(qstr, QUrl::StrictMode);
+        if (url.isValid()) {
+            m_stdOut << "Loading " << qstr << " ......" << ++m_loaded << endl;
+            m_frame->load(url);
+        } else
+            loadNext();
+    } else
+        disconnect(m_frame, 0, this, 0);
+}
+
+void UrlLoader::init(const QString& inputFileName)
+{
+    QFile inputFile(inputFileName);
+    if (inputFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
+        QTextStream stream(&inputFile);
+        QString line;
+        while (true) {
+            line = stream.readLine();
+            if (line.isNull())
+                break;
+            m_urls.append(line);
+        }
+    } else {
+        qDebug() << "Can't open list file";
+        exit(0);
+    }
+    m_index = 0;
+    inputFile.close();
+}
+
+bool UrlLoader::getUrl(QString& qstr)
+{
+    if (m_index == m_urls.size())
+        return false;
+
+    qstr = m_urls[m_index++];
+    return true;
+}
diff --git a/WebKitTools/QtLauncher/urlloader.h b/WebKitTools/QtLauncher/urlloader.h
new file mode 100644
index 0000000..9c9c610
--- /dev/null
+++ b/WebKitTools/QtLauncher/urlloader.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
+ * 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.
+ */
+
+#ifndef urlloader_h
+#define urlloader_h
+
+#include "qwebframe.h"
+
+#include <QTextStream>
+#include <QVector>
+
+class UrlLoader : public QObject {
+    Q_OBJECT
+
+public:
+    UrlLoader(QWebFrame* frame, const QString& inputFileName);
+
+public slots:
+    void loadNext();
+
+private:
+    void init(const QString& inputFileName);
+    bool getUrl(QString& qstr);
+
+private:
+    QVector<QString> m_urls;
+    int m_index;
+    QWebFrame* m_frame;
+    QTextStream m_stdOut;
+    int m_loaded;
+};
+
+#endif