Modify CefResponse header methods to match CefRequest API (fixes issue #2770)

This commit is contained in:
Mike Wiedenbauer
2019-10-14 13:32:38 +02:00
committed by Marshall Greenblatt
parent 9cdda243a1
commit 1d515adc22
16 changed files with 231 additions and 50 deletions

View File

@@ -100,10 +100,6 @@ class FileElementReader : public net::UploadFileElementReader {
DISALLOW_COPY_AND_ASSIGN(FileElementReader);
};
void MakeASCIILower(std::string* str) {
std::transform(str->begin(), str->end(), str->begin(), ::tolower);
}
// Returns the cef_urlrequest_flags_t policy specified by the Cache-Control
// request header directives, if any. The directives are case-insensitive and
// some have an optional argument. Multiple directives are comma-separated.
@@ -127,7 +123,7 @@ int GetCacheControlHeaderPolicy(CefRequest::HeaderMap headerMap) {
int flags = 0;
if (!line.empty()) {
MakeASCIILower(&line);
HttpHeaderUtils::MakeASCIILower(&line);
std::vector<base::StringPiece> pieces = base::SplitStringPiece(
line, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
@@ -221,18 +217,6 @@ void SetHeaderMap(const CefRequest::HeaderMap& map,
}
}
// Finds the first instance of |nameLower| (already lower-case) in |map| with
// case-insensitive comparison.
CefRequest::HeaderMap::iterator FindHeaderInMap(const std::string& nameLower,
CefRequest::HeaderMap& map) {
for (auto it = map.begin(); it != map.end(); ++it) {
if (base::EqualsCaseInsensitiveASCII(it->first.ToString(), nameLower))
return it;
}
return map.end();
}
// Type used in UploadDataStream.
typedef std::vector<std::unique_ptr<net::UploadElementReader>>
UploadElementReaders;
@@ -362,9 +346,9 @@ CefString CefRequestImpl::GetHeaderByName(const CefString& name) {
base::AutoLock lock_scope(lock_);
std::string nameLower = name;
MakeASCIILower(&nameLower);
HttpHeaderUtils::MakeASCIILower(&nameLower);
auto it = FindHeaderInMap(nameLower, headermap_);
auto it = HttpHeaderUtils::FindHeaderInMap(nameLower, headermap_);
if (it != headermap_.end())
return it->second;
@@ -378,7 +362,7 @@ void CefRequestImpl::SetHeaderByName(const CefString& name,
CHECK_READONLY_RETURN_VOID();
std::string nameLower = name;
MakeASCIILower(&nameLower);
HttpHeaderUtils::MakeASCIILower(&nameLower);
// Do not include Referer in the header map.
if (nameLower == kReferrerLowerCase)