[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

weinig at apple.com weinig at apple.com
Wed Dec 22 11:49:00 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit d46da297364297f527673c6172c3550831aab757
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Aug 8 01:59:00 2010 +0000

    WebKitTestRunner needs to print onunload handler information
    <rdar://problem/8213831>
    https://bugs.webkit.org/show_bug.cgi?id=42703
    
    Reviewed by Anders Carlsson.
    
    WebKit2:
    
    Add SPI to get the number of pending unload events.
    
    * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
    (WKBundleFrameGetPendingUnloadCount):
    * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
    * WebProcess/WebPage/WebFrame.cpp:
    (WebKit::WebFrame::pendingUnloadCount):
    * WebProcess/WebPage/WebFrame.h:
    
    WebKitTools:
    
    * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
    (WTR::operator<<):
    (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame):
    
    LayoutTests:
    
    * platform/mac-wk2/Skipped:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64928 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5d998fc..f67d9e3 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -2,6 +2,16 @@
 
         Reviewed by Anders Carlsson.
 
+        WebKitTestRunner needs to print onunload handler information
+        <rdar://problem/8213831>
+        https://bugs.webkit.org/show_bug.cgi?id=42703
+
+        * platform/mac-wk2/Skipped:
+
+2010-08-07  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
         WebKitTestRunner needs GCController
         <rdar://problem/8213834>
         https://bugs.webkit.org/show_bug.cgi?id=42701
diff --git a/LayoutTests/platform/mac-wk2/Skipped b/LayoutTests/platform/mac-wk2/Skipped
index 0be7029..dbeee15 100644
--- a/LayoutTests/platform/mac-wk2/Skipped
+++ b/LayoutTests/platform/mac-wk2/Skipped
@@ -1793,38 +1793,6 @@ fast/loader/non-deferred-substitute-load.html
 http/tests/cookies/third-party-cookie-relaxing.html
 http/tests/plugins/third-party-cookie-accept-policy.html
 
-# WebKitTestRunner needs to print onunload handler information
-# <https://bugs.webkit.org/show_bug.cgi?id=42703>
-fast/events/onunload-clears-onbeforeunload.html
-fast/events/onunload-not-on-body.html
-fast/events/onunload.html
-fast/events/pageshow-pagehide-on-back-uncached.html
-fast/events/pageshow-pagehide.html
-fast/events/stop-load-in-unload-handler-using-document-write.html
-fast/events/stop-load-in-unload-handler-using-window-stop.html
-fast/forms/button-state-restore.html
-fast/frames/frame-unload-crash.html
-fast/loader/onunload-form-submit-crash-2.html
-fast/loader/onunload-form-submit-crash.html
-fast/loader/start-load-in-unload.html
-fast/loader/stateobjects/pushstate-in-iframe.html
-fast/loader/stateobjects/replacestate-in-iframe.html
-fast/loader/unload-form-about-blank.html
-fast/loader/unload-form-post-about-blank.html
-fast/loader/unload-form-post.html
-fast/loader/unload-form.html
-fast/loader/unload-hyperlink-targeted.html
-fast/loader/unload-hyperlink.html
-fast/loader/unload-javascript-url.html
-fast/loader/unload-reload.html
-fast/loader/unload-window-location.html
-http/tests/navigation/history-back-across-form-submission-to-fragment.html
-http/tests/security/window-events-pass.html
-http/tests/xmlhttprequest/frame-load-cancelled-abort.html
-http/tests/xmlhttprequest/frame-unload-abort-crash.html
-http/tests/xmlhttprequest/send-undefined-and-null.html
-http/tests/xmlhttprequest/xhr-onunload.html
-
 # WebKitTestRunner needs to print history delegate information
 # <https://bugs.webkit.org/show_bug.cgi?id=42704>
 http/tests/globalhistory/history-delegate-basic-title.html
@@ -1985,6 +1953,9 @@ plugins/iframe-shims.html
 # match Firefox or Chrome. We should either fix the test, or get rid of it.
 plugins/get-url-with-blank-target.html
 
+# Unexplained failures that were formerly in the WebKitTestRunner needs to print onunload handler list.
+fast/events/onunload-clears-onbeforeunload.html
+
 # Unexplained failures that were formerly in the dumpChildFramesAsText list.
 fast/frames/sandboxed-iframe-noscript.html
 fast/frames/sandboxed-iframe-storage.html
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index c832a9b..9726d57 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,23 @@
 
         Reviewed by Anders Carlsson.
 
+        WebKitTestRunner needs to print onunload handler information
+        <rdar://problem/8213831>
+        https://bugs.webkit.org/show_bug.cgi?id=42703
+
+        Add SPI to get the number of pending unload events.
+
+        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+        (WKBundleFrameGetPendingUnloadCount):
+        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::pendingUnloadCount):
+        * WebProcess/WebPage/WebFrame.h:
+
+2010-08-07  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
         Add additional loader client functions need to complete WebKitTestRunner
         https://bugs.webkit.org/show_bug.cgi?id=43684
 
diff --git a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
index ca2a31f..ea1ccb2 100644
--- a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
@@ -103,3 +103,8 @@ WKStringRef WKBundleFrameCopyInnerText(WKBundleFrameRef frameRef)
 {
     return toCopiedRef(toWK(frameRef)->innerText());
 }
+
+unsigned WKBundleFrameGetPendingUnloadCount(WKBundleFrameRef frameRef)
+{
+    return toWK(frameRef)->pendingUnloadCount();
+}
diff --git a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
index 055e7cd..fcbd41a 100644
--- a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
+++ b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
@@ -44,6 +44,7 @@ WK_EXPORT WKStringRef WKBundleFrameCopyMarkerText(WKBundleFrameRef frame, JSObje
 WK_EXPORT JSValueRef WKBundleFrameGetComputedStyleIncludingVisitedInfo(WKBundleFrameRef frame, JSObjectRef element);
 WK_EXPORT unsigned WKBundleFrameGetNumberOfActiveAnimations(WKBundleFrameRef frame);
 WK_EXPORT bool WKBundleFramePauseAnimationOnElementWithId(WKBundleFrameRef frame, WKStringRef name, WKStringRef elementID, double time);
+WK_EXPORT unsigned WKBundleFrameGetPendingUnloadCount(WKBundleFrameRef frame);
 
 #ifdef __cplusplus
 }
diff --git a/WebKit2/WebProcess/WebPage/WebFrame.cpp b/WebKit2/WebProcess/WebPage/WebFrame.cpp
index a724a3d..0c872c0 100644
--- a/WebKit2/WebProcess/WebPage/WebFrame.cpp
+++ b/WebKit2/WebProcess/WebPage/WebFrame.cpp
@@ -249,6 +249,14 @@ bool WebFrame::pauseAnimationOnElementWithId(const String& animationName, const
     return controller->pauseAnimationAtTime(coreNode->renderer(), animationName, time);
 }
 
+unsigned WebFrame::pendingUnloadCount()
+{
+    if (!m_coreFrame)
+        return 0;
+
+    return m_coreFrame->domWindow()->pendingUnloadEventListeners();
+}
+
 JSGlobalContextRef WebFrame::jsContext()
 {
     return toGlobalRef(m_coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
diff --git a/WebKit2/WebProcess/WebPage/WebFrame.h b/WebKit2/WebProcess/WebPage/WebFrame.h
index ea80134..c8d04ac 100644
--- a/WebKit2/WebProcess/WebPage/WebFrame.h
+++ b/WebKit2/WebProcess/WebPage/WebFrame.h
@@ -86,6 +86,8 @@ public:
     unsigned numberOfActiveAnimations();
     bool pauseAnimationOnElementWithId(const WebCore::String& animationName, const WebCore::String& elementID, double time);
 
+    unsigned pendingUnloadCount();
+
     // Simple listener class used by plug-ins to know when frames finish or fail loading.
     class LoadListener {
     public:
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index b605075..c9909c0 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -2,6 +2,18 @@
 
         Reviewed by Anders Carlsson.
 
+        WebKitTestRunner needs to print onunload handler information
+        <rdar://problem/8213831>
+        https://bugs.webkit.org/show_bug.cgi?id=42703
+
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+        (WTR::operator<<):
+        (WTR::InjectedBundlePage::didFinishDocumentLoadForFrame):
+
+2010-08-07  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
         Add additional loader client functions need to complete WebKitTestRunner
         https://bugs.webkit.org/show_bug.cgi?id=43684
 
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
index 27b42ed..f3b35ef 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
@@ -40,6 +40,24 @@ using namespace std;
 
 namespace WTR {
 
+static ostream& operator<<(ostream& out, WKBundleFrameRef frame)
+{
+    WKRetainPtr<WKStringRef> name(AdoptWK, WKBundleFrameCopyName(frame));
+    if (WKBundleFrameIsMainFrame(frame)) {
+        if (!WKStringIsEmpty(name.get()))
+            out << "main frame \"" << name << "\"";
+        else
+            out << "main frame";
+    } else {
+        if (!WKStringIsEmpty(name.get()))
+            out << "frame \"" << name << "\"";
+        else
+            out << "frame (anonymous)";
+    }
+
+    return out;
+}
+
 static string dumpPath(WKBundleNodeRef node)
 {
     if (!node)
@@ -388,6 +406,10 @@ void InjectedBundlePage::didChangeLocationWithinPageForFrame(WKBundleFrameRef fr
 
 void InjectedBundlePage::didFinishDocumentLoadForFrame(WKBundleFrameRef frame)
 {
+    
+    unsigned pendingFrameUnloadEvents = WKBundleFrameGetPendingUnloadCount(frame);
+    if (pendingFrameUnloadEvents)
+        InjectedBundle::shared().os() << frame << " - has " << pendingFrameUnloadEvents << " onunload handler(s)\n";
 }
 
 void InjectedBundlePage::didHandleOnloadEventsForFrame(WKBundleFrameRef frame)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list