Title: [151826] trunk/Source/WebKit2
Revision
151826
Author
[email protected]
Date
2013-06-21 01:07:10 -0700 (Fri, 21 Jun 2013)

Log Message

[GTK] Migrate WebKitWebResource to GTask
https://bugs.webkit.org/show_bug.cgi?id=117152

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitWebResource.cpp:
(resourceDataCallback):
(webkit_web_resource_get_data):
(webkit_web_resource_get_data_finish):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (151825 => 151826)


--- trunk/Source/WebKit2/ChangeLog	2013-06-21 06:02:58 UTC (rev 151825)
+++ trunk/Source/WebKit2/ChangeLog	2013-06-21 08:07:10 UTC (rev 151826)
@@ -1,3 +1,15 @@
+2013-06-20  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] Migrate WebKitWebResource to GTask
+        https://bugs.webkit.org/show_bug.cgi?id=117152
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * UIProcess/API/gtk/WebKitWebResource.cpp:
+        (resourceDataCallback):
+        (webkit_web_resource_get_data):
+        (webkit_web_resource_get_data_finish):
+
 2013-06-20  Sergio Correia  <[email protected]>
 
         [WK2] Looping for EINTR on close() is incorrect for Linux, at least

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp (151825 => 151826)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp	2013-06-21 06:02:58 UTC (rev 151825)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp	2013-06-21 08:07:10 UTC (rev 151826)
@@ -311,20 +311,15 @@
 
 struct ResourceGetDataAsyncData {
     RefPtr<WebData> webData;
-    GRefPtr<GCancellable> cancellable;
 };
 WEBKIT_DEFINE_ASYNC_DATA_STRUCT(ResourceGetDataAsyncData)
 
 static void resourceDataCallback(WKDataRef wkData, WKErrorRef, void* context)
 {
-    GRefPtr<GSimpleAsyncResult> result = adoptGRef(G_SIMPLE_ASYNC_RESULT(context));
-    ResourceGetDataAsyncData* data = ""
-    GError* error = 0;
-    if (g_cancellable_set_error_if_cancelled(data->cancellable.get(), &error))
-        g_simple_async_result_take_error(result.get(), error);
-    else
-        data->webData = toImpl(wkData);
-    g_simple_async_result_complete(result.get());
+    GRefPtr<GTask> task = adoptGRef(G_TASK(context));
+    ResourceGetDataAsyncData* data = ""
+    data->webData = toImpl(wkData);
+    g_task_return_boolean(task.get(), TRUE);
 }
 
 /**
@@ -343,16 +338,13 @@
 {
     g_return_if_fail(WEBKIT_IS_WEB_RESOURCE(resource));
 
-    GSimpleAsyncResult* result = g_simple_async_result_new(G_OBJECT(resource), callback, userData,
-                                                           reinterpret_cast<gpointer>(webkit_web_resource_get_data));
-    ResourceGetDataAsyncData* data = ""
-    data->cancellable = cancellable;
-    g_simple_async_result_set_op_res_gpointer(result, data, reinterpret_cast<GDestroyNotify>(destroyResourceGetDataAsyncData));
+    GTask* task = g_task_new(resource, cancellable, callback, userData);
+    g_task_set_task_data(task, createResourceGetDataAsyncData(), reinterpret_cast<GDestroyNotify>(destroyResourceGetDataAsyncData));
     if (resource->priv->isMainResource)
-        resource->priv->frame->getMainResourceData(DataCallback::create(result, resourceDataCallback));
+        resource->priv->frame->getMainResourceData(DataCallback::create(task, resourceDataCallback));
     else {
         String url = ""
-        resource->priv->frame->getResourceData(WebURL::create(url).get(), DataCallback::create(result, resourceDataCallback));
+        resource->priv->frame->getResourceData(WebURL::create(url).get(), DataCallback::create(task, resourceDataCallback));
     }
 }
 
@@ -371,15 +363,13 @@
 guchar* webkit_web_resource_get_data_finish(WebKitWebResource* resource, GAsyncResult* result, gsize* length, GError** error)
 {
     g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(resource), 0);
-    g_return_val_if_fail(G_IS_ASYNC_RESULT(result), 0);
+    g_return_val_if_fail(g_task_is_valid(result, resource), 0);
 
-    GSimpleAsyncResult* simple = G_SIMPLE_ASYNC_RESULT(result);
-    g_warn_if_fail(g_simple_async_result_get_source_tag(simple) == webkit_web_resource_get_data);
-
-    if (g_simple_async_result_propagate_error(simple, error))
+    GTask* task = G_TASK(result);
+    if (!g_task_propagate_boolean(task, error))
         return 0;
 
-    ResourceGetDataAsyncData* data = ""
+    ResourceGetDataAsyncData* data = ""
     if (length)
         *length = data->webData->size();
     return static_cast<guchar*>(g_memdup(data->webData->bytes(), data->webData->size()));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to