summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp55
1 files changed, 31 insertions, 24 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
index 7a540d353..f81cd2b17 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
@@ -31,6 +31,23 @@
using namespace WebKit;
+/**
+ * SECTION: WebKitWebResource
+ * @Short_description: Represents a resource at the end of a URI
+ * @Title: WebKitWebResource
+ *
+ * A #WebKitWebResource encapsulates content for each resource at the
+ * end of a particular URI. For example, one #WebKitWebResource will
+ * be created for each separate image and stylesheet when a page is
+ * loaded.
+ *
+ * You can access the response and the URI for a given
+ * #WebKitWebResource, using webkit_web_resource_get_uri() and
+ * webkit_web_resource_get_response(), as well as the raw data, using
+ * webkit_web_resource_get_data().
+ *
+ */
+
enum {
SENT_REQUEST,
RECEIVED_DATA,
@@ -90,7 +107,7 @@ static void webkit_web_resource_class_init(WebKitWebResourceClass* resourceClass
PROP_URI,
g_param_spec_string("uri",
_("URI"),
- _("The current active URI of the result"),
+ _("The current active URI of the resource"),
0,
WEBKIT_PARAM_READABLE));
@@ -238,7 +255,7 @@ WebFrameProxy* webkitWebResourceGetFrame(WebKitWebResource* resource)
* webkit_web_resource_get_uri:
* @resource: a #WebKitWebResource
*
- * Returns the current active URI of @web_view. The active URI might change during
+ * Returns the current active URI of @resource. The active URI might change during
* a load operation:
*
* <orderedlist>
@@ -294,20 +311,15 @@ WebKitURIResponse* webkit_web_resource_get_response(WebKitWebResource* resource)
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 = static_cast<ResourceGetDataAsyncData*>(g_simple_async_result_get_op_res_gpointer(result.get()));
- 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 = static_cast<ResourceGetDataAsyncData*>(g_task_get_task_data(task.get()));
+ data->webData = toImpl(wkData);
+ g_task_return_boolean(task.get(), TRUE);
}
/**
@@ -326,16 +338,13 @@ void webkit_web_resource_get_data(WebKitWebResource* resource, GCancellable* can
{
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 = createResourceGetDataAsyncData();
- 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 = String::fromUTF8(resource->priv->uri.data());
- resource->priv->frame->getResourceData(WebURL::create(url).get(), DataCallback::create(result, resourceDataCallback));
+ resource->priv->frame->getResourceData(WebURL::create(url).get(), DataCallback::create(task, resourceDataCallback));
}
}
@@ -354,15 +363,13 @@ void webkit_web_resource_get_data(WebKitWebResource* resource, GCancellable* can
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);
-
- GSimpleAsyncResult* simple = G_SIMPLE_ASYNC_RESULT(result);
- g_warn_if_fail(g_simple_async_result_get_source_tag(simple) == webkit_web_resource_get_data);
+ g_return_val_if_fail(g_task_is_valid(result, resource), 0);
- 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 = static_cast<ResourceGetDataAsyncData*>(g_simple_async_result_get_op_res_gpointer(simple));
+ ResourceGetDataAsyncData* data = static_cast<ResourceGetDataAsyncData*>(g_task_get_task_data(task));
if (length)
*length = data->webData->size();
return static_cast<guchar*>(g_memdup(data->webData->bytes(), data->webData->size()));