summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-3013-414/+911
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* Give a better error when extension unpacking can't be done.skerner@chromium.org2010-07-301-3/+4
| | | | | | | | | | | The sandbox can not allow file access to paths that contain reparse points. Chrome tries to find a reparse point free path to the directory which will be sandboxed for extension unpacking. However, there are cases where there is no such path. See the bug for an example. In this case, give a decent error message. BUG=49530 TEST=Manually created a partition mounted in C:/mnt, mounted as drive letter, and mounted only under /Devices/HardDisk3/, tried unpacking extensions in each. Review URL: http://codereview.chromium.org/3060026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54327 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some debug switches:skerner@chromium.org2010-07-307-93/+6
| | | | | | | | | | | | | | --issue35198-crxdir-browser --issue35198-permission They were used to understand issue 35198. They are no longer needed. There is one more switch, --issue35198-logging, that is not being removed in this CL. The logging it adds may still be useful. BUG=50604 TEST=manual Review URL: http://codereview.chromium.org/3052023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54323 0039d316-1c4b-4281-b951-d872f2087c98
* Shuffle some of the functions in file_util.h.agl@chromium.org2010-07-301-13/+10
| | | | | | (A followup from r54316.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54321 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some bad uses of GetTempDir.agl@chromium.org2010-07-301-0/+2
| | | | | | | | | | | (Just a first step. I can't remove GetTempDir yet though.) BUG=none TEST=unit tests http://codereview.chromium.org/3075008/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54316 0039d316-1c4b-4281-b951-d872f2087c98
* Convert a bunch of easy AppendSwitchWithValue to *ASCII.evan@chromium.org2010-07-301-9/+9
| | | | | | | | | For this patch, I skipped over any instance where it wasn't a nearly trivial change. Review URL: http://codereview.chromium.org/3069014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54285 0039d316-1c4b-4281-b951-d872f2087c98
* Add unit tests for base/platform_thread.* and base/lock.*.viettrungluu@chromium.org2010-07-304-2/+323
| | | | | | | | | BUG=none TEST=base_unittests Review URL: http://codereview.chromium.org/3030025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54283 0039d316-1c4b-4281-b951-d872f2087c98
* Add an AppendSwitchASCII to CommandLine, and convert a test to it.evan@chromium.org2010-07-306-23/+31
| | | | | | | | | | | I'm removing all the AppendSwitchWithValue() users due to wstrings, and this is one caller. Since fixing this one caller requires touching many files, I thought I'd isolate this change from the other WithValue->ASCII conversions. Review URL: http://codereview.chromium.org/2878065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54257 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: add a CopySwitchesFrom() and AppendSwitchPath()evan@chromium.org2010-07-292-16/+59
| | | | | | | | | | | These are two common patterns in Chrome code: copying a subset of switches from one CommandLine to another, and appending a FilePath to a CommandLine. This sets me up to do a lot more deprecation in a follow-up change. Review URL: http://codereview.chromium.org/3012021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54218 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Increase the limit for QPC drift.phajdan.jr@chromium.org2010-07-291-2/+2
| | | | | | | | | | | | | Also update the DCHECK to use an absolute value of the skew for comparison. It could be negative. TEST=base_unittests BUG=none Review URL: http://codereview.chromium.org/3083002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54191 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Ensure that when we're testing the logging system will not display ↵phajdan.jr@chromium.org2010-07-291-0/+3
| | | | | | | | | | | | | | | dialogs. When I was running ui_tests on Linux at the end there were to xmessage windows on the screen. They shouldn't be there, and they might gum up the bots, especially if it happens on Windows. TEST=none BUG=none Review URL: http://codereview.chromium.org/2847085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54180 0039d316-1c4b-4281-b951-d872f2087c98
* Change a DCHECK to a DCHECK_LT so we can see the failing values.evan@chromium.org2010-07-281-1/+1
| | | | | | | | | | | This DCHECK sometimes fails on the bots; seeing the failing values may help us diagnose the problem. BUG=50556 Review URL: http://codereview.chromium.org/3068010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54069 0039d316-1c4b-4281-b951-d872f2087c98
* posix: print error message when mkdtemp fails.evan@chromium.org2010-07-281-1/+3
| | | | | | | | Failure seen on the buildbots. It would help to know why. Review URL: http://codereview.chromium.org/3067013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54016 0039d316-1c4b-4281-b951-d872f2087c98
* Move NSImage-to-CGImageRef conversion code into a common helper function in ↵rsesek@chromium.org2010-07-283-1/+57
| | | | | | | | | | | base/mac_util.h. BUG=49571 TEST=Covered by unit_tests. Review URL: http://codereview.chromium.org/3072005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53997 0039d316-1c4b-4281-b951-d872f2087c98
* Add a forgotton const qualifier to SendMsg.agl@chromium.org2010-07-282-5/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53978 0039d316-1c4b-4281-b951-d872f2087c98
* base/ header cleanup. Forward declaration instead of including.erg@google.com2010-07-2812-55/+121
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3068004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
* Fix lines longer than 80 characters.tfarina@chromium.org2010-07-281-2/+3
| | | | | | | | | BUG=50266 TEST=None Review URL: http://codereview.chromium.org/3013038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53958 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 53903 - Revert 52613 - Revert 52608 - Add and alternative ↵viettrungluu@chromium.org2010-07-283-141/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetAppOutput() to process_util that takes a timeout. [For those keeping track, this removes it again. The failure wasn't a flake. :(] [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3045018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53908 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52613 - Revert 52608 - Add and alternative GetAppOutput() to ↵viettrungluu@chromium.org2010-07-283-19/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | process_util that takes a timeout. [Undoing the revert to see if the failure wasn't a flake.... Revert if the original failure, below, occurs again.] ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3036023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53903 0039d316-1c4b-4281-b951-d872f2087c98
* Speculative fix for crash in DOMUIThumbnailSource.erg@google.com2010-07-283-18/+47
| | | | | | | | | | | | | | | | | | | | DOMUIThumbnailSource objects are deleted on the IO thread, while they are used on the UI thread. The DataSource documentation says that they should not live on the IO thread, but for almost all DataSources, the only reference held is the one by ChromeURLDataManager, which lives on the IO thread. Since I had a racy stack where the object was being used on the UI thread while its destructor was running on the IO thread, forcing destruction on the UI thread should fix the crash. Pretty much everything but changing the templated base class of DataSource to always DeleteOnUIThread is my usual cleanup. BUG=34115 TEST=none Review URL: http://codereview.chromium.org/3061009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53873 0039d316-1c4b-4281-b951-d872f2087c98
* Treat multiple extensions like .tar.gz as a single extension.estade@chromium.org2010-07-272-60/+139
| | | | | | | | | | | The logic is taken from firefox. BUG=48346 TEST=unit tests; downloading the same .tar.gz file multiple times (see bug) Review URL: http://codereview.chromium.org/3018011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53844 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac]Port browser_keyevents_browsertest.cc and browser_focus_uitest.cc to Mac.suzhe@chromium.org2010-07-274-6/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL includes: 1. Implementation of ui_test_utils_mac.mm 2. Fix for ui_controls_mac.mm 3. Port browser_keyevents_browsertest.cc to Mac and add some new tests for Mac. 4. Partially port browser_focus_uitest.cc to Mac, now can be compiled and run on Mac but some tests fail. 5. Add two functions into ui_test_utils.h: HideNativeWindow() and ShowAndFocusNativeWindow(). The latter one shows a window and grabs the input focus, which is useful for tests depending on fake keyboard/mouse events. Because browser_keyevents_browsertests.cc and browser_focus_uitest.cc belong to interactive_ui_tests, which is not available on Mac (see http://crbug.com/21276), in order to test them on Mac, you may want to move them into browser_tests locally. But it won't work on build and try bots, because these tests must be run with screen unlocked. This CL depends on CL: http://codereview.chromium.org/2973004 and http://codereview.chromium.org/2805075 BUG=22515 Keyboard handling needs unit tests BUG=48671 interactive_ui_test: BrowserKeyEventsTest.NormalKeyEvents is flaky BUG=48936 Browser window is opened inactivated when running an InProcessBrowserTest. TEST=none Review URL: http://codereview.chromium.org/2986004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53840 0039d316-1c4b-4281-b951-d872f2087c98
* Switched dynamic_annotations.gyp from using the DEPTH attribute to a ↵tony@chromium.org2010-07-271-2/+2
| | | | | | | | | | | | | relative directory. The DEPTH attribute works fine as long as you're building the base library from the chrome src directory (which the vast majority of people do). If, however, you're trying to build it as a dependency in another project (as I am for the webtest-plugin project), the DEPTH attribute does not work. The relative path builds correctly in both situations. Review URL: http://codereview.chromium.org/2868068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53809 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug with parsing ftp directory listing lines.michaeln@chromium.org2010-07-272-0/+21
| | | | | | | | | BUG=49997 TEST=ftp_directory_listing_parser_windows_unittest.cc Review URL: http://codereview.chromium.org/3013029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53747 0039d316-1c4b-4281-b951-d872f2087c98
* Mark TimeTicks.HighResNow as flakyasargent@chromium.org2010-07-261-1/+1
| | | | | | | | | BUG=50291 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53719 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-26209-0/+209
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Add bug reference to failing tests:phajdan.jr@chromium.org2010-07-261-0/+2
| | | | | | | | | | | | | MessageLoopTest.EnsureTaskDeletion and MessageLoopTest.EnsureTaskDeletion_Chain TBR=darin TEST=MessageLoopTest.EnsureTaskDeletion and MessageLoopTest.EnsureTaskDeletion_Chain BUG=50272 Review URL: http://codereview.chromium.org/3044025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53687 0039d316-1c4b-4281-b951-d872f2087c98
* Fix 2 include guards found by my scriptthakis@chromium.org2010-07-262-2/+7
| | | | | | | | | | | BUG=none TEST=none TBR=erg Review URL: http://codereview.chromium.org/3059007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53652 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity 8629, 3808: Uninitialized member in StringTokenizer.finnur@chromium.org2010-07-241-3/+4
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3036010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53590 0039d316-1c4b-4281-b951-d872f2087c98
* Port SymmetricKey::Import to Mac and update tests.albertb@chromium.org2010-07-233-6/+6
| | | | | | | | | BUG=48701 TEST=EncryptorTest.* Review URL: http://codereview.chromium.org/3058007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53515 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an issue in Thread class where we initialize a pointer, whichhuanr@chromium.org2010-07-232-6/+12
| | | | | | | | | | | is a class member, with stack variable and keep its value. BUG=48772 TEST=none Review URL: http://codereview.chromium.org/3045008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53438 0039d316-1c4b-4281-b951-d872f2087c98
* Random bits of header and whitespace cleanup.thestig@chromium.org2010-07-231-6/+8
| | | | | | | | BUG=none TEST=noe Review URL: http://codereview.chromium.org/3062003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53437 0039d316-1c4b-4281-b951-d872f2087c98
* file_util: Get rid of the deprecated UpOneDirectory function.tfarina@chromium.org2010-07-232-11/+0
| | | | | | | | | | | This removes the latest usage of this function. BUG=24672 TEST=mini_installer_test Review URL: http://codereview.chromium.org/2946007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53434 0039d316-1c4b-4281-b951-d872f2087c98
* base: Add IsHexDigit function to string_util.htfarina@chromium.org2010-07-231-0/+7
| | | | | | | | | | | | | | | Removed duplicated IsHex functions and converted the callers along the way. (Note: this was a TODO for jungshik). BUG=None TEST=trybots Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/2870058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53428 0039d316-1c4b-4281-b951-d872f2087c98
* Make it possible to compile word_iterator.h on Gentoo when usingphajdan.jr@chromium.org2010-07-221-1/+2
| | | | | | | | | | | system ICU. TEST=none BUG=28294 Review URL: http://codereview.chromium.org/2824069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53417 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated CommandLine::GetLooseValues(), rename to args().evan@chromium.org2010-07-213-31/+20
| | | | | | | | | | | | | | | It returned a wstring, when really we wanted the native encoded strings. Fixing the majority of callers actually simplified them in many cases because the callers wanted native strings too. Since I'm touching every caller, I gave it a more useful name. I'm not sure where "loose" came from but it never made sense to me. BUG=24672 Review URL: http://codereview.chromium.org/3028010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
* Rename the download to its final name only after the download is finishedkinuko@chromium.org2010-07-211-0/+2
| | | | | | | | | BUG=27687, 28928 TEST=DownloadManagerTest.DownloadRenameTest Review URL: http://codereview.chromium.org/2877008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53149 0039d316-1c4b-4281-b951-d872f2087c98
* base: add home environment variable to env_var.htfarina@chromium.org2010-07-212-0/+18
| | | | | | | | | | | BUG=None TEST=trybots Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/2847058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53143 0039d316-1c4b-4281-b951-d872f2087c98
* Remove <iostream> where possible.erg@google.com2010-07-206-6/+1
| | | | | | | | | | | | | <iostream> creates a static initializer. Most people don't need <iostream> anyway--they really need <ostream> for operator<< overloads. <iostream> should *never* be included in a header file; <iosfwd> exists for that purpose. BUG=none TEST=none Review URL: http://codereview.chromium.org/3014015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53083 0039d316-1c4b-4281-b951-d872f2087c98
* Take 2 for: Add support for SymmetricKey to import raw keys when using NSS.albertb@chromium.org2010-07-205-26/+97
| | | | | | | | | BUG=48701 TEST=unittests Review URL: http://codereview.chromium.org/2985008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53077 0039d316-1c4b-4281-b951-d872f2087c98
* Download code cleanup:phajdan.jr@chromium.org2010-07-202-0/+122
| | | | | | | | | | | | | | | | | | - choose better names for some helper methods - move code to less random places This change also adds bigger tuples support, up to Tuple8 in base/tuple.h. The plan is to stop using such big number of parameters, but for now it's not trivial. This change also fixes some UI tests, not sure why it is so. TEST=unit_tests, browser_tests, ui_tests BUG=48913 Review URL: http://codereview.chromium.org/2805091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53053 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nacl_sandbox_tests dependency:victorw@chromium.org2010-07-191-1/+1
| | | | | | | | | | | | | | | allocator target should be added as dependency only when win_use_allocator_shim is 1. Also fix a typo in allocator_shim.cc R=jvoung@google.com, mbelshe@chromium.org TEST=none BUG=none Review URL: http://codereview.chromium.org/3011011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52947 0039d316-1c4b-4281-b951-d872f2087c98
* Compress and checksum pending logs that are going to be persisted. Persisted ↵ziadh@chromium.org2010-07-193-5/+5
| | | | | | | | | | | | | | | | logs now have the following format: [list_size, log1, log2, ..., log_n, checksum]. where each log is bzipped before being written. Upon reading the logs from disk, we verify the data and register whether we faced corruptions or not. r=jar Review URL: http://codereview.chromium.org/2936005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52885 0039d316-1c4b-4281-b951-d872f2087c98
* file_util: deprecate remaining wstring functionsevan@chromium.org2010-07-161-6/+6
| | | | | | | | | | | This removes the last wstring-accepting functions from file_util on non-Windows platforms. BUG=24672 Review URL: http://codereview.chromium.org/3005005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52755 0039d316-1c4b-4281-b951-d872f2087c98
* Remove lock.h from resource_bundle.h and histogram.h.erg@chromium.org2010-07-162-2/+4
| | | | | | | | | | | Use a scoped_ptr<Lock> instead of Lock in resource bundle. BUG=none TEST=none Review URL: http://codereview.chromium.org/3038005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52730 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Guess the thread id for crashing renderers in a different PID namespace.thestig@chromium.org2010-07-162-0/+53
| | | | | | | | BUG=48997 TEST=Google Chrome gets valid crash reports for about:crash most of the time. Review URL: http://codereview.chromium.org/2961008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52723 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more definitions from header files.erg@chromium.org2010-07-164-8/+30
| | | | | | | | | | | This patch only concerns itself with places where we have more than 100 copies of methods being generated. (For example, the destructor and other random methods in FilePath weren't being inlined, leading to several hundred copies being generated.) BUG=none TEST=none Review URL: http://codereview.chromium.org/3039001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52694 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52608 - Add and alternative GetAppOutput() to process_util that takes ↵viettrungluu@chromium.org2010-07-163-141/+19
| | | | | | | | | | | | | | | | | | | | a timeout. ["base_unittests" didn't exit cleanly on "Chromium Linux x64" but was killed due to timeout.] Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. TBR=viettrungluu@chromium.org, tessamac@chromium.org Review URL: http://codereview.chromium.org/3012004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52613 0039d316-1c4b-4281-b951-d872f2087c98
* Add and alternative GetAppOutput() to process_util that takes a timeout.viettrungluu@chromium.org2010-07-163-19/+141
| | | | | | | | | | | | Contributed by tessamac@chromium.org TEST=none BUG=47356 Review URL: http://codereview.chromium.org/2810014 Patch from Tessa MacDuff <tessamac@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52608 0039d316-1c4b-4281-b951-d872f2087c98
* base: Return bool instead of void in EnvVarGetter::SetEnv.tfarina@chromium.org2010-07-164-9/+12
| | | | | | | | | | | | | | | Returning bool instead of void in this function is better, because with that we can know if we had succeeded when tried to set an environment variable or not. Also it makes this function more testable. BUG=None TEST=out/Debug/base_unittests --gtest_filter=EnvVarTest.* Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/2891024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52602 0039d316-1c4b-4281-b951-d872f2087c98