diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 22:05:45 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 22:05:45 +0000 |
commit | bc2ff51999fe9ef5c041f2df2ffbbdb4c30baec9 (patch) | |
tree | 98113aa6f92a67972c0000db1ef6dbd5979f94bd /chrome_frame/html_utils.cc | |
parent | ff0450cc3834b456ab6eb8ee664eb5b98dcecbc0 (diff) | |
download | chromium_src-bc2ff51999fe9ef5c041f2df2ffbbdb4c30baec9.zip chromium_src-bc2ff51999fe9ef5c041f2df2ffbbdb4c30baec9.tar.gz chromium_src-bc2ff51999fe9ef5c041f2df2ffbbdb4c30baec9.tar.bz2 |
Implement most of the ridealong fixes/cleanups I suggested during review for enabling warn-on-signed-versus-unsigned-equality-comparisions on Windows.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2395001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48666 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/html_utils.cc')
-rw-r--r-- | chrome_frame/html_utils.cc | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/chrome_frame/html_utils.cc b/chrome_frame/html_utils.cc index 8c8d6d3..3b71845 100644 --- a/chrome_frame/html_utils.cc +++ b/chrome_frame/html_utils.cc @@ -10,6 +10,7 @@ #include "base/string_util.h" #include "base/string_tokenizer.h" #include "chrome_frame/utils.h" +#include "net/base/net_util.h" const wchar_t kQuotes[] = L"\"'"; const char kXFrameOptionsHeader[] = "X-Frame-Options"; @@ -333,7 +334,7 @@ std::string GetDefaultUserAgentHeaderWithCFTag() { std::string GetDefaultUserAgent() { std::string ret; - DWORD size = MAX_PATH; // NOLINT + DWORD size = MAX_PATH; HRESULT hr = E_OUTOFMEMORY; for (int retries = 1; hr == E_OUTOFMEMORY && retries <= 10; ++retries) { hr = ::ObtainUserAgentString(0, WriteInto(&ret, size + 1), &size); @@ -341,8 +342,8 @@ std::string GetDefaultUserAgent() { size = MAX_PATH * retries; } else if (SUCCEEDED(hr)) { // Truncate the extra allocation. - DCHECK(size > 0); // NOLINT - ret.resize(size - 1); // NOLINT + DCHECK_GT(size, 0U); + ret.resize(size - 1); } } @@ -355,21 +356,16 @@ std::string GetDefaultUserAgent() { } bool HasFrameBustingHeader(const std::string& http_headers) { - net::HttpUtil::HeadersIterator it( - http_headers.begin(), http_headers.end(), "\r\n"); + // NOTE: We cannot use net::GetSpecificHeader() here since when there are + // multiple instances of a header that returns the first value seen, and we + // need to look at all instances. + net::HttpUtil::HeadersIterator it(http_headers.begin(), http_headers.end(), + "\r\n"); while (it.GetNext()) { - if (lstrcmpiA(it.name().c_str(), kXFrameOptionsHeader) == 0) { - std::string allow_all(kXFrameOptionsValueAllowAll); - if (it.values_end() - it.values_begin() != - static_cast<int>(allow_all.length()) || - !std::equal(it.values_begin(), it.values_end(), - allow_all.begin(), - CaseInsensitiveCompareASCII<const char>())) { - return true; - } - } + if (!lstrcmpiA(it.name().c_str(), kXFrameOptionsHeader) && + lstrcmpiA(it.values().c_str(), kXFrameOptionsValueAllowAll)) + return true; } - return false; } |