summaryrefslogtreecommitdiffstats
path: root/base/string_util.cc
Commit message (Collapse)AuthorAgeFilesLines
* This CL addresses 2 issues:jcampan@chromium.org2010-02-101-0/+26
| | | | | | | | | | | | | | | | - we were not computing the max request text size correctly in some cases (by forgetting the size of the &q= string) causing assertions. - the translate server might send inconsistent response in some cases, this CL makes sure we deal with them. A common case is when sending separators only strings, which we are not doing now anymore. Other more complicated case are less clear. BUG=35055 TEST=Visit www.spiegel.de and translate the page. The page should be translated correctly. Review URL: http://codereview.chromium.org/594023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38637 0039d316-1c4b-4281-b951-d872f2087c98
* linux: build with -Wextraevan@chromium.org2010-02-051-1/+19
| | | | | | | | | | | | 95% of this is removing "const" from return types, but turning this on found one bug! (A "for" loop that expected its iterator to go negative but which was using an unsigned type.) BUG=34160 Review URL: http://codereview.chromium.org/570012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38266 0039d316-1c4b-4281-b951-d872f2087c98
* Implement RemoveChars, a function to remove a list of characters from a ↵jhawkins@chromium.org2010-02-051-0/+39
| | | | | | | | | | string, and use it in PhoneNumber to remove extra phone number characters. BUG=none TEST=StringUtilTest.RemoveChars Review URL: http://codereview.chromium.org/572015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38162 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36459 - Breaks 7 WebKit testsjschuh@chromium.org2010-01-161-12/+131
| | | | | | | | | | | | | | | | | | | | | | Changes are: * base::IsValidCodepoint() now returns false on noncharacter code points. * base::IsStringUTF8() now uses ICU library (removed old Mozilla implementation). * Removed base::IsStringWideUTF8() (was unused and confusing) * file_util::ReplaceIllegalCharactersInPath() now treats Unicode replacement character (U+FFFD) as invalid. * Associated unit tests updated. BUG=2759 BUG=30662 TEST=base_unittests gtest_filter=StringUtilTest.IsStringUTF8 TEST=base_unittests gtest_filter=UTFStringConversionsTest.* TEST=base_unittests gtest_filter=FileUtilICUTestReplaceIllegalCharactersInPathTest Review URL: http://codereview.chromium.org/548017 TBR=jschuh@chromium.org Review URL: http://codereview.chromium.org/552026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36460 0039d316-1c4b-4281-b951-d872f2087c98
* Changes are:jschuh@chromium.org2010-01-161-131/+12
| | | | | | | | | | | | | | | | | * base::IsValidCodepoint() now returns false on non-character code points. * base::IsStringUTF8() now uses ICU library (removed old Mozilla implementation). * Removed base::IsStringWideUTF8() (was unused and confusing) * file_util::ReplaceIllegalCharactersInPath() now treats Unicode replacement character (U+FFFD) as invalid. * Associated unit tests updated. BUG=2759 BUG=30662 TEST=base_unittests --gtest_filter=StringUtilTest.IsStringUTF8 TEST=base_unittests --gtest_filter=UTFStringConversionsTest.* TEST=base_unittests --gtest_filter=FileUtilICUTestReplaceIllegalCharactersInPathTest Review URL: http://codereview.chromium.org/548017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36459 0039d316-1c4b-4281-b951-d872f2087c98
* This CL contains the back-end implementation of the translate feature. It ↵jcampan@chromium.org2010-01-141-0/+16
| | | | | | | | | | | | | adds a Translate method to the renderer. On invocation this method triggers a traversal of the DOM page to retrieve the text nodes. The text node contents are then sent to the browser for actual translation (at this point, we just up-case the text for testing purpose). The browser sends back the translated text to the renderer that replace the DOM text node values with the translated text. BUG=None TEST=Run the unit-tests. Review URL: http://codereview.chromium.org/547013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36258 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: UI tweaks for task manager.thakis@chromium.org2010-01-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | Nib change: Reduce row height, make scrollbars smaller. Make text in task manager table slightly smaller. Show in decimal digit for %cpu. Show memory in KB/MB, not always in K. Change update frequency from 1s to 2s to match Activity Monitor's default. (all mac-only. ui team is fine with this.) Finally, turn taskman on. BUG=13156 TEST=Open task manager, look at it. Should look & feel similar to Activity Monitor. Review URL: http://codereview.chromium.org/536038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36096 0039d316-1c4b-4281-b951-d872f2087c98
* Make JoinString implementation match prototype.craig.schlenter@chromium.org2010-01-051-1/+1
| | | | | | | | | | This fixes the linux shared build. Error was: out/Release/lib.target/chrome/libbrowser.so: undefined reference to `JoinString(std::vector<std::basic_string<unsigned short, base::string16_char_traits, std::allocator<unsigned short> >, std::allocator<std::basic_string<unsigned short, base::string16_char_traits, std::allocator<unsigned short> > > > const&, unsigned short)' Review URL: http://codereview.chromium.org/518037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35533 0039d316-1c4b-4281-b951-d872f2087c98
* Implement ContactInfo, the FormGroup that stores contact information.jhawkins@chromium.org2010-01-041-8/+46
| | | | | | | | BUG=none TEST=StringUtilTest.Tokenizer Review URL: http://codereview.chromium.org/502103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35475 0039d316-1c4b-4281-b951-d872f2087c98
* Add StringPrintV, fix libxml_utils.cc to use itpiman@chromium.org2009-12-081-0/+6
| | | | | | Review URL: http://codereview.chromium.org/464064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34029 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes to the string MatchPattern functions:tony@chromium.org2009-12-031-8/+13
| | | | | | | | | | | | | | | 1) Make it explicit that it only supports ASCII (since it iterates character by character). 2) Limit the recursion to 16 levels. We could allow more, but in the case of a ?, it has exponential complexity, so I figured 16 was a good stopping point. It seems rare that someone would have more than 16 '?' and '*'s. BUG=28645 Review URL: http://codereview.chromium.org/460047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33748 0039d316-1c4b-4281-b951-d872f2087c98
* Ignore UTF-8's BOM when parsing userscript's metadata.hayato@chromium.org2009-11-251-0/+2
| | | | | | | | | BUG=27333 TEST=UserScriptTest and check the issue does not happen against userscipt encoded in UTF-8 with BOM.. Review URL: http://codereview.chromium.org/420001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33048 0039d316-1c4b-4281-b951-d872f2087c98
* Add 64bit supportgregoryd@google.com2009-11-061-9/+9
| | | | | | | | This CL is part of a larger effort to add support for Native Client on 64-bit Windows. Review URL: http://codereview.chromium.org/360034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31321 0039d316-1c4b-4281-b951-d872f2087c98
* Add first class support for user scripts.aa@chromium.org2009-11-041-0/+5
| | | | | | | | | | | | Original review: http://codereview.chromium.org/340057 TBR=mpcomplete@chromium.org BUG=22103 TEST=Install a user script (such as from userscripts.org). You should get the extension install UI and the script should show up in the extension management UI. It should also work, though some scripts use Firefox-specific APIs and those won't work in Chromium. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30925 0039d316-1c4b-4281-b951-d872f2087c98
* Convert ReplaceStringPlaceholders(std::string...) to take atony@chromium.org2009-10-291-10/+8
| | | | | | | | | | | | | | StringPiece as the format string instead. This allows us to save a string copy in the new tab page. Also clean up some code in the extensions process binding that was doing excess string conversions. BUG=26228 Review URL: http://codereview.chromium.org/347019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30491 0039d316-1c4b-4281-b951-d872f2087c98
* Add more string16 variants.darin@chromium.org2009-10-191-0/+29
| | | | | | | | | | R=brettw BUG=none TEST=none Review URL: http://codereview.chromium.org/304003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29440 0039d316-1c4b-4281-b951-d872f2087c98
* Add string16 support for LowerCaseEqualsASCII, StartsWith, and EndsWith.darin@chromium.org2009-10-151-10/+56
| | | | | | | | | | R=mpcomplete BUG=none TEST=none Review URL: http://codereview.chromium.org/274067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29209 0039d316-1c4b-4281-b951-d872f2087c98
* Re-attempt r28993darin@chromium.org2009-10-141-28/+57
| | | | | | | | | | | | | | Add string16 support for TrimString, TrimWhitespace, and CollapseWhitespace. Also adds kWhitespaceUTF16. R=brettw BUG=none TEST=none Review URL: http://codereview.chromium.org/275019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29012 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 28993.darin@chromium.org2009-10-141-57/+28
| | | | | | Review URL: http://codereview.chromium.org/267100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28994 0039d316-1c4b-4281-b951-d872f2087c98
* Add string16 support for TrimString, TrimWhitespace, and CollapseWhitespace.darin@chromium.org2009-10-141-28/+57
| | | | | | | | | | | | Also adds kWhitespaceUTF16. R=brettw BUG=none TEST=none Review URL: http://codereview.chromium.org/267098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28993 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the dependency on i18n/icu_string_conversions from base/string_util.h.brettw@chromium.org2009-10-101-1/+0
| | | | | | | | | | | | Fix up all files requireing this header to include it directly. Split out the ICU-dependent string util unit tests into a new file base/i18n/icu_string_util_unittest.cc TEST=none BUG=none Review URL: http://codereview.chromium.org/269034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28674 0039d316-1c4b-4281-b951-d872f2087c98
* Implement the missing memory information functions that memory_test uses.vandebo@chromium.org2009-10-081-2/+12
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/266009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28486 0039d316-1c4b-4281-b951-d872f2087c98
* Add a version of ReplaceStringPlaceholders that operates on std::stringtony@chromium.org2009-09-291-6/+19
| | | | | | | | | | | | | | instead of string16. BUG=none TEST=base unit tests Original patch by avd@google.com at: http://codereview.chromium.org/245046 Review URL: http://codereview.chromium.org/242061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27532 0039d316-1c4b-4281-b951-d872f2087c98
* Move StringPiece into the base namespace. It is collidingtony@chromium.org2009-09-101-4/+4
| | | | | | | | | | with the StringPiece class in icu4.2, which is a problem when trying to use the system version of icu. Review URL: http://codereview.chromium.org/193072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25920 0039d316-1c4b-4281-b951-d872f2087c98
* Strip .plugin off of Mac plugin names when showing the crash info bar.stuartmorgan@google.com2009-09-041-0/+16
| | | | | | | | | BUG=21029 TEST=Kill a plugin process; the plugin crash info bar shouldn't have ".plugin" in the plugin name. Review URL: http://codereview.chromium.org/197018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25487 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug where we reused a va_list across multiple calls.deanm@chromium.org2009-08-241-9/+9
| | | | | | | | | | | The problem is that va_arg modifies the va_list so that the next call to va_arg returns the next argument. It looks like this code had attempted to not reuse the list by making a copy, but it passed the original instead of the copy. Review URL: http://codereview.chromium.org/174342 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24134 0039d316-1c4b-4281-b951-d872f2087c98
* Print more info in IsStringASCII assertions.phajdan.jr@chromium.org2009-08-201-4/+4
| | | | | | | | | | | This will help debugging when you have only the logs. TEST=none BUG=none Review URL: http://codereview.chromium.org/174110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23900 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite StringToInt traits for dealing with non-32-bit longs.deanm@chromium.org2009-07-281-29/+45
| | | | | | | Review URL: http://codereview.chromium.org/159510 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21855 0039d316-1c4b-4281-b951-d872f2087c98
* Move base::va_copy from a function to a macro.deanm@chromium.org2009-07-271-2/+2
| | | | | | | | | va_copy is a builtin, you can't just pass it references like we did previously. Review URL: http://codereview.chromium.org/160191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21706 0039d316-1c4b-4281-b951-d872f2087c98
* Move TrimWhitespaceUTF8 back to string_util_utf8.ccdeanm@chromium.org2009-07-151-14/+0
| | | | | | | | | Apparently it was there for a reason, but wasn't documented. Review URL: http://codereview.chromium.org/155511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20727 0039d316-1c4b-4281-b951-d872f2087c98
* Move TrimWhitespaceUTF8 from string_util_icu to string_util.deanm@chromium.org2009-07-131-0/+14
| | | | | | | | | It does not directly use ICU, so this is its proper home. Review URL: http://codereview.chromium.org/155415 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20492 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Implement BlockedPopupContainerView for linux.erg@google.com2009-06-101-0/+4
| | | | | | | | | | | | | | | | This doesn't have: - rounded corners - gradient background - animating in or out. - graphical polish but it is fucntionally complete. http://crbug.com/12843 Review URL: http://codereview.chromium.org/118480 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18113 0039d316-1c4b-4281-b951-d872f2087c98
* add CollapseWhitespaceASCIIrafaelw@chromium.org2009-06-041-4/+15
| | | | | | | | R=erikkay Review URL: http://codereview.chromium.org/119199 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17689 0039d316-1c4b-4281-b951-d872f2087c98
* Move a few functions commonly called with char* to StringPiece.deanm@chromium.org2009-05-291-3/+3
| | | | | | | | | | | In some cases this will avoid the implicit char* -> std::string conversion, object creation, and string copying. One of the biggest benefit is on Windows, where we can save some conversions in FilePath::AppendASCII. Review URL: http://codereview.chromium.org/113996 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17182 0039d316-1c4b-4281-b951-d872f2087c98
* Add JSON-specific escaping, which has different rules from JS ↵erikkay@google.com2009-05-201-29/+0
| | | | | | | | escaping.BUG=http://crbug.com/11431TEST=base_unittests.exe --gtest_filter=StringEscapeTest.Json* Review URL: http://codereview.chromium.org/113606 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16485 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land of earlier NTP theme patch; now with mac and linux compatibility.glen@chromium.org2009-05-151-52/+35
| | | | | | Review URL: http://codereview.chromium.org/115413 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16205 0039d316-1c4b-4281-b951-d872f2087c98
* Add match count text to the GTK find bar. This also makes the bar wider.brettw@chromium.org2009-05-141-0/+4
| | | | | | | | | | | | | | | | The match count text doesn't currently show up realiably because the data in the find reply is bad. I believe this is bug 11761. The clicker checking code has been moved to the cross-platform FindBarController so it doesn't have to be duplicated for each platform. This also add IntToString16. I didnt add all the variants now. The *Wstring versions should all eventually be changed to string16. http://crbug.com/11750 Review URL: http://codereview.chromium.org/114023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16058 0039d316-1c4b-4281-b951-d872f2087c98
* Retry r16006.estade@chromium.org2009-05-141-0/+6
| | | | | | Review URL: http://codereview.chromium.org/113369 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16025 0039d316-1c4b-4281-b951-d872f2087c98
* Undo 16020glen@chromium.org2009-05-141-34/+51
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16021 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the new tab page to be themed (you may want to review DOMUIThemeSource ↵glen@chromium.org2009-05-141-51/+34
| | | | | | | | | | | | | as a whole and not just these changes). Change global std::strings to chars* in browser theme provider. Add ability for ReplaceStringPlaceHolder to take up to 9 replacements. BUG=11235,11685 Review URL: http://codereview.chromium.org/115172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16020 0039d316-1c4b-4281-b951-d872f2087c98
* revert r16006 due to msvc warning.estade@chromium.org2009-05-131-6/+0
| | | | | | | | TBR=playmobil Review URL: http://codereview.chromium.org/113367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16007 0039d316-1c4b-4281-b951-d872f2087c98
* Properly convert from UTF8 to UTF16 in WebTextInputImpl.estade@chromium.org2009-05-131-0/+6
| | | | | | | | | String util changes by darin@chromium.org. BUG=11699 Review URL: http://codereview.chromium.org/115215 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16006 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the internal GetStringF to use string16. This saves atc@google.com2009-04-141-27/+27
| | | | | | | | | | | | | | | conversion from string16 to wstring on the linux side when calling GetStringFUTF8 methods. It actually adds extra conversions when calling GetStringF, but we're going to get rid of all those, right? BUG=9911 Review URL: http://codereview.chromium.org/67112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13666 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up another string templatemark@chromium.org2009-03-251-13/+9
| | | | | | Review URL: http://codereview.chromium.org/42591 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12457 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes Issue 7377: Regression: Omnibox trims URL ending with 0x85 (Take 2)hbono@chromium.org2009-03-051-3/+9
| | | | | | | | | This is the same change as "http://codereview.chromium.org/20219/show", which I reverted it because it caused build breaks on sandbox. To investigate this build break, it seems this build break is somehow caused by "base/string_util.cc" that includes the TrimWhiteSpaceUTF8() function. To fix this build break, I moved the TrimWhiteSpaceUTF8() function to "base/string_util_icu.cc". BUG=7377 Review URL: http://codereview.chromium.org/28310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10970 0039d316-1c4b-4281-b951-d872f2087c98
* Convert NavigationEntry title to string16. TabContents::GetTitle no longer needsbrettw@chromium.org2009-03-041-2/+16
| | | | | | | | | | | | | | | to be virtual, either. This also changes how the display URL is computed. Instead of doing it preemptively, we now do so lazily. This allows us to do the URL formatting correctly using the elider so that we can do IDN and unescaping. I changed string_util's singleton functions. I was worried that other code might make a singleton of string, which would give you this same value as a non-const string. This would mean our empty strings might no longer be empty. Review URL: http://codereview.chromium.org/39022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10872 0039d316-1c4b-4281-b951-d872f2087c98
* revert broken change 10833nsylvain@chromium.org2009-03-031-20/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10837 0039d316-1c4b-4281-b951-d872f2087c98
* Port DictionaryValue to use string16 instead of wstring.dsh@google.com2009-03-031-0/+20
| | | | | | | Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10818 Review URL: http://codereview.chromium.org/31014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10833 0039d316-1c4b-4281-b951-d872f2087c98
* Revert dsh's change 10818nsylvain@chromium.org2009-03-031-66/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10821 0039d316-1c4b-4281-b951-d872f2087c98
* Port DictionaryValue to use string16 instead of wstring.dsh@google.com2009-03-031-0/+66
| | | | | | Review URL: http://codereview.chromium.org/31014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10818 0039d316-1c4b-4281-b951-d872f2087c98