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

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 15:09:29 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 18b50cc3fea2238c8f21996c1a7491364ebfa136
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 28 17:37:16 2010 +0000

    2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
    
            Reviewed by Martin Robinson.
    
            [GTK] WebKitWebFrame's load-status is not properly notified to the tests
            https://bugs.webkit.org/show_bug.cgi?id=48048
    
            * platform/gtk/Skipped: unskipped a couple of tests
    2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
    
            Reviewed by Martin Robinson.
    
            [GTK] WebKitWebFrame's load-status is not properly notified to the tests
            https://bugs.webkit.org/show_bug.cgi?id=48048
    
            "frame-created" signal must be issued before loading any data,
            that way clients can correctly capture all the loading related
            signals for that frame.
    
            * WebCoreSupport/FrameLoaderClientGtk.cpp:
            (WebKit::FrameLoaderClient::createFrame):
    2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
    
            Reviewed by Martin Robinson.
    
            [GTK] WebKitWebFrame's load-status is not properly notified to the tests
            https://bugs.webkit.org/show_bug.cgi?id=48048
    
            DRT now listens to WebKitWebFrame load-status signals for each
            created frame instead of the load-status signal of the
            WebKitWebView that only notifies about changes in the main frame.
    
            * DumpRenderTree/gtk/DumpRenderTree.cpp:
            (webViewLoadFinished):
            (webFrameLoadStatusNotified):
            (frameCreatedCallback):
            (createWebView):
            (main):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2bb7341..4c28573 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        [GTK] WebKitWebFrame's load-status is not properly notified to the tests
+        https://bugs.webkit.org/show_bug.cgi?id=48048
+
+        * platform/gtk/Skipped: unskipped a couple of tests
+
 2010-10-28  Tony Chang  <tony at chromium.org>
 
         Reviewed by Kent Tamura.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 8fd020f..9b07efd 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -2789,11 +2789,9 @@ http/tests/loading/bad-scheme-subframe.html
 http/tests/loading/bad-server-subframe.html
 # Needed to cover the fix for <rdar://problem/6727495>
 http/tests/loading/deleted-host-in-resource-load-delegate-callback.html
-http/tests/loading/empty-subframe.html
 http/tests/loading/gmail-assert-on-load.html
 http/tests/loading/preload-img-test.html
 http/tests/loading/redirect-with-no-location-crash.html
-http/tests/loading/slow-parsing-subframe.html
 http/tests/loading/text-content-type-with-binary-extension.html
 http/tests/local/blob/send-data-blob.html
 http/tests/local/blob/send-hybrid-blob.html
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 57c3e27..675f035 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        [GTK] WebKitWebFrame's load-status is not properly notified to the tests
+        https://bugs.webkit.org/show_bug.cgi?id=48048
+
+        "frame-created" signal must be issued before loading any data,
+        that way clients can correctly capture all the loading related
+        signals for that frame.
+
+        * WebCoreSupport/FrameLoaderClientGtk.cpp:
+        (WebKit::FrameLoaderClient::createFrame):
+
 2010-10-27  Mario Sanchez Prada  <msanchez at igalia.com>
 
         Reviewed by Martin Robinson.
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index a0d53a0..53d38c0 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -592,13 +592,14 @@ PassRefPtr<Frame> FrameLoaderClient::createFrame(const KURL& url, const String&
     if (!childFrame->page())
         return 0;
 
+    g_signal_emit_by_name(webView, "frame-created", kitFrame);
+
     childFrame->loader()->loadURLIntoChildFrame(url, referrer, childFrame.get());
 
     // The frame's onload handler may have removed it from the document.
     if (!childFrame->tree()->parent())
         return 0;
 
-    g_signal_emit_by_name(webView, "frame-created", kitFrame);
     return childFrame.release();
 }
 
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 428e541..aee2a58 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-28  Sergio Villar Senin  <svillar at igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        [GTK] WebKitWebFrame's load-status is not properly notified to the tests
+        https://bugs.webkit.org/show_bug.cgi?id=48048
+
+        DRT now listens to WebKitWebFrame load-status signals for each
+        created frame instead of the load-status signal of the
+        WebKitWebView that only notifies about changes in the main frame.
+
+        * DumpRenderTree/gtk/DumpRenderTree.cpp:
+        (webViewLoadFinished):
+        (webFrameLoadStatusNotified):
+        (frameCreatedCallback):
+        (createWebView):
+        (main):
+
 2010-10-28  Tony Chang  <tony at chromium.org>
 
         Reviewed by Kent Tamura.
diff --git a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
index ae381d3..1c851d7 100644
--- a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -727,24 +727,8 @@ static char* getFrameNameSuitableForTestResult(WebKitWebView* view, WebKitWebFra
     return frameName;
 }
 
-static void webViewLoadCommitted(WebKitWebView* view, WebKitWebFrame* frame, void*)
-{
-    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
-        char* frameName = getFrameNameSuitableForTestResult(view, frame);
-        printf("%s - didCommitLoadForFrame\n", frameName);
-        g_free(frameName);
-    }
-}
-
-
 static void webViewLoadFinished(WebKitWebView* view, WebKitWebFrame* frame, void*)
 {
-    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
-        char* frameName = getFrameNameSuitableForTestResult(view, frame);
-        printf("%s - didFinishLoadForFrame\n", frameName);
-        g_free(frameName);
-    }
-
     if (frame != topLoadingFrame)
         return;
 
@@ -980,19 +964,37 @@ static WebKitWebView* webInspectorInspectWebView(WebKitWebInspector*, gpointer d
     return WEBKIT_WEB_VIEW(webView);
 }
 
-static void webViewLoadStatusNotified(WebKitWebView* view, gpointer user_data)
+static void webFrameLoadStatusNotified(WebKitWebFrame* frame, gpointer user_data)
 {
-    WebKitLoadStatus loadStatus = webkit_web_view_get_load_status(view);
+    WebKitLoadStatus loadStatus = webkit_web_frame_get_load_status(frame);
 
     if (gLayoutTestController->dumpFrameLoadCallbacks()) {
-        if (loadStatus == WEBKIT_LOAD_PROVISIONAL) {
-            char* frameName = getFrameNameSuitableForTestResult(view, mainFrame);
-            printf("%s - didStartProvisionalLoadForFrame\n", frameName);
-            g_free(frameName);
+        GOwnPtr<char> frameName(getFrameNameSuitableForTestResult(webkit_web_frame_get_web_view(frame), frame));
+
+        switch (loadStatus) {
+        case WEBKIT_LOAD_PROVISIONAL:
+            if (!done)
+                printf("%s - didStartProvisionalLoadForFrame\n", frameName.get());
+            break;
+        case WEBKIT_LOAD_COMMITTED:
+            if (!done)
+                printf("%s - didCommitLoadForFrame\n", frameName.get());
+            break;
+        case WEBKIT_LOAD_FINISHED:
+            if (frame != topLoadingFrame || !done)
+                printf("%s - didFinishLoadForFrame\n", frameName.get());
+            break;
+        default:
+            break;
         }
     }
 }
 
+static void frameCreatedCallback(WebKitWebView* webView, WebKitWebFrame* webFrame, gpointer user_data)
+{
+    g_signal_connect(webFrame, "notify::load-status", G_CALLBACK(webFrameLoadStatusNotified), NULL);
+}
+
 static WebKitWebView* createWebView()
 {
     WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
@@ -1006,7 +1008,6 @@ static WebKitWebView* createWebView()
     g_object_connect(G_OBJECT(view),
                      "signal::load-started", webViewLoadStarted, 0,
                      "signal::load-finished", webViewLoadFinished, 0,
-                     "signal::load-committed", webViewLoadCommitted, 0,
                      "signal::window-object-cleared", webViewWindowObjectCleared, 0,
                      "signal::console-message", webViewConsoleMessage, 0,
                      "signal::script-alert", webViewScriptAlert, 0,
@@ -1024,13 +1025,10 @@ static WebKitWebView* createWebView()
                      "signal::drag-begin", dragBeginCallback, 0,
                      "signal::drag-end", dragEndCallback, 0,
                      "signal::drag-failed", dragFailedCallback, 0,
+                     "signal::frame-created", frameCreatedCallback, 0,
 
                      NULL);
 
-    g_signal_connect(view,
-                     "notify::load-status", G_CALLBACK(webViewLoadStatusNotified),
-                     NULL);
-
     WebKitWebInspector* inspector = webkit_web_view_get_inspector(view);
     g_object_connect(G_OBJECT(inspector),
                      "signal::inspect-web-view", webInspectorInspectWebView, 0,
@@ -1043,6 +1041,10 @@ static WebKitWebView* createWebView()
         webkit_web_view_set_settings(view, settings);
     }
 
+    // frame-created is not issued for main frame. That's why we must do this here
+    WebKitWebFrame* frame = webkit_web_view_get_main_frame(view);
+    g_signal_connect(frame, "notify::load-status", G_CALLBACK(webFrameLoadStatusNotified), NULL);
+
     return view;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list