summaryrefslogtreecommitdiffstats
path: root/net/disk_cache
Commit message (Collapse)AuthorAgeFilesLines
* Disk cache: A dirty entry can point to a list thatrvargas@google.com2010-11-173-38/+101
| | | | | | | | | | | | | | | is not the actual list where the entry is stored. This CL recognizes that case and hanldes removing that entry from the lists, without saying that there is critical corruption. BUG=38859 TEST=net_unittests Review URL: http://codereview.chromium.org/5119001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66518 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Cleanup file_posix so that it uses the latestrvargas@google.com2010-11-171-159/+74
| | | | | | | | | | | | version of InFlightIO & Co. BUG=55629 TEST=current tests. Review URL: http://codereview.chromium.org/4956001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66497 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Remove the queue for backend operations andrvargas@google.com2010-11-045-56/+143
| | | | | | | | | | | | change the queue of entry operations so that the operation that is posted is kept on the list. BUG=54338 TEST=net_unittests Review URL: http://codereview.chromium.org/3744007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65118 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Don't return zeros when reading from an entryrvargas@google.com2010-11-042-10/+34
| | | | | | | | | | | | | | | | | | | | | that has a buffer with an offset beyond the start of the read. The read logic was incorrectly calculating the eof for an entry as the current size minus the unreported size, so it was assuming that a buffer with a large offset was always extending the file... so it was returning zeros for the data. Now we don't attempt to keep buffers that extend a file, and the eof computation was fixed to be just the current lenght. BUG=59275 TEST=net_unittests Review URL: http://codereview.chromium.org/4289004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65074 0039d316-1c4b-4281-b951-d872f2087c98
* Allow histograms in cache stats.cc to bypass corruption checksjar@chromium.org2010-11-032-0/+7
| | | | | | | | | | | | | | | | This is a relanding of http://codereview.chromium.org/4174002 The change in this CL is that I've made the function to look for errors virtual, and over-rode it in StatsHistograms. The current override doesn't actually check for inconsistencies, so that the UMA checks (and renderer-to-histogram checks) won't complain and refuse to transport the histograms. BUG=61281 r=rvargas Review URL: http://codereview.chromium.org/4364001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64990 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 2thakis@chromium.org2010-11-023-6/+6
| | | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2826041 I then did quite a bit of manual editing to fix style issues. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4291001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64798 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-0110-115/+115
| | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4192012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
* Thread IO safety: net/disk_cache file I/O in recovery.shess@chromium.org2010-10-291-0/+5
| | | | | | | | | | | | | DelayedCacheCleanup() generates a new filename (and checks for existence) then moves the cache there. I'm seeing this on the I/O thread when my cache is corrupt. BUG=61151 TEST=none Review URL: http://codereview.chromium.org/4088006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64353 0039d316-1c4b-4281-b951-d872f2087c98
* Move debug-related stuff from base to the base/debug directory and use thebrettw@chromium.org2010-10-261-2/+2
| | | | | | | | | | | | | | | | base::debug namespace. This splits apart debug_util into base/debugger and base/stack_trace There are still two functions in debug_util that I'm not sure what to do with. Since this uses the base::debug namespace, I removed the functions in debugger.h from the static class and just made them free functions in the namespace. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3945002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63859 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Even more ctor/virtual deinlining.erg@google.com2010-10-192-2/+6
| | | | | | | | | | | (Only 424k off Linux debug .a files). BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3859003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63059 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Monster ctor patch after changing heuristics in clang plugin.erg@google.com2010-10-188-19/+58
| | | | | | | | | | | (Only 916k this time off Debug Linux .a files) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3814013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62967 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize data members in constructor.kmadhusu@chromium.org2010-10-181-1/+4
| | | | | | | | | | CID=1634, 11587, 5007, 13234, 13398, 9295, 8294, 8285 BUG=none TEST=none Review URL: http://codereview.chromium.org/3817007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62945 0039d316-1c4b-4281-b951-d872f2087c98
* Move the windows-specific scoped_* stuff from base to base/win and in the ↵brettw@chromium.org2010-10-161-3/+4
| | | | | | | | | | | | | | | | base::win namespace. This keeps old headers that forward to the new versions and have using declarations that allow the existing code to compile. I fixed all the callers in base to use the new ones, and also the other files I happened to touch. This splits out the stuff from scoped_handle into a few separate files. I just deleted ScopedFindFile since it was only used in one place and it wasn't even really helping there. I removed StackBstr which was a #define and used the "regular" ScopedBstr in the 7 places that used it. This is an optimization to avoid an extra allocation, but none of the callers are remotely performance critical. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3781009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62843 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - net/.pkasting@chromium.org2010-10-161-4/+3
| | | | | | | | | | Also converts COOKIE_DLOG (since VLOG can be toggled on a granular basis), removes some unneeded "endl"s and {}s, aligns "<<"s per style guide, and changes KeygenHandler::GenKeyAndSignChallenge() to avoid using "goto". BUG=none TEST=none Review URL: http://codereview.chromium.org/3846001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62831 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 62645 - Disk cache: Remove the request throttling experiment.rvargas@google.com2010-10-141-1/+10
| | | | | | | | | | | | | | | | This is intended for the beta/stable branch. BUG=none TEST=none TBR=gavinp Review URL: http://codereview.chromium.org/3788002 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/3775009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62655 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Remove the request throttling experiment.rvargas@google.com2010-10-141-10/+1
| | | | | | | | | | | | | This is intended for the beta/stable branch. BUG=none TEST=none TBR=gavinp Review URL: http://codereview.chromium.org/3788002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62645 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Close the current experiment for new users.rvargas@google.com2010-10-141-28/+6
| | | | | | | | | | | | | (increasing the number of deleted entries) BUG=none TEST=none TBR=gavinp Review URL: http://codereview.chromium.org/3778002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62643 0039d316-1c4b-4281-b951-d872f2087c98
* Move Stats, histograms, and field trial into a metrics subdirectory of base andbrettw@chromium.org2010-10-147-26/+31
| | | | | | | | | put them in the base namespace. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62510 0039d316-1c4b-4281-b951-d872f2087c98
* This adds a cache_util::MoveCacheContents function for ChromeOS to usegspencer@chromium.org2010-10-124-3/+123
| | | | | | | | | | | | | | | | | | when "cleaning" the cache, since we don't actually want to remove the old cache directory. Because when we do that creating it anew will cause ecryptfs to give it an encrypted name, and we want to be able to find the cache directories in an encrypted user home dir. [This was already reviewed and LGTM'd here: http://codereview.chromium.org/3560001/show But never made it into the tree] BUG=chromium-os:6859 TEST=added and ran unittest, ran chrome in new user_data dir and cleared cache. Review URL: http://codereview.chromium.org/3714002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62257 0039d316-1c4b-4281-b951-d872f2087c98
* clang: Let everything compile in Release builds.thakis@chromium.org2010-10-103-0/+6
| | | | | | | | | | | Release builds also require http://code.google.com/p/googletest/issues/detail?id=321 BUG=None TEST=None Review URL: http://codereview.chromium.org/3700001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62128 0039d316-1c4b-4281-b951-d872f2087c98
* clang/mac: Fix almost all problems when building all.xcodeproj.thakis@chromium.org2010-10-041-22/+0
| | | | | | | | BUG=None TEST=None TBR=hans git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61344 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 61124 - Disk Cache: Add a quick return path for truncating an empty ↵rvargas@google.com2010-10-011-3/+8
| | | | | | | | | | | | | | | stream and make sure that Flush() doesn't fail when it has nothing to do. BUG=56872, 57395 TEST=none Review URL: http://codereview.chromium.org/3551005 Review URL: http://codereview.chromium.org/3576007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61183 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61124 To see if interactive_ui_test (AutocompleteEditViewTest)rvargas@google.com2010-10-011-8/+3
| | | | | | | | | | | | | | | | | | go green. Disk Cache: Add a quick return path for truncating an empty stream and make sure that Flush() doesn't fail when it has nothing to do. BUG=56872, 57395 TEST=none Review URL: http://codereview.chromium.org/3551005 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/3543007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61138 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Add a quick return path for truncating an empty streamrvargas@google.com2010-09-301-3/+8
| | | | | | | | | | | and make sure that Flush() doesn't fail when it has nothing to do. BUG=56872, 57395 TEST=none Review URL: http://codereview.chromium.org/3551005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61124 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move ctors/dtors into implementation files. Adds ctors/dtors to ↵erg@google.com2010-09-302-1/+3
| | | | | | | | | | | | | | non-POD structs. Cuts ~2MB off our .a files (Debug, Linux). Also added the "virtual" keyword on a whole bunch of virtual dtors that were missing it. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3522004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61100 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Change the way we delete files.rvargas@google.com2010-09-295-16/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Now we always share delete and request delete access when we open the files, and don't close the handle before deleting a file. The result is that the delete operation should not be prevented by someone opening the file right after we close our handle. The downside is that anybody attempting to open one of our files while the browser is running will have to also share delete or their request will fail. On the other hand, we don't really want other people modifying the files at the same time, so the change may be for good. The caveat is that I think most of the failures are result of improper AV behavior, so we have to see what happens. BUG=16723 TEST=net_unittests Review URL: http://codereview.chromium.org/3475025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60989 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Handle failures growing the user_buffer thatrvargas@google.com2010-09-295-18/+103
| | | | | | | | | | | | | | | | | | | should result in data going to an external file. After PrepareBuffer() we must always have either a buffer that will receive the user data, or an initialized address that points to the correct block or external file to receive the data. This CL makes sure that when we end up without a buffer, the second condition is met. BUG=56872 TEST=net_unittests Review URL: http://codereview.chromium.org/3471016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60958 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Moves code to the headers.erg@google.com2010-09-288-26/+51
| | | | | | | | | | | | | One of the big things is starting to move/declare ctors/dtors that derive from RefCounted<> to/in the implementation file. (Saves 4 megabytes from libglue.a alone. 1 meg off libbrowser.a. Hundred of kilobyte savings in a large number of .a files; only libmedia.a grew and it's only 100k.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3452030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60863 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Add a little more tracing for the stress testrvargas@google.com2010-09-271-0/+3
| | | | | | | | | | | tool. BUG=55605 TEST=none Review URL: http://codereview.chromium.org/3452024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60675 0039d316-1c4b-4281-b951-d872f2087c98
* net: Append base:: in the StringPrintf calls.tfarina@chromium.org2010-09-255-18/+25
| | | | | | | | | | | (Note: This is a TODO in string_util.h) BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3390026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60555 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Small adjustment so that we continue withrvargas@google.com2010-09-231-2/+4
| | | | | | | | | | | | | | the process of creating a new entry after we detect a dirty entry with a partial hash collision. Detected with stress_cache. BUG=none TEST=none Review URL: http://codereview.chromium.org/3404013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60376 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60165 - GTTF: Make net_unittests run successfully with parallel test ↵phajdan.jr@chromium.org2010-09-229-121/+139
| | | | | | | | | | | | | | | | launcher by using a unique directory for disk cache tests. BUG=54098 TEST=run net_unittests using tools/parallel_launcher/parallel_launcher.py Review URL: http://codereview.chromium.org/3410008 TBR=phajdan.jr@chromium.org Review URL: http://codereview.chromium.org/3387012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60166 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Make net_unittests run successfully with parallel test launcherphajdan.jr@chromium.org2010-09-229-139/+121
| | | | | | | | | | | by using a unique directory for disk cache tests. BUG=54098 TEST=run net_unittests using tools/parallel_launcher/parallel_launcher.py Review URL: http://codereview.chromium.org/3410008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60165 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bunch of clang warnings/errors.thakis@chromium.org2010-09-211-13/+0
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3473006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60109 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix the include order.rvargas@google.com2010-09-201-1/+1
| | | | | | | | | | BUG=55970 TEST=none Review URL: http://codereview.chromium.org/3458006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59952 0039d316-1c4b-4281-b951-d872f2087c98
* Annotate test-only race in DiskCacheBackendTest.NewEvictionTrimInvalidEntrytimurrrr@chromium.org2010-09-171-0/+8
| | | | | | | | | | | also remove the suppressions which won't be needed anymore. Also remove suppression for an old bug 30960 fixed long ago. BUG=55970,30960 TBR=rvargas TEST=trybots, TSan Review URL: http://codereview.chromium.org/3416009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59778 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Start an experiment to measure the impact ofrvargas@google.com2010-09-162-6/+39
| | | | | | | | | | | | throttling cache requests. BUG=54338 TEST=none Review URL: http://codereview.chromium.org/3388009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59729 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix the order in which we delete datarvargas@google.com2010-09-1615-54/+356
| | | | | | | | | | | | | | | | | | | | | from the block files. Stress testing the cache reveals a problem with the deletion of some data from an entry: it is possible to crash in a way that the block file thinks a block is free and an entry thinks the block is in use. This CL corrects that issue. There is also some new tests and a bunch of DCHECKS added while looking for the problem, as well as adding tests to make sure that a block file is accessed only from one thread (there is no problem with the current code in that regard) BUG=55605 TEST=netunittests Review URL: http://codereview.chromium.org/3430004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59711 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move Extension::LaunchContainer to extension_constants.h.erg@google.com2010-09-162-3/+5
| | | | | | | | | | | This makes browser.h not depend on extension.h. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3399008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59588 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Implement request throttling.rvargas@google.com2010-09-144-10/+82
| | | | | | | | | | | | | Note that no throttling is performed with this change, the backend is not activating the feature. BUG=54338 TEST=none. Review URL: http://codereview.chromium.org/3416002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59437 0039d316-1c4b-4281-b951-d872f2087c98
* Disk Cache: Run another experiment: Increase the numberrvargas@google.com2010-09-135-21/+107
| | | | | | | | | | | | | | | | | of deleted entries that we keep around. I'm doubling the number of deleted entries for about 13% of the dev channed. I'm also adding a few extra histograms. BUG=none TEST=none Review URL: http://codereview.chromium.org/3343010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59243 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Fix the path for stress_cache.rvargas@google.com2010-09-091-1/+1
| | | | | | | | | | | | | | | r29136 broke the temp path used for stress_cache. I'm switching it back to the desired location (it should not interfere with the path for net_unittests). BUG=none TEST=none Review URL: http://codereview.chromium.org/3300019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59004 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move more ctors/dtors from headers to implementation.erg@google.com2010-09-016-21/+61
| | | | | | | | | | | | | | | | | - Adding/Moving dtors of objects that have CancelableRequestConsumers shaves three megs off browser.a. - Adding/Moving dtors of objects that have ScopedRunnableMethodFactories only shaved 100k off browser.a/renderer.a. - Adding/Moving dtors of objects that used some form of base::*Timer<> was negligible; there were only a few classes that had a Timer but had a ctor/dtor in the header after the previous cleanups. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3278006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58192 0039d316-1c4b-4281-b951-d872f2087c98
* Add an optional parameter to CreatePlatformFile() to report the typedumi@chromium.org2010-08-314-5/+5
| | | | | | | | | | | | of error that occured while trying to open/create a file. TEST=none BUG=none Review URL: http://codereview.chromium.org/3223007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58045 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: For an AppCache, now we only update thervargas@google.com2010-08-279-27/+177
| | | | | | | | | | | | | | | | | | | | | | | | LRU list when an entry is created. This means that we don't update the list anymore when an entry is accessed, even if we are writing to the entry. The general idea is that now we should be able to open an AppCache and read from it without modifying the contents of the cache, so that if the browser crashes, we won't find "dirty" entries to discard. By minimizing writes to the LRU list, we reduce the chances that the list will get corrupt beyond the point where we cannot trust it anymore if the whole system crashes (and not just the browser). BUG=51870 TEST=net_unittests Review URL: http://codereview.chromium.org/3186032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57697 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Add a new uma histogram for the total internalrvargas@google.com2010-08-272-1/+4
| | | | | | | | | | | | buffers size. BUG=none TEST=none Review URL: http://codereview.chromium.org/3211003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57615 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Remove the check for no open entries at destructionrvargas@google.com2010-08-251-1/+4
| | | | | | | | | | | | | | | if we are not running a net_unittest. We have no way to enforce that the browser closes all backend entries (HttpCacheTransactions) before deleting the cache. BUG=52366 TEST=none Review URL: http://codereview.chromium.org/3119039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57422 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Extend the internal buffering performed by each entryrvargas@google.com2010-08-2311-543/+1079
| | | | | | | | | | | | | | | | | | | | | | to cover external files. We now keep a variable-size buffer and use it even after we know that the data is not going to be stored by a block-file. The backend keeps track of the total memory used by all entries and prevents that value from going over a max value that depends on the total memory available. This CL removes the tests that were checking the synchronous operation of sparse IO because that model is no longer supported by the public API, and this CL would add complexity to them (they fail due to thread safety concerns). BUG=6626 TEST=net_unittests Review URL: http://codereview.chromium.org/3167020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57082 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obviously unneeded forward declarations from headers under ↵viettrungluu@chromium.org2010-08-212-4/+0
| | | | | | | | | | | src/{app,base,net}. BUG=none TEST=builds Review URL: http://codereview.chromium.org/3136025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56995 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unnecessary STL #includes from src/net.viettrungluu@chromium.org2010-08-194-12/+3
| | | | | | | | | | | | This removes obviously unneeded inclusions of <map>, <set>, <string>, <vector>, etc. from src/net. BUG=none TEST=builds Review URL: http://codereview.chromium.org/3132022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56654 0039d316-1c4b-4281-b951-d872f2087c98