From 53ed99f5a74ea11d5a08095641dd43d27fab1308 Mon Sep 17 00:00:00 2001 From: "carlosgc@webkit.org" Date: Mon, 3 Oct 2011 16:17:49 +0000 Subject: [PATCH] [GTK] Fix memory leak when loading url https://bugs.webkit.org/show_bug.cgi?id=69247 Reviewed by Martin Robinson. Release URL created with WKURLCreateWithUTF8CString(). Source/WebKit2: * UIProcess/API/gtk/WebKitWebView.cpp: (webkit_web_view_load_uri): Tools: * MiniBrowser/gtk/BrowserWindow.c: (activateUriEntryCallback): * MiniBrowser/gtk/main.c: (loadURI): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96508 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebKit2/ChangeLog | 12 ++++++++++++ Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp | 4 +++- Tools/ChangeLog | 14 ++++++++++++++ Tools/MiniBrowser/gtk/BrowserWindow.c | 5 +++-- Tools/MiniBrowser/gtk/main.c | 4 +++- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index 222cad7..c640423 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,5 +1,17 @@ 2011-10-03 Carlos Garcia Campos + [GTK] Fix memory leak when loading url + https://bugs.webkit.org/show_bug.cgi?id=69247 + + Reviewed by Martin Robinson. + + Release URL created with WKURLCreateWithUTF8CString(). + + * UIProcess/API/gtk/WebKitWebView.cpp: + (webkit_web_view_load_uri): + +2011-10-03 Carlos Garcia Campos + [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin() https://bugs.webkit.org/show_bug.cgi?id=69147 diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp index 92daa24..893ec4d 100644 --- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp +++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp @@ -216,8 +216,10 @@ void webkit_web_view_load_uri(WebKitWebView* webView, const gchar* uri) g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); g_return_if_fail(uri); + WKURLRef url = WKURLCreateWithUTF8CString(uri); WebPageProxy* page = webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)); - WKPageLoadURL(toAPI(page), WKURLCreateWithUTF8CString(uri)); + WKPageLoadURL(toAPI(page), url); + WKRelease(url); } /** diff --git a/Tools/ChangeLog b/Tools/ChangeLog index 411d56b..4a5c202 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,17 @@ +2011-10-03 Carlos Garcia Campos + + [GTK] Fix memory leak when loading url + https://bugs.webkit.org/show_bug.cgi?id=69247 + + Reviewed by Martin Robinson. + + Release URL created with WKURLCreateWithUTF8CString(). + + * MiniBrowser/gtk/BrowserWindow.c: + (activateUriEntryCallback): + * MiniBrowser/gtk/main.c: + (loadURI): + 2011-10-03 Csaba Osztrogonác Unreviewed. Add Zoltán Árvai as contributor. diff --git a/Tools/MiniBrowser/gtk/BrowserWindow.c b/Tools/MiniBrowser/gtk/BrowserWindow.c index 79e8d20..028be51 100644 --- a/Tools/MiniBrowser/gtk/BrowserWindow.c +++ b/Tools/MiniBrowser/gtk/BrowserWindow.c @@ -64,8 +64,9 @@ G_DEFINE_TYPE(BrowserWindow, browser_window, GTK_TYPE_WINDOW) static void activateUriEntryCallback(BrowserWindow* window) { - const gchar *uri = gtk_entry_get_text(GTK_ENTRY(window->uriEntry)); - WKPageLoadURL(WKViewGetPage(window->webView), WKURLCreateWithUTF8CString(uri)); + WKURLRef url = WKURLCreateWithUTF8CString(gtk_entry_get_text(GTK_ENTRY(window->uriEntry))); + WKPageLoadURL(WKViewGetPage(window->webView), url); + WKRelease(url); } static void goBackCallback(BrowserWindow* window) diff --git a/Tools/MiniBrowser/gtk/main.c b/Tools/MiniBrowser/gtk/main.c index 3cbf2bc..7387279 100644 --- a/Tools/MiniBrowser/gtk/main.c +++ b/Tools/MiniBrowser/gtk/main.c @@ -61,8 +61,10 @@ static void loadURI(const gchar *uri, WKContextRef processContext) WKViewRef webView = WKViewCreate(processContext, 0); GtkWidget *mainWindow = browser_window_new(webView); gchar *url = argumentToURL(uri); - WKPageLoadURL(WKViewGetPage(webView), WKURLCreateWithUTF8CString(url)); + WKURLRef wkURL = WKURLCreateWithUTF8CString(url); g_free(url); + WKPageLoadURL(WKViewGetPage(webView), wkURL); + WKRelease(wkURL); gtk_widget_grab_focus(GTK_WIDGET(webView)); gtk_widget_show(mainWindow); -- 2.7.4