Diff
Modified: trunk/Source/WebKit2/ChangeLog (104849 => 104850)
--- trunk/Source/WebKit2/ChangeLog 2012-01-12 21:08:33 UTC (rev 104849)
+++ trunk/Source/WebKit2/ChangeLog 2012-01-12 21:16:26 UTC (rev 104850)
@@ -1,3 +1,29 @@
+2012-01-12 Martin Robinson <mrobin...@igalia.com>
+
+ [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
+ https://bugs.webkit.org/show_bug.cgi?id=74478
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
+ They are the WebCore types they are meant to represent and we will need to expose more
+ information from them in the future to make them useful. Later we can have ResourceResponse
+ generate a SoupMessage lazily if necessary.
+
+ * GNUmakefile.am:
+ * UIProcess/API/gtk/WebKitURIRequest.cpp:
+ (webkit_uri_request_class_init): Remove the set property vmethod.
+ (webkit_uri_request_new): The URI property is no longer settable.
+ (webkitURIRequestCreateForResourceRequest): Added this private constructor.
+ (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
+ * UIProcess/API/gtk/WebKitURIResponse.cpp:
+ (webkit_uri_response_class_init): Remove the set property vmethod.
+ (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
+ (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
+ (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
+ (webkitURIResponseCreateForResourceResponse): Added this private constructor.
+ * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
+
2012-01-12 No'am Rosenthal <noam.rosent...@nokia.com>
[Qt][WK2] WebProcesses crashes when composited reflections/masks are present
Modified: trunk/Source/WebKit2/GNUmakefile.am (104849 => 104850)
--- trunk/Source/WebKit2/GNUmakefile.am 2012-01-12 21:08:33 UTC (rev 104849)
+++ trunk/Source/WebKit2/GNUmakefile.am 2012-01-12 21:16:26 UTC (rev 104850)
@@ -533,6 +533,7 @@
Source/WebKit2/UIProcess/API/gtk/WebKitUIClient.h \
Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp \
Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h \
+ Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h \
Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp \
Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.h \
Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h \
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp (104849 => 104850)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp 2012-01-12 21:08:33 UTC (rev 104849)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp 2012-01-12 21:16:26 UTC (rev 104850)
@@ -21,9 +21,8 @@
#include "WebKitURIRequest.h"
#include "WebKitPrivate.h"
-#include "WebURLRequest.h"
+#include "WebKitURIRequestPrivate.h"
#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GRefPtr.h>
#include <wtf/text/CString.h>
enum {
@@ -37,6 +36,7 @@
G_DEFINE_TYPE(WebKitURIRequest, webkit_uri_request, G_TYPE_OBJECT)
struct _WebKitURIRequestPrivate {
+ WebCore::ResourceRequest resourceRequest;
CString uri;
};
@@ -65,7 +65,7 @@
switch (propId) {
case PROP_URI:
- request->priv->uri = g_value_get_string(value);
+ request->priv->resourceRequest.setURL(KURL(KURL(), g_value_get_string(value)));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
@@ -117,6 +117,13 @@
return WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, "uri", uri, NULL));
}
+WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const WebCore::ResourceRequest& resourceRequest)
+{
+ WebKitURIRequest* uriRequest = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));
+ uriRequest->priv->resourceRequest = resourceRequest;
+ return uriRequest;
+}
+
/**
* webkit_uri_request_get_uri:
* @request: a #WebKitURIRequest
@@ -127,6 +134,7 @@
{
g_return_val_if_fail(WEBKIT_IS_URI_REQUEST(request), 0);
+ request->priv->uri = request->priv->resourceRequest.url().string().utf8();
return request->priv->uri.data();
}
Copied: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h (from rev 104846, trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h) (0 => 104850)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h 2012-01-12 21:16:26 UTC (rev 104850)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebKitURIRequestPrivate_h
+#define WebKitURIRequestPrivate_h
+
+#include "WebKitURIRequest.h"
+#include <WebCore/ResourceRequest.h>
+
+WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const WebCore::ResourceRequest&);
+
+#endif // WebKitURIRequestPrivate_h
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp (104849 => 104850)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp 2012-01-12 21:08:33 UTC (rev 104849)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp 2012-01-12 21:16:26 UTC (rev 104850)
@@ -22,10 +22,7 @@
#include "WebKitPrivate.h"
#include "WebKitURIResponsePrivate.h"
-#include "WebURLResponse.h"
#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
#include <wtf/text/CString.h>
enum {
@@ -41,9 +38,8 @@
G_DEFINE_TYPE(WebKitURIResponse, webkit_uri_response, G_TYPE_OBJECT)
struct _WebKitURIResponsePrivate {
+ WebCore::ResourceResponse resourceResponse;
CString uri;
- GRefPtr<SoupMessage> message;
- guint64 contentLength;
};
static void webkitURIResponseFinalize(GObject* object)
@@ -71,26 +67,12 @@
}
}
-static void webkitURIResponseSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
-{
- WebKitURIResponse* response = WEBKIT_URI_RESPONSE(object);
-
- switch (propId) {
- case PROP_URI:
- response->priv->uri = g_value_get_string(value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
- }
-}
-
static void webkit_uri_response_class_init(WebKitURIResponseClass* responseClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(responseClass);
objectClass->finalize = webkitURIResponseFinalize;
objectClass->get_property = webkitURIResponseGetProperty;
- objectClass->set_property = webkitURIResponseSetProperty;
/**
* WebKitURIResponse:uri:
@@ -103,7 +85,7 @@
_("URI"),
_("The URI for which the response was made."),
0,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+ WEBKIT_PARAM_READABLE));
/**
* WebKitURIResponse:status-code:
*
@@ -150,6 +132,7 @@
{
g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), 0);
+ response->priv->uri = response->priv->resourceResponse.url().string().utf8();
return response->priv->uri.data();
}
@@ -168,10 +151,7 @@
{
g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), SOUP_STATUS_NONE);
- if (!response->priv->message)
- return SOUP_STATUS_NONE;
-
- return response->priv->message->status_code;
+ return response->priv->resourceResponse.httpStatusCode();
}
/**
@@ -187,30 +167,12 @@
{
g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), 0);
- if (response->priv->contentLength)
- return response->priv->contentLength;
-
- if (!response->priv->message)
- return 0;
-
- SoupMessage* message = response->priv->message.get();
- return static_cast<guint64>(soup_message_headers_get_content_length(message->response_headers));
+ return response->priv->resourceResponse.expectedContentLength();
}
-WebKitURIResponse* webkitURIResponseCreateForSoupMessage(SoupMessage* message)
+WebKitURIResponse* webkitURIResponseCreateForResourceResponse(const WebCore::ResourceResponse& resourceResponse)
{
- GOwnPtr<char> uri(soup_uri_to_string(soup_message_get_uri(message), FALSE));
- WebKitURIResponse* response = WEBKIT_URI_RESPONSE(g_object_new(WEBKIT_TYPE_URI_RESPONSE, "uri", uri.get(), NULL));
- response->priv->message = message;
- return response;
+ WebKitURIResponse* uriResponse = WEBKIT_URI_RESPONSE(g_object_new(WEBKIT_TYPE_URI_RESPONSE, NULL));
+ uriResponse->priv->resourceResponse = resourceResponse;
+ return uriResponse;
}
-
-SoupMessage* webkitURIResponseGetSoupMessage(WebKitURIResponse* response)
-{
- return response->priv->message.get();
-}
-
-void webkitURIResponseSetContentLength(WebKitURIResponse* response, guint64 contentLength)
-{
- response->priv->contentLength = contentLength;
-}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h (104849 => 104850)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h 2012-01-12 21:08:33 UTC (rev 104849)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h 2012-01-12 21:16:26 UTC (rev 104850)
@@ -27,10 +27,9 @@
#define WebKitURIResponsePrivate_h
#include "WebKitURIResponse.h"
-#include <libsoup/soup.h>
+#include <WebCore/ResourceResponse.h>
-WebKitURIResponse* webkitURIResponseCreateForSoupMessage(SoupMessage*);
-SoupMessage* webkitURIResponseGetSoupMessage(WebKitURIResponse*);
-void webkitURIResponseSetContentLength(WebKitURIResponse*, guint64 contentLength);
+WebKitURIResponse* webkitURIResponseCreateForResourceResponse(const WebCore::ResourceResponse&);
+const WebCore::ResourceResponse& webkitURIResponseGetResourceResponse(WebKitURIResponse*);
#endif // WebKitURIResponsePrivate_h