[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:26:15 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 1c6cdb43be001cd47aa855be7eccfd3c3b79c48e
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Jan 23 16:54:35 2010 +0000
2010-01-23 Robert Hogan <robert at roberthogan.net>
Reviewed by Kenneth Rohde Christiansen.
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-23 Robert Hogan <robert at roberthogan.net>
Reviewed by Kenneth Rohde Christiansen.
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@53770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 7995f1c..4e70317 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,25 @@
+2010-01-23 Robert Hogan <robert at roberthogan.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ 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-23 Yury Semikhatsky <yurys at chromium.org>
Unreviewed. Add new inspector test added in r53766 to skipi
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index d782595..a3ad8f4 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
@@ -5025,10 +5024,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 11795ff..20c1a93 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,31 @@
+2010-01-23 Robert Hogan <robert at roberthogan.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ 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-23 Dan Bernstein <mitz at apple.com>
Reviewed by Mark Rowe.
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 dffb636..76165f6 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
@@ -86,10 +86,21 @@ void LayoutTestController::processWork()
}
}
-// Called on loadFinished on mainFrame.
+// Called on loadFinished on WebPage
void LayoutTestController::maybeDump(bool success)
{
- Q_ASSERT(sender() == m_topLoadingFrame->page());
+
+ // This can happen on any of the http/tests/security/window-events-*.html tests, where the test opens
+ // a new window, calls the unload and load event handlers on the window's page, and then immediately
+ // issues a notifyDone. Needs investigation.
+ if (!m_topLoadingFrame)
+ return;
+
+ // 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