summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
authortedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-18 17:16:27 +0000
committertedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-18 17:16:27 +0000
commitce87e24351c86bc40b32dca51fe2ebbabc603b1a (patch)
tree8184c32b18bbda29760be2e1678ad4a6fd7fd539 /chrome_frame
parent71fdf77a393f95290a872bb3916f21c0bf2b4dbc (diff)
downloadchromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.zip
chromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.tar.gz
chromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.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= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114929 Review URL: http://codereview.chromium.org/8921006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114944 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r--chrome_frame/test/test_server.cc5
-rw-r--r--chrome_frame/utils.cc5
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;
}