[webkit-reviews] review denied: [Bug 44261] [GTK] Add HTTP caching support : [Attachment 69438] WebKitGtk+ to use the new API from the imported SoupURILoader code
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Oct 1 09:55:20 PDT 2010
Martin Robinson <mrobinson at webkit.org> has denied Sergio Villar Senin
<svillar at igalia.com>'s request for review:
Bug 44261: [GTK] Add HTTP caching support
https://bugs.webkit.org/show_bug.cgi?id=44261
Attachment 69438: WebKitGtk+ to use the new API from the imported SoupURILoader
code
https://bugs.webkit.org/attachment.cgi?id=69438&action=review
------- Additional Comments from Martin Robinson <mrobinson at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=69438&action=review
General comment: I'm not as picky about this as others, but some reviewers
would have you end all comments with a period. That's something to consider for
this patch.
> WebCore/platform/network/ResourceHandleInternal.h:189
> + PlatformRefPtr<SoupMessage> m_soupMsg;
This should probably be m_soupMessage, as the guideline is to avoid
abbreviations in new code.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:-132
> - if (m_msg) {
> - g_object_unref(m_msg);
> - m_msg = 0;
> - }
Nice change.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:145
> - if (d->m_msg)
> - g_signal_handlers_disconnect_matched(d->m_msg, G_SIGNAL_MATCH_DATA,
> + if (d->m_soupMsg)
> + g_signal_handlers_disconnect_matched(d->m_soupMsg.get(),
G_SIGNAL_MATCH_DATA,
I could be wrong about this, but shouldn't this be in
cleanupSoupRequestOperation? Otherwise, we might get responses to messages for
a no-longer-valid SoupMessage.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:364
> + d->m_buffer = static_cast<char*>(g_malloc(READ_BUFFER_SIZE));
My intuition is that this allocation should either be done with the GLib slice
allocator or with fastAlloc/fastFree. Perhaps someone else can chime in here.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:445
> + if (d->m_cancellable)
> + d->m_cancellable.clear();
> +
> + if (d->m_soupMsg)
> + d->m_soupMsg.clear();
No need to check these before clearing them. Just clear them.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:506
> + // WebCore might have cancelled the job in the while
> + if (d->m_cancelled)
> + return;
> +
> + if (soupMsg->response_body->data)
> + client->didReceiveData(handle.get(),
soupMsg->response_body->data, soupMsg->response_body->length, true);
In the case that the request was cancelled this should be calling
cleanupSoupRequestOperation(). So you might change
if (soupMsg->response_body->data)
to
if (!d->m_cancelled && soupMsg->response_body->data)
and remove the early return.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:513
> + if (d->m_cancelled || !client) {
> + cleanupSoupRequestOperation(handle.get());
> + return;
> + }
The tab width here should be 4.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:525
> + d->m_buffer = static_cast<char*>(g_malloc(READ_BUFFER_SIZE));
Same issue with the allocation.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:578
> + SoupMessage* soupMsg = d->m_soupMsg.get();
Avoid abbreviations.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:582
> + request.updateSoupMessage(soupMsg);
> +
> + if (!d->m_soupMsg)
> return false;
It doesn't look like you want to call updateSoupMessage with a null message, so
you should probably move this check up to line 578.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:775
> +static void readCallback(GObject* source, GAsyncResult* res, gpointer data)
Please change res to asyncResult.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:826
> + g_input_stream_read_async(d->m_inputStream.get(), d->m_buffer,
READ_BUFFER_SIZE,
> + G_PRIORITY_DEFAULT, d->m_cancellable.get(),
> + readCallback, data);
This can be two lines.
> WebCore/platform/network/soup/ResourceHandleSoup.cpp:845
> + CString urlStr = url.string().utf8().data();
This can just be: CString urlStr = url.string().utf8(); I think I suggested
.data() originally, sorry.
More information about the webkit-reviews
mailing list