2007-12-24 Christian Dywan <christian@twotoasts.de>
authoralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 25 Dec 2007 06:00:20 +0000 (06:00 +0000)
committeralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 25 Dec 2007 06:00:20 +0000 (06:00 +0000)
        Reviewed by Alp Toker.

        http://bugs.webkit.org/attachment.cgi?id=18099
        There are no NULL checks for strings in public api

        Add missing NULL checks for string parameters.

        Provide sensible defaults when NULL is passed for the optional
        parameters in webkit_web_view_load_string(). UTF-8 is the default
        encoding used by GLib and text/html is a reasonable default content
        type.

        * WebView/webkitnetworkrequest.cpp:
        * WebView/webkitwebview.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/gtk/ChangeLog
WebKit/gtk/WebView/webkitnetworkrequest.cpp
WebKit/gtk/WebView/webkitwebview.cpp

index 508d6229181260a4fd8df2116ce9c273cc50e32d..81d35ba6c4e151498fbdacbe03d2e43f0e42db11 100644 (file)
@@ -1,3 +1,20 @@
+2007-12-24  Christian Dywan  <christian@twotoasts.de>
+
+        Reviewed by Alp Toker.
+
+        http://bugs.webkit.org/attachment.cgi?id=18099
+        There are no NULL checks for strings in public api
+
+        Add missing NULL checks for string parameters.
+
+        Provide sensible defaults when NULL is passed for the optional
+        parameters in webkit_web_view_load_string(). UTF-8 is the default
+        encoding used by GLib and text/html is a reasonable default content
+        type.
+
+        * WebView/webkitnetworkrequest.cpp:
+        * WebView/webkitwebview.cpp:
+
 2007-12-22  Xan Lopez  <xan@gnome.org>
 
         Reviewed by Alp Toker.
index 0ec0c96697b92c866a18e8452dc67646e202521c..dcc1e1f6bb597f7c38a896ba772a4cc3f0b2105a 100644 (file)
@@ -51,6 +51,8 @@ static void webkit_network_request_init(WebKitNetworkRequest* request)
 
 WebKitNetworkRequest* webkit_network_request_new(const gchar* uri)
 {
+    g_return_val_if_fail(uri, NULL);
+
     WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, NULL));
     WebKitNetworkRequestPrivate* requestPrivate = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
 
@@ -61,11 +63,10 @@ WebKitNetworkRequest* webkit_network_request_new(const gchar* uri)
 
 void webkit_network_request_set_uri(WebKitNetworkRequest* request, const gchar* uri)
 {
-    WebKitNetworkRequestPrivate* requestPrivate;
-
     g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request));
+    g_return_if_fail(uri);
 
-    requestPrivate = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
+    WebKitNetworkRequestPrivate* requestPrivate = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
 
     g_free(requestPrivate->uri);
     requestPrivate->uri = g_strdup(uri);
@@ -73,11 +74,9 @@ void webkit_network_request_set_uri(WebKitNetworkRequest* request, const gchar*
 
 const gchar* webkit_network_request_get_uri(WebKitNetworkRequest* request)
 {
-    WebKitNetworkRequestPrivate* requestPrivate;
-
     g_return_val_if_fail(WEBKIT_IS_NETWORK_REQUEST(request), NULL);
 
-    requestPrivate = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
+    WebKitNetworkRequestPrivate* requestPrivate = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request);
 
     return requestPrivate->uri;
 }
index 190ba26e44fdb174f1c4988499def7de0ba9e1a0..65eba9305e7505bc0cbb9e963c7e48d60a39da99 100644 (file)
@@ -963,6 +963,7 @@ gboolean webkit_web_view_can_go_forward(WebKitWebView* webView)
 void webkit_web_view_open(WebKitWebView* webView, const gchar* uri)
 {
     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+    g_return_if_fail(uri);
 
     Frame* frame = core(webkit_web_view_get_main_frame(webView));
     DeprecatedString string = DeprecatedString::fromUtf8(uri);
@@ -980,21 +981,23 @@ void webkit_web_view_reload(WebKitWebView* webView)
 void webkit_web_view_load_string(WebKitWebView* webView, const gchar* content, const gchar* contentMimeType, const gchar* contentEncoding, const gchar* baseUri)
 {
     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+    g_return_if_fail(content);
 
     Frame* frame = core(webkit_web_view_get_main_frame(webView));
 
-    KURL url(DeprecatedString::fromUtf8(baseUri));
+    KURL url(baseUri ? DeprecatedString::fromUtf8(baseUri) : "");
     RefPtr<SharedBuffer> sharedBuffer = new SharedBuffer(strdup(content), strlen(content));
-    SubstituteData substituteData(sharedBuffer.release(), String(contentMimeType), String(contentEncoding), KURL("about:blank"), url);
+    SubstituteData substituteData(sharedBuffer.release(), contentMimeType ? String(contentMimeType) : "text/html", contentEncoding ? String(contentEncoding) : "UTF-8", KURL("about:blank"), url);
 
     frame->loader()->load(ResourceRequest(url), substituteData);
 }
 
-void webkit_web_view_load_html_string(WebKitWebView* webView, const gchar* content, const gchar* baseUrl)
+void webkit_web_view_load_html_string(WebKitWebView* webView, const gchar* content, const gchar* baseUri)
 {
     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+    g_return_if_fail(content);
 
-    webkit_web_view_load_string(webView, content, "text/html", "UTF-8", baseUrl);
+    webkit_web_view_load_string(webView, content, NULL, NULL, baseUri);
 }
 
 void webkit_web_view_stop_loading(WebKitWebView* webView)