[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

eric at webkit.org eric at webkit.org
Thu Feb 4 21:23:02 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 36fe91fd784333dcc1a91d846b2b20f66c77cf52
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 21 09:12:25 2010 +0000

    2010-01-21  Robert Hogan  <robert at roberthogan.net>
    
            Reviewed by Simon Hausmann.
    
            Qt DRT: respect window.close() and window.closed()
    
            Qt DRT needs to maintain a correct count of open windows
            for windowCount(). It also needs to delete windows that
            have been closed by window.close().
    
            This fixes the following tests:
    
            plugins/destroy-during-npp-new.html
            fast/dom/Document/early-document-access.html
            fast/dom/Window/window-early-properties.html
            fast/events/open-window-from-another-frame.html
            fast/events/popup-blocking-click-in-iframe.html
    
            https://bugs.webkit.org/show_bug.cgi?id=32953
    
            * platform/qt/Skipped:
    2010-01-21  Robert Hogan  <robert at roberthogan.net>
    
            Reviewed by Simon Hausmann.
    
            Qt DRT: respect window.close() and window.closed()
    
            Qt DRT needs to maintain a correct count of open windows
            for windowCount(). It also needs to delete windows that
            have been closed by window.close().
    
            This fixes the following tests:
    
            plugins/destroy-during-npp-new.html
            fast/dom/Document/early-document-access.html
            fast/dom/Window/window-early-properties.html
            fast/events/open-window-from-another-frame.html
            fast/events/popup-blocking-click-in-iframe.html
    
            https://bugs.webkit.org/show_bug.cgi?id=32953
    
            * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
            (WebCore::DumpRenderTree::DumpRenderTree):
            (WebCore::DumpRenderTree::createWindow):
            (WebCore::DumpRenderTree::windowCloseRequested):
            * DumpRenderTree/qt/DumpRenderTreeQt.h:
            * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
            (LayoutTestController::maybeDump):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index d63a7d9..5580a26 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,25 @@
+2010-01-21  Robert Hogan  <robert at roberthogan.net>
+
+        Reviewed by Simon Hausmann.
+
+        Qt DRT: respect window.close() and window.closed()
+
+        Qt DRT needs to maintain a correct count of open windows
+        for windowCount(). It also needs to delete windows that
+        have been closed by window.close().
+
+        This fixes the following tests:
+
+        plugins/destroy-during-npp-new.html
+        fast/dom/Document/early-document-access.html
+        fast/dom/Window/window-early-properties.html
+        fast/events/open-window-from-another-frame.html
+        fast/events/popup-blocking-click-in-iframe.html
+
+        https://bugs.webkit.org/show_bug.cgi?id=32953
+
+        * platform/qt/Skipped:
+
 2010-01-20  Philippe Normand  <pnormand at igalia.com>
 
         Reviewed by Eric Carlson.
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index ffc59de..a5f7098 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -520,7 +520,6 @@ fast/text/midword-break-after-breakable-char.html
 fast/text/textIteratorNilRenderer.html
 fast/text/international/002.html
 
-plugins/destroy-during-npp-new.html
 plugins/embed-attributes-setting.html
 plugins/get-url-that-the-resource-load-delegate-will-disallow.html
 plugins/get-url-with-blank-target.html
@@ -5023,10 +5022,6 @@ fast/css/namespaces/namespaces-empty.xml
 # https://bugs.webkit.org/show_bug.cgi?id=31626
 fast/dom/javascript-url-crash-function.html
 fast/dom/location-new-window-no-crash.html
-fast/dom/Document/early-document-access.html
-fast/dom/Window/window-early-properties.html
-fast/events/open-window-from-another-frame.html
-fast/events/popup-blocking-click-in-iframe.html
 inspector/console-clear.html
 http/tests/misc/set-window-opener-to-null.html
 http/tests/security/aboutBlank/xss-DENIED-set-opener.html
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 84c264c..500159b 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,31 @@
+2010-01-21  Robert Hogan  <robert at roberthogan.net>
+
+        Reviewed by Simon Hausmann.
+
+        Qt DRT: respect window.close() and window.closed()
+
+        Qt DRT needs to maintain a correct count of open windows
+        for windowCount(). It also needs to delete windows that
+        have been closed by window.close().
+
+        This fixes the following tests:
+
+        plugins/destroy-during-npp-new.html
+        fast/dom/Document/early-document-access.html
+        fast/dom/Window/window-early-properties.html
+        fast/events/open-window-from-another-frame.html
+        fast/events/popup-blocking-click-in-iframe.html
+
+        https://bugs.webkit.org/show_bug.cgi?id=32953
+
+        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+        (WebCore::DumpRenderTree::DumpRenderTree):
+        (WebCore::DumpRenderTree::createWindow):
+        (WebCore::DumpRenderTree::windowCloseRequested):
+        * DumpRenderTree/qt/DumpRenderTreeQt.h:
+        * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+        (LayoutTestController::maybeDump):
+
 2010-01-20  Eric Seidel  <eric at webkit.org>
 
         No review, rolling out r53593.
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
index 88af665..8151475 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
@@ -344,6 +344,7 @@ DumpRenderTree::DumpRenderTree()
     // dump results itself when the last page loaded in the test has finished loading.
     connect(m_page, SIGNAL(loadStarted()),
             m_controller, SLOT(resetLoadFinished()));
+    connect(m_page, SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested()));
 
     connect(m_page->mainFrame(), SIGNAL(titleChanged(const QString&)),
             SLOT(titleChanged(const QString&)));
@@ -782,9 +783,18 @@ QWebPage *DumpRenderTree::createWindow()
     connect(page, SIGNAL(frameCreated(QWebFrame*)), this, SLOT(connectFrame(QWebFrame*)));
     connectFrame(page->mainFrame());
     connect(page, SIGNAL(loadFinished(bool)), m_controller, SLOT(maybeDump(bool)));
+    connect(page, SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested()));
     return page;
 }
 
+void DumpRenderTree::windowCloseRequested()
+{
+    QWebPage* page = qobject_cast<QWebPage*>(sender());
+    QObject* container = page->parent();
+    windows.removeAll(container);
+    container->deleteLater();
+}
+
 int DumpRenderTree::windowCount() const
 {
 // include the main view in the count
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
index 9c3428b..ee7acb0 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
@@ -109,6 +109,7 @@ public Q_SLOTS:
     void connectFrame(QWebFrame *frame);
     void dumpDatabaseQuota(QWebFrame* frame, const QString& dbName);
     void statusBarMessage(const QString& message);
+    void windowCloseRequested();
 
 Q_SIGNALS:
     void quit();
diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
index c2e097b..9948eba 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
@@ -88,7 +88,11 @@ void LayoutTestController::processWork()
 // Called on loadFinished on mainFrame.
 void LayoutTestController::maybeDump(bool success)
 {
-    Q_ASSERT(sender() == m_topLoadingFrame->page());
+    // It is possible that we get called by windows created from the main page that have finished
+    // loading, so we don't ASSERT here. At the moment we do not gather results from such windows,
+    // but may need to in future.
+    if (sender() != m_topLoadingFrame->page())
+      return;
 
     m_loadFinished = true;
     // as the function is called on loadFinished, the test might

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list