+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-04 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
[GTK] add support for subtitles on webkit2GTK
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();
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
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