diff options
author | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-17 21:35:27 +0000 |
---|---|---|
committer | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-17 21:35:27 +0000 |
commit | 31d5661563a8dafc0409cf677a4e149c08ddb770 (patch) | |
tree | 602724525407700923eaca5e3f9b9e01bff5c016 /chrome_frame | |
parent | 3acc642339a305cb5fd1f3f3b485c3df2bfd4155 (diff) | |
download | chromium_src-31d5661563a8dafc0409cf677a4e149c08ddb770.zip chromium_src-31d5661563a8dafc0409cf677a4e149c08ddb770.tar.gz chromium_src-31d5661563a8dafc0409cf677a4e149c08ddb770.tar.bz2 |
Standardize StringToInt{,64} interface.
These changes address issue #106655. All variants of StringToInt have been
converted to use the StringPiece class. One instance of conversion, in
chrome/browser/history/text_database.cc, required copying an underlying
string. This is because the string type in question could use 8 or 16
bit characters depending on the OS type, and because StringPiece is not
implemented as a template, the code cannot specify whether to create a
StringPiece or StringPiece16. This should be remedied in a future CL.
R=erikwright@chromium.org
BUG=106655
TEST=
Review URL: http://codereview.chromium.org/8921006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114929 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/test/test_server.cc | 5 | ||||
-rw-r--r-- | chrome_frame/utils.cc | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/chrome_frame/test/test_server.cc b/chrome_frame/test/test_server.cc index f2d7de3..cddcd2c 100644 --- a/chrome_frame/test/test_server.cc +++ b/chrome_frame/test/test_server.cc @@ -9,6 +9,7 @@ #include "base/bind.h" #include "base/logging.h" #include "base/string_number_conversions.h" +#include "base/string_piece.h" #include "base/string_util.h" #include "base/stringprintf.h" #include "base/utf_string_conversions.h" @@ -49,8 +50,8 @@ void Request::ParseHeaders(const std::string& headers) { while (it.GetNext()) { if (LowerCaseEqualsASCII(it.name(), "content-length")) { int int_content_length; - base::StringToInt(it.values_begin(), - it.values_end(), + base::StringToInt(base::StringPiece(it.values_begin(), + it.values_end()), &int_content_length); content_length_ = int_content_length; break; diff --git a/chrome_frame/utils.cc b/chrome_frame/utils.cc index 9003109..8610f83 100644 --- a/chrome_frame/utils.cc +++ b/chrome_frame/utils.cc @@ -16,6 +16,7 @@ #include "base/logging.h" #include "base/path_service.h" #include "base/string_number_conversions.h" +#include "base/string_piece.h" #include "base/string_tokenizer.h" #include "base/string_util.h" #include "base/stringprintf.h" @@ -1554,7 +1555,9 @@ int GetXUaCompatibleDirective(const std::string& directive, char delimiter) { } int header_ie_version = 0; - if (!base::StringToInt(filter_begin + 2, filter_end, &header_ie_version) || + if (!base::StringToInt(base::StringPiece(filter_begin + 2, + filter_end), + &header_ie_version) || header_ie_version == 0) { // ensure it's not a sequence of 0's continue; } |