src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
changeset 3 41300fa6a67c
parent 2 56cd8111b7f7
child 30 5dc02b23752f
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
    26 #include <QNetworkRequest>
    26 #include <QNetworkRequest>
    27 #include <QUrl>
    27 #include <QUrl>
    28 
    28 
    29 namespace WebCore {
    29 namespace WebCore {
    30 
    30 
    31 QNetworkRequest ResourceRequest::toNetworkRequest() const
    31 QNetworkRequest ResourceRequest::toNetworkRequest(QObject* originatingFrame) const
    32 {
    32 {
    33     QNetworkRequest request;
    33     QNetworkRequest request;
    34     request.setUrl(url());
    34     request.setUrl(url());
       
    35 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
       
    36     request.setOriginatingObject(originatingFrame);
       
    37 #endif
    35 
    38 
    36     const HTTPHeaderMap &headers = httpHeaderFields();
    39     const HTTPHeaderMap &headers = httpHeaderFields();
    37     for (HTTPHeaderMap::const_iterator it = headers.begin(), end = headers.end();
    40     for (HTTPHeaderMap::const_iterator it = headers.begin(), end = headers.end();
    38          it != end; ++it) {
    41          it != end; ++it) {
    39         QByteArray name = QString(it->first).toAscii();
    42         QByteArray name = QString(it->first).toAscii();
    40         QByteArray value = QString(it->second).toAscii();
    43         QByteArray value = QString(it->second).toAscii();
    41         request.setRawHeader(name, value);
    44         // QNetworkRequest::setRawHeader() would remove the header if the value is null
       
    45         // Make sure to set an empty header instead of null header.
       
    46         if (!value.isNull())
       
    47             request.setRawHeader(name, value);
       
    48         else
       
    49             request.setRawHeader(name, "");
    42     }
    50     }
    43 
    51 
    44     switch (cachePolicy()) {
    52     switch (cachePolicy()) {
    45     case ReloadIgnoringCacheData:
    53     case ReloadIgnoringCacheData:
    46         request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
    54         request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);