Changeset 50060 in webkit
- Timestamp:
- Oct 26, 2009 6:49:48 AM (14 years ago)
- Location:
- trunk/WebKit/gtk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/gtk/ChangeLog
r50059 r50060 1 2009-10-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 2 3 Reviewed by Xan Lopez. 4 5 https://bugs.webkit.org/show_bug.cgi?id=30759 6 [GTK] Should use WebKitNetworkResponse, and expose it 7 8 WebKitDownload now uses our WebKitNetworkResponse instead of using 9 ResourceResponse directly. By exposing the response, like we do 10 with the request, we give our users the ability to look at the 11 response headers, status code, and so on, through the SoupMessage 12 object. 13 14 * webkit/webkitdownload.cpp: 15 (webkit_download_dispose): 16 (webkit_download_finalize): 17 (webkit_download_get_property): 18 (webkit_download_set_property): 19 (webkit_download_class_init): 20 (webkit_download_get_network_response): 21 (webkit_download_set_response): 22 (webkit_download_get_total_size): 23 (webkit_download_get_progress): 24 (webkit_download_received_data): 25 * webkit/webkitdownload.h: 26 1 27 2009-10-26 Xan Lopez <xlopez@igalia.com> 2 28 -
trunk/WebKit/gtk/webkit/webkitdownload.cpp
r48183 r50060 32 32 #include "webkitenumtypes.h" 33 33 #include "webkitmarshal.h" 34 #include "webkitnetworkresponse.h" 34 35 #include "webkitprivate.h" 35 36 … … 75 76 DownloadClient* downloadClient; 76 77 WebKitNetworkRequest* networkRequest; 77 ResourceResponse* networkResponse;78 WebKitNetworkResponse* networkResponse; 78 79 RefPtr<ResourceHandle> resourceHandle; 79 80 }; … … 96 97 PROP_STATUS, 97 98 PROP_CURRENT_SIZE, 98 PROP_TOTAL_SIZE 99 PROP_TOTAL_SIZE, 100 PROP_NETWORK_RESPONSE 99 101 }; 100 102 … … 118 120 g_object_unref(priv->networkRequest); 119 121 priv->networkRequest = NULL; 122 } 123 124 if (priv->networkResponse) { 125 g_object_unref(priv->networkResponse); 126 priv->networkResponse = NULL; 120 127 } 121 128 … … 139 146 140 147 delete priv->downloadClient; 141 delete priv->networkResponse;142 148 143 149 // The download object may never have _start called on it, so we … … 160 166 g_value_set_object(value, webkit_download_get_network_request(download)); 161 167 break; 168 case PROP_NETWORK_RESPONSE: 169 g_value_set_object(value, webkit_download_get_network_response(download)); 170 break; 162 171 case PROP_DESTINATION_URI: 163 172 g_value_set_string(value, webkit_download_get_destination_uri(download)); … … 191 200 case PROP_NETWORK_REQUEST: 192 201 priv->networkRequest = WEBKIT_NETWORK_REQUEST(g_value_dup_object(value)); 202 break; 203 case PROP_NETWORK_RESPONSE: 204 priv->networkResponse = WEBKIT_NETWORK_RESPONSE(g_value_dup_object(value)); 193 205 break; 194 206 case PROP_DESTINATION_URI: … … 253 265 254 266 /** 267 * WebKitDownload:network-response 268 * 269 * The #WebKitNetworkResponse instance associated with the download. 270 * 271 * Since: 1.1.16 272 */ 273 g_object_class_install_property(objectClass, 274 PROP_NETWORK_RESPONSE, 275 g_param_spec_object("network-response", 276 _("Network Response"), 277 _("The network response for the URI that should be downloaded"), 278 WEBKIT_TYPE_NETWORK_RESPONSE, 279 (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); 280 281 /** 255 282 * WebKitDownload:destination-uri 256 283 * … … 531 558 } 532 559 560 /** 561 * webkit_download_get_network_response: 562 * @download: the #WebKitDownload 563 * 564 * Retrieves the #WebKitNetworkResponse object that backs the download 565 * process. 566 * 567 * Returns: the #WebKitNetworkResponse instance 568 * 569 * Since: 1.1.16 570 */ 571 WebKitNetworkResponse* webkit_download_get_network_response(WebKitDownload* download) 572 { 573 g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL); 574 575 WebKitDownloadPrivate* priv = download->priv; 576 return priv->networkResponse; 577 } 578 533 579 static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response) 534 580 { 535 // FIXME Use WebKitNetworkResponse when it's merged. 536 WebKitDownloadPrivate* priv = download->priv; 537 priv->networkResponse = new ResourceResponse(response); 581 WebKitDownloadPrivate* priv = download->priv; 582 priv->networkResponse = webkit_network_response_new_with_core_response(response); 538 583 539 584 if (!response.isNull() && !response.suggestedFilename().isEmpty()) … … 705 750 706 751 WebKitDownloadPrivate* priv = download->priv; 707 if (!priv->networkResponse) 752 SoupMessage* message = priv->networkResponse ? webkit_network_response_get_message(priv->networkResponse) : NULL; 753 754 if (!message) 708 755 return 0; 709 756 710 return MAX(priv->currentSize, priv->networkResponse->expectedContentLength());757 return MAX(priv->currentSize, soup_message_headers_get_content_length(message->response_headers)); 711 758 } 712 759 … … 745 792 WebKitDownloadPrivate* priv = download->priv; 746 793 if (!priv->networkResponse) 747 return 0 ;748 749 gdouble total_size = (gdouble)priv->networkResponse->expectedContentLength();794 return 0.0; 795 796 gdouble total_size = static_cast<gdouble>(webkit_download_get_total_size(download)); 750 797 751 798 if (total_size == 0) … … 804 851 805 852 ASSERT(priv->networkResponse); 806 if (priv->currentSize > priv->networkResponse->expectedContentLength())853 if (priv->currentSize > webkit_download_get_total_size(download)) 807 854 g_object_notify(G_OBJECT(download), "total-size"); 808 855 -
trunk/WebKit/gtk/webkit/webkitdownload.h
r49168 r50060 85 85 webkit_download_get_network_request (WebKitDownload *download); 86 86 87 WEBKIT_API WebKitNetworkResponse* 88 webkit_download_get_network_response (WebKitDownload *download); 89 87 90 WEBKIT_API const gchar* 88 91 webkit_download_get_suggested_filename (WebKitDownload *download);
Note: See TracChangeset
for help on using the changeset viewer.