Title: [107092] trunk/Source/WebKit2
Revision
107092
Author
carlo...@webkit.org
Date
2012-02-08 08:31:14 -0800 (Wed, 08 Feb 2012)

Log Message

[GTK] Fix a crash when WebKitWebView is created without a WebContext
https://bugs.webkit.org/show_bug.cgi?id=78104

Reviewed by Philippe Normand.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetProperty): Make sure WebKitWebView:web-context
property is initialized to the default web context when a web
context is not passed to g_object_new().
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewDefaultContext): Check that a web view created with
g_object_new has the default context.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (107091 => 107092)


--- trunk/Source/WebKit2/ChangeLog	2012-02-08 16:17:20 UTC (rev 107091)
+++ trunk/Source/WebKit2/ChangeLog	2012-02-08 16:31:14 UTC (rev 107092)
@@ -1,3 +1,18 @@
+2012-02-08  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Fix a crash when WebKitWebView is created without a WebContext
+        https://bugs.webkit.org/show_bug.cgi?id=78104
+
+        Reviewed by Philippe Normand.
+
+        * UIProcess/API/gtk/WebKitWebView.cpp:
+        (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
+        property is initialized to the default web context when a web
+        context is not passed to g_object_new().
+        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
+        (testWebViewDefaultContext): Check that a web view created with
+        g_object_new has the default context.
+
 2012-02-08  Michael BrĂ¼ning  <michael.brun...@nokia.com>
 
         [Qt][WK2] Compute and set cache capacities using the current CacheModel

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (107091 => 107092)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2012-02-08 16:17:20 UTC (rev 107091)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2012-02-08 16:31:14 UTC (rev 107092)
@@ -180,9 +180,11 @@
     WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
 
     switch (propId) {
-    case PROP_WEB_CONTEXT:
-        webView->priv->context = WEBKIT_WEB_CONTEXT(g_value_get_object(value));
+    case PROP_WEB_CONTEXT: {
+        gpointer webContext = g_value_get_object(value);
+        webView->priv->context = webContext ? WEBKIT_WEB_CONTEXT(webContext) : webkit_web_context_get_default();
         break;
+    }
     case PROP_ZOOM_LEVEL:
         webkit_web_view_set_zoom_level(webView, g_value_get_double(value));
         break;

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp (107091 => 107092)


--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp	2012-02-08 16:17:20 UTC (rev 107091)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp	2012-02-08 16:31:14 UTC (rev 107092)
@@ -26,6 +26,10 @@
 static void testWebViewDefaultContext(WebViewTest* test, gconstpointer)
 {
     g_assert(webkit_web_view_get_context(test->m_webView) == webkit_web_context_get_default());
+
+    // Check that a web view created with g_object_new has the default context.
+    GRefPtr<WebKitWebView> webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL));
+    g_assert(webkit_web_view_get_context(webView.get()) == webkit_web_context_get_default());
 }
 
 static void testWebViewCustomCharset(WebViewTest* test, gconstpointer)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to