Title: [131607] trunk/Source/WebKit2
Revision
131607
Author
[email protected]
Date
2012-10-17 08:56:29 -0700 (Wed, 17 Oct 2012)

Log Message

[GTK] Don't use the C API internally in WebKitCookieManager
https://bugs.webkit.org/show_bug.cgi?id=96772

Reviewed by Gustavo Noronha Silva.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate):
(webkitCookieManagerFinalize):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkitCookieManagerGetDomainsWithCookiesCallback):
(webkit_cookie_manager_get_domains_with_cookies):
(webkit_cookie_manager_delete_cookies_for_domain):
(webkit_cookie_manager_delete_all_cookies):
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_get_cookie_manager):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (131606 => 131607)


--- trunk/Source/WebKit2/ChangeLog	2012-10-17 15:52:17 UTC (rev 131606)
+++ trunk/Source/WebKit2/ChangeLog	2012-10-17 15:56:29 UTC (rev 131607)
@@ -1,5 +1,31 @@
 2012-10-17  Carlos Garcia Campos  <[email protected]>
 
+        [GTK] Don't use the C API internally in WebKitCookieManager
+        https://bugs.webkit.org/show_bug.cgi?id=96772
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Using the C++ classes directly instead of the C API wrappers we
+        avoid a lot of toImpl/toAPI casts, string conversions and
+        allocations. The code is also a lot simpler and easier to read.
+
+        * UIProcess/API/gtk/WebKitCookieManager.cpp:
+        (_WebKitCookieManagerPrivate):
+        (webkitCookieManagerFinalize):
+        (webkitCookieManagerCreate):
+        (webkit_cookie_manager_set_persistent_storage):
+        (webkit_cookie_manager_set_accept_policy):
+        (webkit_cookie_manager_get_accept_policy):
+        (webkitCookieManagerGetDomainsWithCookiesCallback):
+        (webkit_cookie_manager_get_domains_with_cookies):
+        (webkit_cookie_manager_delete_cookies_for_domain):
+        (webkit_cookie_manager_delete_all_cookies):
+        * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (webkit_web_context_get_cookie_manager):
+
+2012-10-17  Carlos Garcia Campos  <[email protected]>
+
         [GTK] Don't use the C API internally in WebKitContextMenu
         https://bugs.webkit.org/show_bug.cgi?id=96770
 

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp (131606 => 131607)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp	2012-10-17 15:52:17 UTC (rev 131606)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp	2012-10-17 15:56:29 UTC (rev 131607)
@@ -27,8 +27,6 @@
 #include <wtf/gobject/GRefPtr.h>
 #include <wtf/text/CString.h>
 
-using namespace WebKit;
-
 enum {
     CHANGED,
 
@@ -36,7 +34,7 @@
 };
 
 struct _WebKitCookieManagerPrivate {
-    WKRetainPtr<WKCookieManagerRef> wkCookieManager;
+    RefPtr<WebCookieManagerProxy> webCookieManager;
 };
 
 static guint signals[LAST_SIGNAL] = { 0, };
@@ -46,9 +44,9 @@
 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT, SoupCookiePersistentStorageText);
 COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE, SoupCookiePersistentStorageSQLite);
 
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS, kWKHTTPCookieAcceptPolicyAlways);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NEVER, kWKHTTPCookieAcceptPolicyNever);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY, kWKHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain);
+COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS, HTTPCookieAcceptPolicyAlways);
+COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NEVER, HTTPCookieAcceptPolicyNever);
+COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY, HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain);
 
 static void webkit_cookie_manager_init(WebKitCookieManager* manager)
 {
@@ -60,7 +58,7 @@
 static void webkitCookieManagerFinalize(GObject* object)
 {
     WebKitCookieManagerPrivate* priv = WEBKIT_COOKIE_MANAGER(object)->priv;
-    WKCookieManagerStopObservingCookieChanges(priv->wkCookieManager.get());
+    priv->webCookieManager->stopObservingCookieChanges();
     priv->~WebKitCookieManagerPrivate();
     G_OBJECT_CLASS(webkit_cookie_manager_parent_class)->finalize(object);
 }
@@ -92,18 +90,18 @@
     g_signal_emit(WEBKIT_COOKIE_MANAGER(clientInfo), signals[CHANGED], 0);
 }
 
-WebKitCookieManager* webkitCookieManagerCreate(WKCookieManagerRef wkCookieManager)
+WebKitCookieManager* webkitCookieManagerCreate(WebCookieManagerProxy* webCookieManager)
 {
     WebKitCookieManager* manager = WEBKIT_COOKIE_MANAGER(g_object_new(WEBKIT_TYPE_COOKIE_MANAGER, NULL));
-    manager->priv->wkCookieManager = wkCookieManager;
+    manager->priv->webCookieManager = webCookieManager;
 
     WKCookieManagerClient wkCookieManagerClient = {
         kWKCookieManagerClientCurrentVersion,
         manager, // clientInfo
         cookiesDidChange
     };
-    WKCookieManagerSetClient(wkCookieManager, &wkCookieManagerClient);
-    WKCookieManagerStartObservingCookieChanges(wkCookieManager);
+    WKCookieManagerSetClient(toAPI(webCookieManager), &wkCookieManagerClient);
+    manager->priv->webCookieManager->startObservingCookieChanges();
 
     return manager;
 }
@@ -127,9 +125,9 @@
     g_return_if_fail(WEBKIT_IS_COOKIE_MANAGER(manager));
     g_return_if_fail(filename);
 
-    WKCookieManagerStopObservingCookieChanges(manager->priv->wkCookieManager.get());
-    toImpl(manager->priv->wkCookieManager.get())->setCookiePersistentStorage(String::fromUTF8(filename), storage);
-    WKCookieManagerStartObservingCookieChanges(manager->priv->wkCookieManager.get());
+    manager->priv->webCookieManager->stopObservingCookieChanges();
+    manager->priv->webCookieManager->setCookiePersistentStorage(String::fromUTF8(filename), storage);
+    manager->priv->webCookieManager->startObservingCookieChanges();
 }
 
 /**
@@ -143,7 +141,7 @@
 {
     g_return_if_fail(WEBKIT_IS_COOKIE_MANAGER(manager));
 
-    WKCookieManagerSetHTTPCookieAcceptPolicy(manager->priv->wkCookieManager.get(), policy);
+    manager->priv->webCookieManager->setHTTPCookieAcceptPolicy(policy);
 }
 
 struct GetAcceptPolicyAsyncData {
@@ -186,7 +184,7 @@
     data->cancellable = cancellable;
     g_simple_async_result_set_op_res_gpointer(result, data, reinterpret_cast<GDestroyNotify>(destroyGetAcceptPolicyAsyncData));
 
-    WKCookieManagerGetHTTPCookieAcceptPolicy(manager->priv->wkCookieManager.get(), result, webkitCookieManagerGetAcceptPolicyCallback);
+    manager->priv->webCookieManager->getHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyCallback::create(result, webkitCookieManagerGetAcceptPolicyCallback));
 }
 
 /**
@@ -228,10 +226,11 @@
     if (g_cancellable_set_error_if_cancelled(data->cancellable.get(), &error))
         g_simple_async_result_take_error(result.get(), error);
     else {
+        ImmutableArray* domains = toImpl(wkDomains);
         data->domains = adoptGRef(g_ptr_array_new_with_free_func(g_free));
-        for (size_t i = 0; i < WKArrayGetSize(wkDomains); ++i) {
-            WKStringRef wkDomain = static_cast<WKStringRef>(WKArrayGetItemAtIndex(wkDomains, i));
-            String domain = toImpl(wkDomain)->string();
+        for (size_t i = 0; i < domains->size(); ++i) {
+            WebString* domainString = static_cast<WebString*>(domains->at(i));
+            String domain = domainString->string();
             if (domain.isEmpty())
                 continue;
             g_ptr_array_add(data->domains.get(), g_strdup(domain.utf8().data()));
@@ -262,7 +261,7 @@
     GetDomainsWithCookiesAsyncData* data = ""
     data->cancellable = cancellable;
     g_simple_async_result_set_op_res_gpointer(result, data, reinterpret_cast<GDestroyNotify>(destroyGetDomainsWithCookiesAsyncData));
-    WKCookieManagerGetHostnamesWithCookies(manager->priv->wkCookieManager.get(), result, webkitCookieManagerGetDomainsWithCookiesCallback);
+    manager->priv->webCookieManager->getHostnamesWithCookies(ArrayCallback::create(result, webkitCookieManagerGetDomainsWithCookiesCallback));
 }
 
 /**
@@ -305,8 +304,7 @@
     g_return_if_fail(WEBKIT_IS_COOKIE_MANAGER(manager));
     g_return_if_fail(domain);
 
-    WKRetainPtr<WKStringRef> wkDomain(AdoptWK, WKStringCreateWithUTF8CString(domain));
-    WKCookieManagerDeleteCookiesForHostname(manager->priv->wkCookieManager.get(), wkDomain.get());
+    manager->priv->webCookieManager->deleteCookiesForHostname(String::fromUTF8(domain));
 }
 
 /**
@@ -319,5 +317,5 @@
 {
     g_return_if_fail(WEBKIT_IS_COOKIE_MANAGER(manager));
 
-    WKCookieManagerDeleteAllCookies(manager->priv->wkCookieManager.get());
+    manager->priv->webCookieManager->deleteAllCookies();
 }

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h (131606 => 131607)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h	2012-10-17 15:52:17 UTC (rev 131606)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManagerPrivate.h	2012-10-17 15:56:29 UTC (rev 131607)
@@ -23,6 +23,8 @@
 #include "WebKitCookieManager.h"
 #include "WebKitPrivate.h"
 
-WebKitCookieManager* webkitCookieManagerCreate(WKCookieManagerRef);
+using namespace WebKit;
 
+WebKitCookieManager* webkitCookieManagerCreate(WebCookieManagerProxy*);
+
 #endif // WebKitCookieManagerPrivate_h

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (131606 => 131607)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2012-10-17 15:52:17 UTC (rev 131606)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2012-10-17 15:56:29 UTC (rev 131607)
@@ -318,7 +318,7 @@
 
     WebKitWebContextPrivate* priv = context->priv;
     if (!priv->cookieManager)
-        priv->cookieManager = adoptGRef(webkitCookieManagerCreate(toAPI(priv->context->cookieManagerProxy())));
+        priv->cookieManager = adoptGRef(webkitCookieManagerCreate(priv->context->cookieManagerProxy()));
 
     return priv->cookieManager.get();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to