Summary: | [Qt] HTTP status text is never set | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Adam Bergkvist <adam.bergkvist> | ||||
Component: | WebKit Qt | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | ap, zecke | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Adam Bergkvist
2009-03-04 06:11:44 PST
Created attachment 28263 [details]
patch
Comment on attachment 28263 [details]
patch
r=me
Comment on attachment 28263 [details] patch > + response.setHTTPStatusText(m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toByteArray().constData()); this is weird... QString -> QByteArray -> constData -> String when we have a QString -> String already... I'm reluctant to make any changes, as I don't have a Qt build, but please feel free to tweak and land. (In reply to comment #3) > (From update of attachment 28263 [details] [review]) > > > + response.setHTTPStatusText(m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toByteArray().constData()); > > this is weird... > QString -> QByteArray -> constData -> String when we have a QString -> String > already... > m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute) is a QVariant::ByteArray. We could do a toString() to construct a QString, but that would cause an extra copy of the character data. I only looked at the Qt site of things and: grep -rn HttpReasonPhraseAttribute * qnetworkaccesscachebackend.cpp:81: setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, attributes.value(QNetworkRequest::HttpReasonPhraseAttribute)); qnetworkaccesshttpbackend.cpp:772: setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, httpReply->reasonPhrase()); qnetworkaccesshttpbackend.cpp:890: setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, attributes.value(QNetworkRequest::HttpReasonPhraseAttribute)); qnetworkaccesshttpbackend.cpp:1039: attributes.insert(QNetworkRequest::HttpReasonPhraseAttribute, httpReply->reasonPhrase()); qnetworkrequest.cpp:116: \value HttpReasonPhraseAttribute qnetworkrequest.h:67: HttpReasonPhraseAttribute, and reasonPhrase() is a QString coming from: qhttp.h: QString reasonPhrase() const; qhttpnetworkconnection_p.h: QString reasonPhrase() const; so what am I missing? Strange... considering that the documentation states that it is a ByteArray. A ByteArray would make sense since the reason phrase can only contain ascii characters. http://doc.trolltech.com/main-snapshot/qnetworkrequest.html#Attribute-enum (In reply to comment #7) > http://doc.trolltech.com/main-snapshot/qnetworkrequest.html#Attribute-enum Okay, we should stick with the documentation here. Committed revision 41664. |