Modified: trunk/Source/WebKit2/ChangeLog (117629 => 117630)
--- trunk/Source/WebKit2/ChangeLog 2012-05-18 21:36:08 UTC (rev 117629)
+++ trunk/Source/WebKit2/ChangeLog 2012-05-18 21:36:33 UTC (rev 117630)
@@ -1,3 +1,19 @@
+2012-05-18 Sudarsana Nagineni <[email protected]>
+
+ [GTK] [WK2] Memory leaks in WebKitBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=86872
+
+ Reviewed by Martin Robinson.
+
+ Fix memory leaks by adopting WKArray of WebBackForwardListItems
+ allocations using AdoptWK.
+
+ * UIProcess/API/gtk/WebKitBackForwardList.cpp:
+ (webkit_back_forward_list_get_back_list):
+ (webkit_back_forward_list_get_back_list_with_limit):
+ (webkit_back_forward_list_get_forward_list):
+ (webkit_back_forward_list_get_forward_list_with_limit):
+
2012-05-18 Anders Carlsson <[email protected]>
PDF page does not show up when opened in the background
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp (117629 => 117630)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp 2012-05-18 21:36:08 UTC (rev 117629)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp 2012-05-18 21:36:33 UTC (rev 117630)
@@ -254,7 +254,8 @@
g_return_val_if_fail(WEBKIT_IS_BACK_FORWARD_LIST(backForwardList), 0);
guint limit = WKBackForwardListGetBackListCount(backForwardList->priv->wkList);
- return webkitBackForwardListCreateList(backForwardList, WKBackForwardListCopyBackListWithLimit(backForwardList->priv->wkList, limit));
+ WKRetainPtr<WKArrayRef> wkList(AdoptWK, WKBackForwardListCopyBackListWithLimit(backForwardList->priv->wkList, limit));
+ return webkitBackForwardListCreateList(backForwardList, wkList.get());
}
/**
@@ -269,7 +270,8 @@
{
g_return_val_if_fail(WEBKIT_IS_BACK_FORWARD_LIST(backForwardList), 0);
- return webkitBackForwardListCreateList(backForwardList, WKBackForwardListCopyBackListWithLimit(backForwardList->priv->wkList, limit));
+ WKRetainPtr<WKArrayRef> wkList(AdoptWK, WKBackForwardListCopyBackListWithLimit(backForwardList->priv->wkList, limit));
+ return webkitBackForwardListCreateList(backForwardList, wkList.get());
}
/**
@@ -284,7 +286,8 @@
g_return_val_if_fail(WEBKIT_IS_BACK_FORWARD_LIST(backForwardList), 0);
guint limit = WKBackForwardListGetForwardListCount(backForwardList->priv->wkList);
- return webkitBackForwardListCreateList(backForwardList, WKBackForwardListCopyForwardListWithLimit(backForwardList->priv->wkList, limit));
+ WKRetainPtr<WKArrayRef> wkList(AdoptWK, WKBackForwardListCopyForwardListWithLimit(backForwardList->priv->wkList, limit));
+ return webkitBackForwardListCreateList(backForwardList, wkList.get());
}
/**
@@ -299,5 +302,6 @@
{
g_return_val_if_fail(WEBKIT_IS_BACK_FORWARD_LIST(backForwardList), 0);
- return webkitBackForwardListCreateList(backForwardList, WKBackForwardListCopyForwardListWithLimit(backForwardList->priv->wkList, limit));
+ WKRetainPtr<WKArrayRef> wkList(AdoptWK, WKBackForwardListCopyForwardListWithLimit(backForwardList->priv->wkList, limit));
+ return webkitBackForwardListCreateList(backForwardList, wkList.get());
}