Title: [145359] releases/WebKitGTK/webkit-2.0/Source/WebKit2
- Revision
- 145359
- Author
- [email protected]
- Date
- 2013-03-11 06:15:17 -0700 (Mon, 11 Mar 2013)
Log Message
WebKitWebPage::document-loaded signal emitted multiple times
Patch by Manuel Rego Casasnovas <[email protected]> on 2013-03-11
Reviewed by Carlos Garcia Campos.
This happens in websites with multiple frames, because the signal
is emitted for every frame.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didFinishDocumentLoadForFrame): Add an early return to make sure
the WebKitWebPage::document-loaded signal is only emitted for the
main frame.
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog (145358 => 145359)
--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog 2013-03-11 13:07:19 UTC (rev 145358)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog 2013-03-11 13:15:17 UTC (rev 145359)
@@ -1,3 +1,17 @@
+2013-03-11 Manuel Rego Casasnovas <[email protected]>
+
+ WebKitWebPage::document-loaded signal emitted multiple times
+
+ Reviewed by Carlos Garcia Campos.
+
+ This happens in websites with multiple frames, because the signal
+ is emitted for every frame.
+
+ * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
+ (didFinishDocumentLoadForFrame): Add an early return to make sure
+ the WebKitWebPage::document-loaded signal is only emitted for the
+ main frame.
+
2013-03-10 Claudio Saavedra <[email protected]>
[GTK][WK2] Add API to retrieve a snapshot from a webview
Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp (145358 => 145359)
--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp 2013-03-11 13:07:19 UTC (rev 145358)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp 2013-03-11 13:15:17 UTC (rev 145359)
@@ -106,8 +106,11 @@
webkitWebPageSetURI(WEBKIT_WEB_PAGE(clientInfo), toImpl(frame)->coreFrame()->document()->url().string().utf8());
}
-static void didFinishDocumentLoadForFrame(WKBundlePageRef, WKBundleFrameRef, WKTypeRef*, const void *clientInfo)
+static void didFinishDocumentLoadForFrame(WKBundlePageRef, WKBundleFrameRef frame, WKTypeRef*, const void *clientInfo)
{
+ if (!WKBundleFrameIsMainFrame(frame))
+ return;
+
g_signal_emit(WEBKIT_WEB_PAGE(clientInfo), signals[DOCUMENT_LOADED], 0);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes