From eb72b27ac26621b2f1819fa318761a035689482d Mon Sep 17 00:00:00 2001 From: "tedvessenes@gmail.com" Date: Mon, 19 Dec 2011 16:10:55 +0000 Subject: 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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114944 Review URL: http://codereview.chromium.org/8921006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114993 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome_frame/utils.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'chrome_frame/utils.cc') 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; } -- cgit v1.1