Changeset 104850 in webkit


Ignore:
Timestamp:
Jan 12, 2012 1:16:26 PM (12 years ago)
Author:
Martin Robinson
Message:

[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.
Location:
trunk/Source/WebKit2
Files:
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r104832 r104850  
     12012-01-12  Martin Robinson  <mrobinson@igalia.com>
     2
     3        [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
     4        https://bugs.webkit.org/show_bug.cgi?id=74478
     5
     6        Reviewed by Gustavo Noronha Silva.
     7
     8        Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
     9        They are the WebCore types they are meant to represent and we will need to expose more
     10        information from them in the future to make them useful. Later we can have ResourceResponse
     11        generate a SoupMessage lazily if necessary.
     12
     13        * GNUmakefile.am:
     14        * UIProcess/API/gtk/WebKitURIRequest.cpp:
     15        (webkit_uri_request_class_init): Remove the set property vmethod.
     16        (webkit_uri_request_new): The URI property is no longer settable.
     17        (webkitURIRequestCreateForResourceRequest): Added this private constructor.
     18        (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
     19        * UIProcess/API/gtk/WebKitURIResponse.cpp:
     20        (webkit_uri_response_class_init): Remove the set property vmethod.
     21        (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
     22        (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
     23        (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
     24        (webkitURIResponseCreateForResourceResponse): Added this private constructor.
     25        * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
     26
    1272012-01-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
    228
  • trunk/Source/WebKit2/GNUmakefile.am

    r104706 r104850  
    534534        Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp \
    535535        Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h \
     536        Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h \
    536537        Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp \
    537538        Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.h \
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp

    r101248 r104850  
    2222
    2323#include "WebKitPrivate.h"
    24 #include "WebURLRequest.h"
     24#include "WebKitURIRequestPrivate.h"
    2525#include <glib/gi18n-lib.h>
    26 #include <wtf/gobject/GRefPtr.h>
    2726#include <wtf/text/CString.h>
    2827
     
    3837
    3938struct _WebKitURIRequestPrivate {
     39    WebCore::ResourceRequest resourceRequest;
    4040    CString uri;
    4141};
     
    6666    switch (propId) {
    6767    case PROP_URI:
    68         request->priv->uri = g_value_get_string(value);
     68        request->priv->resourceRequest.setURL(KURL(KURL(), g_value_get_string(value)));
    6969        break;
    7070    default:
     
    118118}
    119119
     120WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const WebCore::ResourceRequest& resourceRequest)
     121{
     122    WebKitURIRequest* uriRequest = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));
     123    uriRequest->priv->resourceRequest = resourceRequest;
     124    return uriRequest;
     125}
     126
    120127/**
    121128 * webkit_uri_request_get_uri:
     
    128135    g_return_val_if_fail(WEBKIT_IS_URI_REQUEST(request), 0);
    129136
     137    request->priv->uri = request->priv->resourceRequest.url().string().utf8();
    130138    return request->priv->uri.data();
    131139}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequestPrivate.h

    r104846 r104850  
    2424 */
    2525
    26 #ifndef WebKitURIResponsePrivate_h
    27 #define WebKitURIResponsePrivate_h
     26#ifndef WebKitURIRequestPrivate_h
     27#define WebKitURIRequestPrivate_h
    2828
    29 #include "WebKitURIResponse.h"
    30 #include <libsoup/soup.h>
     29#include "WebKitURIRequest.h"
     30#include <WebCore/ResourceRequest.h>
    3131
    32 WebKitURIResponse* webkitURIResponseCreateForSoupMessage(SoupMessage*);
    33 SoupMessage* webkitURIResponseGetSoupMessage(WebKitURIResponse*);
    34 void webkitURIResponseSetContentLength(WebKitURIResponse*, guint64 contentLength);
     32WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const WebCore::ResourceRequest&);
    3533
    36 #endif // WebKitURIResponsePrivate_h
     34#endif // WebKitURIRequestPrivate_h
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp

    r101350 r104850  
    2323#include "WebKitPrivate.h"
    2424#include "WebKitURIResponsePrivate.h"
    25 #include "WebURLResponse.h"
    2625#include <glib/gi18n-lib.h>
    27 #include <wtf/gobject/GOwnPtr.h>
    28 #include <wtf/gobject/GRefPtr.h>
    2926#include <wtf/text/CString.h>
    3027
     
    4239
    4340struct _WebKitURIResponsePrivate {
     41    WebCore::ResourceResponse resourceResponse;
    4442    CString uri;
    45     GRefPtr<SoupMessage> message;
    46     guint64 contentLength;
    4743};
    4844
     
    7268}
    7369
    74 static void webkitURIResponseSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
    75 {
    76     WebKitURIResponse* response = WEBKIT_URI_RESPONSE(object);
    77 
    78     switch (propId) {
    79     case PROP_URI:
    80         response->priv->uri = g_value_get_string(value);
    81         break;
    82     default:
    83         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
    84     }
    85 }
    86 
    8770static void webkit_uri_response_class_init(WebKitURIResponseClass* responseClass)
    8871{
     
    9174    objectClass->finalize = webkitURIResponseFinalize;
    9275    objectClass->get_property = webkitURIResponseGetProperty;
    93     objectClass->set_property = webkitURIResponseSetProperty;
    9476
    9577    /**
     
    10486                                                        _("The URI for which the response was made."),
    10587                                                        0,
    106                                                         static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
     88                                                      WEBKIT_PARAM_READABLE));
    10789    /**
    10890     * WebKitURIResponse:status-code:
     
    151133    g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), 0);
    152134
     135    response->priv->uri = response->priv->resourceResponse.url().string().utf8();
    153136    return response->priv->uri.data();
    154137}
     
    169152    g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), SOUP_STATUS_NONE);
    170153
    171     if (!response->priv->message)
    172         return SOUP_STATUS_NONE;
    173 
    174     return response->priv->message->status_code;
     154    return response->priv->resourceResponse.httpStatusCode();
    175155}
    176156
     
    188168    g_return_val_if_fail(WEBKIT_IS_URI_RESPONSE(response), 0);
    189169
    190     if (response->priv->contentLength)
    191         return response->priv->contentLength;
    192 
    193     if (!response->priv->message)
    194         return 0;
    195 
    196     SoupMessage* message = response->priv->message.get();
    197     return static_cast<guint64>(soup_message_headers_get_content_length(message->response_headers));
     170    return response->priv->resourceResponse.expectedContentLength();
    198171}
    199172
    200 WebKitURIResponse* webkitURIResponseCreateForSoupMessage(SoupMessage* message)
     173WebKitURIResponse* webkitURIResponseCreateForResourceResponse(const WebCore::ResourceResponse& resourceResponse)
    201174{
    202     GOwnPtr<char> uri(soup_uri_to_string(soup_message_get_uri(message), FALSE));
    203     WebKitURIResponse* response = WEBKIT_URI_RESPONSE(g_object_new(WEBKIT_TYPE_URI_RESPONSE, "uri", uri.get(), NULL));
    204     response->priv->message = message;
    205     return response;
     175    WebKitURIResponse* uriResponse = WEBKIT_URI_RESPONSE(g_object_new(WEBKIT_TYPE_URI_RESPONSE, NULL));
     176    uriResponse->priv->resourceResponse = resourceResponse;
     177    return uriResponse;
    206178}
    207 
    208 SoupMessage* webkitURIResponseGetSoupMessage(WebKitURIResponse* response)
    209 {
    210     return response->priv->message.get();
    211 }
    212 
    213 void webkitURIResponseSetContentLength(WebKitURIResponse* response, guint64 contentLength)
    214 {
    215     response->priv->contentLength = contentLength;
    216 }
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponsePrivate.h

    r101350 r104850  
    2828
    2929#include "WebKitURIResponse.h"
    30 #include <libsoup/soup.h>
     30#include <WebCore/ResourceResponse.h>
    3131
    32 WebKitURIResponse* webkitURIResponseCreateForSoupMessage(SoupMessage*);
    33 SoupMessage* webkitURIResponseGetSoupMessage(WebKitURIResponse*);
    34 void webkitURIResponseSetContentLength(WebKitURIResponse*, guint64 contentLength);
     32WebKitURIResponse* webkitURIResponseCreateForResourceResponse(const WebCore::ResourceResponse&);
     33const WebCore::ResourceResponse& webkitURIResponseGetResourceResponse(WebKitURIResponse*);
    3534
    3635#endif // WebKitURIResponsePrivate_h
Note: See TracChangeset for help on using the changeset viewer.