[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
kov at webkit.org
kov at webkit.org
Thu Oct 29 20:32:35 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 5259e926546b1824dc5ece2a3ae453f9c7997e81
Author: kov at webkit.org <kov at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 23 19:18:43 2009 +0000
WebKit/gtk
2009-09-23 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685
* webkit/webkitprivate.h:
* webkit/webkitwebframe.cpp:
(webkit_web_frame_get_pending_unload_event_count): New function to
satisfy DRT needs.
WebKitTools
2009-09-23 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685
Implement dumping of the number of pending unload handlers.
The following tests will pass:
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.html
fast/loader/unload-javascript-url.html
fast/loader/unload-reload.html
fast/loader/unload-window-location.html
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(getFrameNameSuitableForTestResult):
(webViewLoadFinished):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 3fa3b59..91c7f82 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,15 @@
+2009-09-23 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] need to dump number of pending unload handlers
+ https://bugs.webkit.org/show_bug.cgi?id=29685
+
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebframe.cpp:
+ (webkit_web_frame_get_pending_unload_event_count): New function to
+ satisfy DRT needs.
+
2009-09-23 Jan Michael Alonzo <jmalonzo at webkit.org>
Reviewed by Xan Lopez.
diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h
index 4d60be2..cfb8207 100644
--- a/WebKit/gtk/webkit/webkitprivate.h
+++ b/WebKit/gtk/webkit/webkitprivate.h
@@ -284,6 +284,9 @@ extern "C" {
WEBKIT_API gchar*
webkit_web_frame_dump_render_tree (WebKitWebFrame* frame);
+ WEBKIT_API guint
+ webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame);
+
WEBKIT_API bool
webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element);
diff --git a/WebKit/gtk/webkit/webkitwebframe.cpp b/WebKit/gtk/webkit/webkitwebframe.cpp
index b40d656..67fa632 100644
--- a/WebKit/gtk/webkit/webkitwebframe.cpp
+++ b/WebKit/gtk/webkit/webkitwebframe.cpp
@@ -798,6 +798,19 @@ gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame)
return g_strdup(string.utf8().data());
}
+/**
+ * webkit_web_frame_get_pending_unload_event_count:
+ * @frame: a #WebKitWebFrame
+ *
+ * Return value: number of pending unload events
+ */
+guint webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
+
+ return core(frame)->domWindow()->pendingUnloadEventListeners();
+}
+
static void begin_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data)
{
PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data);
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index ccd6cf2..3b7cd14 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,27 @@
+2009-09-23 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] need to dump number of pending unload handlers
+ https://bugs.webkit.org/show_bug.cgi?id=29685
+
+ Implement dumping of the number of pending unload handlers.
+
+ The following tests will pass:
+
+ 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.html
+ fast/loader/unload-javascript-url.html
+ fast/loader/unload-reload.html
+ fast/loader/unload-window-location.html
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (getFrameNameSuitableForTestResult):
+ (webViewLoadFinished):
+
2009-09-22 Shinichiro Hamaji <hamaji at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
index a345e6a..f81c96c 100644
--- a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -59,6 +59,7 @@ extern GList* webkit_web_history_item_get_children(WebKitWebHistoryItem*);
extern GSList* webkit_web_frame_get_children(WebKitWebFrame* frame);
extern gchar* webkit_web_frame_get_inner_text(WebKitWebFrame* frame);
extern gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame);
+extern guint webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame);
extern void webkit_web_settings_add_extra_plugin_directory(WebKitWebView* view, const gchar* directory);
extern gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame);
extern void webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame);
@@ -472,8 +473,39 @@ static gboolean processWork(void* data)
return FALSE;
}
+static char* getFrameNameSuitableForTestResult(WebKitWebView* view, WebKitWebFrame* frame)
+{
+ char* frameName = g_strdup(webkit_web_frame_get_name(frame));
+
+ if (frame == webkit_web_view_get_main_frame(view)) {
+ // This is a bit strange. Shouldn't web_frame_get_name return NULL?
+ if (frameName && (frameName[0] != '\0')) {
+ char* tmp = g_strdup_printf("main frame \"%s\"", frameName);
+ g_free (frameName);
+ frameName = tmp;
+ } else {
+ g_free(frameName);
+ frameName = g_strdup("main frame");
+ }
+ } else if (!frameName || (frameName[0] == '\0')) {
+ g_free(frameName);
+ frameName = g_strdup("frame (anonymous)");
+ }
+
+ return frameName;
+}
+
static void webViewLoadFinished(WebKitWebView* view, WebKitWebFrame* frame, void*)
{
+ if (!done && !gLayoutTestController->dumpFrameLoadCallbacks()) {
+ guint pendingFrameUnloadEvents = webkit_web_frame_get_pending_unload_event_count(frame);
+ if (pendingFrameUnloadEvents) {
+ char* frameName = getFrameNameSuitableForTestResult(view, frame);
+ printf("%s - has %u onunload handler(s)\n", frameName, pendingFrameUnloadEvents);
+ g_free(frameName);
+ }
+ }
+
if (frame != topLoadingFrame)
return;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list