Skip to content

Commit

Permalink
Merge r155049 - REGRESSION(r154977): Do not urlencode soup message on…
Browse files Browse the repository at this point in the history
… ResourceRequest::toSoupMessage()

https://bugs.webkit.org/show_bug.cgi?id=120681

Patch by Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> on 2013-09-04
Reviewed by Martin Robinson.

Do not call soup_message_set_uri with soupURI() (url encoded uri) on
ResourceRequest::toSoupMessage().

* platform/network/soup/ResourceRequest.h:
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers):
(WebCore::ResourceRequest::updateSoupMessage):
(WebCore::ResourceRequest::toSoupMessage):
Split common code from updateSoupMessage/toSoupMessage into updateSoupMessageMembers.
  • Loading branch information
andrunko authored and carlosgcampos committed Sep 8, 2013
1 parent 9397294 commit 98f0518
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 13 deletions.
17 changes: 17 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,20 @@
2013-09-04 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>

REGRESSION(r154977): Do not urlencode soup message on ResourceRequest::toSoupMessage()
https://bugs.webkit.org/show_bug.cgi?id=120681

Reviewed by Martin Robinson.

Do not call soup_message_set_uri with soupURI() (url encoded uri) on
ResourceRequest::toSoupMessage().

* platform/network/soup/ResourceRequest.h:
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers):
(WebCore::ResourceRequest::updateSoupMessage):
(WebCore::ResourceRequest::toSoupMessage):
Split common code from updateSoupMessage/toSoupMessage into updateSoupMessageMembers.

2013-09-03 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>

[gstreamer] Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data
Expand Down
1 change: 1 addition & 0 deletions Source/WebCore/platform/network/soup/ResourceRequest.h
Expand Up @@ -93,6 +93,7 @@ namespace WebCore {
bool m_acceptEncoding : 1;
SoupMessageFlags m_soupFlags;

void updateSoupMessageMembers(SoupMessage*) const;
void doUpdatePlatformRequest() { }
void doUpdateResourceRequest() { }
void doUpdatePlatformHTTPBody() { }
Expand Down
31 changes: 18 additions & 13 deletions Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp
Expand Up @@ -32,6 +32,22 @@ using namespace std;

namespace WebCore {

void ResourceRequest::updateSoupMessageMembers(SoupMessage* soupMessage) const
{
updateSoupMessageHeaders(soupMessage->request_headers);

String firstPartyString = firstPartyForCookies().string();
if (!firstPartyString.isEmpty()) {
GOwnPtr<SoupURI> firstParty(soup_uri_new(firstPartyString.utf8().data()));
soup_message_set_first_party(soupMessage, firstParty.get());
}

soup_message_set_flags(soupMessage, m_soupFlags);

if (!acceptEncoding())
soup_message_disable_feature(soupMessage, SOUP_TYPE_CONTENT_DECODER);
}

void ResourceRequest::updateSoupMessageHeaders(SoupMessageHeaders* soupHeaders) const
{
const HTTPHeaderMap& headers = httpHeaderFields();
Expand Down Expand Up @@ -60,18 +76,7 @@ void ResourceRequest::updateSoupMessage(SoupMessage* soupMessage) const
GOwnPtr<SoupURI> uri(soupURI());
soup_message_set_uri(soupMessage, uri.get());

updateSoupMessageHeaders(soupMessage->request_headers);

String firstPartyString = firstPartyForCookies().string();
if (!firstPartyString.isEmpty()) {
GOwnPtr<SoupURI> firstParty(soup_uri_new(firstPartyString.utf8().data()));
soup_message_set_first_party(soupMessage, firstParty.get());
}

soup_message_set_flags(soupMessage, m_soupFlags);

if (!acceptEncoding())
soup_message_disable_feature(soupMessage, SOUP_TYPE_CONTENT_DECODER);
updateSoupMessageMembers(soupMessage);
}

SoupMessage* ResourceRequest::toSoupMessage() const
Expand All @@ -80,7 +85,7 @@ SoupMessage* ResourceRequest::toSoupMessage() const
if (!soupMessage)
return 0;

updateSoupMessage(soupMessage);
updateSoupMessageMembers(soupMessage);

// Body data is only handled at ResourceHandleSoup::startHttp for
// now; this is because this may not be a good place to go
Expand Down

0 comments on commit 98f0518

Please sign in to comment.