Title: [126267] trunk/Tools
Revision
126267
Author
[email protected]
Date
2012-08-21 23:47:38 -0700 (Tue, 21 Aug 2012)

Log Message

[GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
https://bugs.webkit.org/show_bug.cgi?id=94669

Patch by Sudarsana Nagineni <[email protected]> on 2012-08-21
Reviewed by Carlos Garcia Campos.

Fix memory leaks in DRT's EventSender code.

* DumpRenderTree/gtk/EventSender.cpp:
(getMenuItemTitleCallback): Use JSRetainPtr and don't leak.
(contextClickCallback): Use GOwnPtr to manage memory of a
newly-allocated list automatically.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (126266 => 126267)


--- trunk/Tools/ChangeLog	2012-08-22 06:43:53 UTC (rev 126266)
+++ trunk/Tools/ChangeLog	2012-08-22 06:47:38 UTC (rev 126267)
@@ -1,3 +1,17 @@
+2012-08-21  Sudarsana Nagineni  <[email protected]>
+
+        [GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
+        https://bugs.webkit.org/show_bug.cgi?id=94669
+
+        Reviewed by Carlos Garcia Campos.
+
+        Fix memory leaks in DRT's EventSender code.
+
+        * DumpRenderTree/gtk/EventSender.cpp:
+        (getMenuItemTitleCallback): Use JSRetainPtr and don't leak.
+        (contextClickCallback): Use GOwnPtr to manage memory of a
+        newly-allocated list automatically.
+
 2012-08-21  Dirk Pranke  <[email protected]>
 
         Add mountain lion to perf-tests, layout tests

Modified: trunk/Tools/DumpRenderTree/gtk/EventSender.cpp (126266 => 126267)


--- trunk/Tools/DumpRenderTree/gtk/EventSender.cpp	2012-08-22 06:43:53 UTC (rev 126266)
+++ trunk/Tools/DumpRenderTree/gtk/EventSender.cpp	2012-08-22 06:47:38 UTC (rev 126267)
@@ -157,7 +157,8 @@
     else
         label = gtk_menu_item_get_label(GTK_MENU_ITEM(widget));
 
-    return JSValueMakeString(context, JSStringCreateWithUTF8CString(label.data()));
+    JSRetainPtr<JSStringRef> itemText(Adopt, JSStringCreateWithUTF8CString(label.data()));
+    return JSValueMakeString(context, itemText.get());
 }
 
 static bool setMenuItemTitleCallback(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception)
@@ -216,10 +217,10 @@
     WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);
     GtkMenu* gtkMenu = webkit_web_view_get_context_menu(view);
     if (gtkMenu) {
-        GList* items = gtk_container_get_children(GTK_CONTAINER(gtkMenu));
-        JSValueRef arrayValues[g_list_length(items)];
+        GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(gtkMenu)));
+        JSValueRef arrayValues[g_list_length(items.get())];
         int index = 0;
-        for (GList* item = g_list_first(items); item; item = g_list_next(item)) {
+        for (GList* item = g_list_first(items.get()); item; item = g_list_next(item)) {
             arrayValues[index] = JSObjectMake(context, getMenuItemClass(), item->data);
             index++;
         }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to