summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Remove suppression for bug 77049, as it's been fixed upstreamadamk@chromium.org2011-09-131-8/+0
| | | | | | | | | | | in WebKit r95010. BUG=77049 TBR=rsesek@chromium.org Review URL: http://codereview.chromium.org/7891012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100935 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen the suppression pattern for bug_46163.satorux@chromium.org2011-09-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | I ran a ui test (AutomationProxyTest.GetBrowserWindowCount) built for Chromium OS locally under valgrind and got the following suppression pattern, which does not include _ZN11MessageLoop10RunHandlerEv at the end. { <insert_a_suppression_name_here> Memcheck:Leak fun:_Znw* fun:_ZN4base19MessagePumpLibevent3RunEPNS_11MessagePump8DelegateE fun:_ZN11MessageLoop11RunInternalEv } It seems that _ZN11MessageLoop10RunHandlerEv could be optimzied out depending on the optimization settings. nkostylev was also seeing the same issue. BUG=46163 TEST=run AutomationProxyTest.GetBrowserWindowCount under valgrind locally and confirm that the leak is suppressed. Review URL: http://codereview.chromium.org/7886015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100934 0039d316-1c4b-4281-b951-d872f2087c98
* Don't leak SSPILibraryDefault objectsasanka@chromium.org2011-09-131-6/+0
| | | | | | | | | | BUG=74413 TEST=Dr. Memory. Review URL: http://codereview.chromium.org/7864005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100930 0039d316-1c4b-4281-b951-d872f2087c98
* [mac] Remove obsolete policy provider related leak suppressions.mnissler@chromium.org2011-09-131-58/+0
| | | | | | | | | | | | | The code has long been refactored so the suppressions no longer match and I've run the tests they occurred in under valgrind to verify they're actually no longer present. BUG=61228, 63513 TEST=valgrind bots don't regress Review URL: http://codereview.chromium.org/7872001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100909 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete TSan suppression related to FilePathWatcherInotify.mnissler@chromium.org2011-09-131-14/+0
| | | | | | | | | | | Fix has been implemented but the bug hasn't been closed. BUG=72169 TEST=TSan bots don't regress. Review URL: http://codereview.chromium.org/7873006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100906 0039d316-1c4b-4281-b951-d872f2087c98
* Widen a suppression for the ChromeOS HttpCache leaksstuartmorgan@chromium.org2011-09-131-9/+9
| | | | | | | | | | | | | This expands the DoCreateEntry suppression to cover the almost identical DoOpenEntry stack. TBR=rvargas BUG=87500 TEST=Greener valgrind bots Review URL: http://codereview.chromium.org/7892005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100903 0039d316-1c4b-4281-b951-d872f2087c98
* Suppress a couple of UNADDR Dr.Memory reports to make the Win 7 bot greenertimurrrr@chromium.org2011-09-131-0/+8
| | | | | | | | TBR=bruening BUG=96010 Review URL: http://codereview.chromium.org/7890005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100902 0039d316-1c4b-4281-b951-d872f2087c98
* Turn OptionsUITest.LoadOptionsByURL back off on Mac Valgrindstuartmorgan@chromium.org2011-09-131-0/+3
| | | | | | | | | | | | | This was recently re-enabled for all platforms, but it's still failing reliably on the Mac. TBR=csilv BUG=96413 TEST=Greener Mac valgrind bots Review URL: http://codereview.chromium.org/7890004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100900 0039d316-1c4b-4281-b951-d872f2087c98
* Add another gtk/gdk valgrind suppressionstuartmorgan@chromium.org2011-09-131-1/+17
| | | | | | | | | | | | | More fallout from http://codereview.chromium.org/7882002 TBR=chocobo BUG=96407 TEST=Greener valgrind bots Review URL: http://codereview.chromium.org/7891004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100891 0039d316-1c4b-4281-b951-d872f2087c98
* Add gtk_widget/gdk_window valgrind suppressionstuartmorgan@chromium.org2011-09-131-0/+25
| | | | | | | | | | | | | This used to be covered by the wider suppression removed in http://codereview.chromium.org/7882002 TBR=chocobo BUG=96402 TEST=Greener valgrind bots Review URL: http://codereview.chromium.org/7889003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100888 0039d316-1c4b-4281-b951-d872f2087c98
* Widen the AutofillProfileSyncableService memory suppressions slightlystuartmorgan@chromium.org2011-09-132-3/+3
| | | | | | | | | | | TBR=georgey BUG=96363 TEST=none Review URL: http://codereview.chromium.org/7891002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100885 0039d316-1c4b-4281-b951-d872f2087c98
* Revert valgrind suppression for bug 89300willchan@chromium.org2011-09-131-9/+0
| | | | | | | | | | | IOThread doesn't register URLRequestContextGetters anymore. Stacktrace is out of date. BUG=89300 TEST=none Review URL: http://codereview.chromium.org/7888005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100880 0039d316-1c4b-4281-b951-d872f2087c98
* Loosen the supression pattern for 89553.satorux@chromium.org2011-09-131-7/+0
| | | | | | | | | | | | | | | | | | The suppression pattern turned out to be too restrictive. The stack frame for _ZN3net22DnsReloaderMaybeReloadEv (net::DnsReloaderMaybeReload()) could be skipped depending on the optimization level. The leak from (anonymous namespace)::DnsReloader::MaybeReload() is intentional thus it leas no matter how it reaches there, hence the short pattern should be fine. TEST=the leak is suppressed. BUG=89553. Review URL: http://codereview.chromium.org/7876001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100868 0039d316-1c4b-4281-b951-d872f2087c98
* Remove suppression for URLFetcherTest.CancelAllwillchan@chromium.org2011-09-131-1/+0
| | | | | | | | | BUG=88221 TEST=none Review URL: http://codereview.chromium.org/7888001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100864 0039d316-1c4b-4281-b951-d872f2087c98
* Removing obsolete suppressionoshima@google.com2011-09-131-6/+0
| | | | | | | | | | TBR=tbarzic@chromium.org BUG=90212 TEST=none Review URL: http://codereview.chromium.org/7782043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100837 0039d316-1c4b-4281-b951-d872f2087c98
* Fix suppression to split out a generic suppression to 3 separate ones for 3 ↵chocobo@chromium.org2011-09-131-14/+48
| | | | | | | | | | different issues. BUG=16583,96367,96368,96369 TEST=None Review URL: http://codereview.chromium.org/7882002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100836 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Suppress leak in PasswordManagerDelegateImpl::AddSavePasswordInfoBar.thestig@chromium.org2011-09-131-0/+12
| | | | | | | | | BUG=96365 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7790030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100827 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind/Heapchecker: Suppress leaks Autofill Profile Sync.thestig@chromium.org2011-09-132-0/+104
| | | | | | | | | BUG=96363 TEST=none TBR=georgey Review URL: http://codereview.chromium.org/7882001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100825 0039d316-1c4b-4281-b951-d872f2087c98
* Data race on boolean in WebDataService::WebDataRequestdhollowa@chromium.org2011-09-131-7/+0
| | | | | | | | | | | | | Fix for data race in WebDataService::WebDataRequest::Cancel. Also removes the suppression. This was happening with very low frequency. Probably during shutdown. It appears to have been largely benign because the lock within WebDataService::CancelRequest would protect the important structures. This change adds a lock to the WebDataRequest::Cancel() operation and makes the query WebDataRequest::IsCancelled() atomic with respect to the consumer and the cancelled state. BUG=40244 TEST=Run TSAN on bots, see that they stay green. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=100757 Review URL: http://codereview.chromium.org/7870007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100822 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind Mac: Disable all FileSystemDirURLRequestJobTests.thestig@chromium.org2011-09-131-2/+1
| | | | | | | | | BUG=96298 TEST=Valgrind Mac unit_tests completes TBR=mark Review URL: http://codereview.chromium.org/7845035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100814 0039d316-1c4b-4281-b951-d872f2087c98
* Remove suppressions for WebKit memcheck errors fixed upstream.adamk@chromium.org2011-09-131-31/+0
| | | | | | | | | | | | | | | Left column is Chromium issue #, right column is WebKit fix: 63015: http://trac.webkit.org/changeset/74788 76490: http://trac.webkit.org/changeset/94869 84777: http://trac.webkit.org/changeset/94824 TBR=dglazkov@chromium.org BUG=63015,76490,84777 Review URL: http://codereview.chromium.org/7754028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100813 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the suppression for the issue 88863 b.satorux@chromium.org2011-09-121-8/+0
| | | | | | | | | | | | | | | | The leak from IPC::ChannelProxy no longer reproduces. FWIW, here's the command line to run the test in question locally under valgrind: % sh tools/valgrind/chrome_tests.sh --build_dir=out/Release -t ui --gtest_filter=AutomationProxyTest2.GetTabTitle TEST=build chrome for chrome os, run AutomationProxyTest2.GetTabTitle under valgrind, and confirm the leak does not reproduce BUG=88863 Review URL: http://codereview.chromium.org/7870015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100795 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind Mac: Disable another failing FileSystemDirURLRequestJobTest.thestig@chromium.org2011-09-121-0/+1
| | | | | | | | | BUG=96298 TEST=none TBR=mark Review URL: http://codereview.chromium.org/7845030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100793 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Suppress leaks in OptionsUITest.LoadOptionsByURL.thestig@chromium.org2011-09-121-0/+46
| | | | | | | | | BUG=96342 TEST=none TBR=csilv Review URL: http://codereview.chromium.org/7845028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100789 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all the experimental Traced Task code from remoting.ajwong@chromium.org2011-09-122-20/+0
| | | | | | | | | | | | This code is obsolete and never fully functioned anyways. Deleting. BUG=57373,65680,73744 TEST=valgrind Review URL: http://codereview.chromium.org/7780019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100788 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Disable several flaky AutomatedUITestBase tests.thestig@chromium.org2011-09-121-0/+8
| | | | | | | | | BUG=96312,96313 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7877001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100769 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100757 - Data race on boolean in WebDataService::WebDataRequestdmazzoni@chromium.org2011-09-121-0/+7
| | | | | | | | | | | | | | Fix for data race in WebDataService::WebDataRequest::Cancel. Also removes the suppression. This was happening with very low frequency. Probably during shutdown. It appears to have been largely benign because the lock within WebDataService::CancelRequest would protect the important structures. This change adds a lock to the WebDataRequest::Cancel() operation and makes the query WebDataRequest::IsCancelled() atomic with respect to the consumer and the cancelled state. BUG=40244 TEST=Run TSAN on bots, see that they stay green. Review URL: http://codereview.chromium.org/7870007 TBR=dhollowa@chromium.org Review URL: http://codereview.chromium.org/7879001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100759 0039d316-1c4b-4281-b951-d872f2087c98
* Data race on boolean in WebDataService::WebDataRequestdhollowa@chromium.org2011-09-121-7/+0
| | | | | | | | | | | Fix for data race in WebDataService::WebDataRequest::Cancel. Also removes the suppression. This was happening with very low frequency. Probably during shutdown. It appears to have been largely benign because the lock within WebDataService::CancelRequest would protect the important structures. This change adds a lock to the WebDataRequest::Cancel() operation and makes the query WebDataRequest::IsCancelled() atomic with respect to the consumer and the cancelled state. BUG=40244 TEST=Run TSAN on bots, see that they stay green. Review URL: http://codereview.chromium.org/7870007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100757 0039d316-1c4b-4281-b951-d872f2087c98
* Memory leak fix for suppression bug_52371_b. Removed supression bug_52371_a ↵zelidrag@chromium.org2011-09-121-18/+0
| | | | | | | | | | since the code path does not exist anymore. BUG=52371 TEST=none Review URL: http://codereview.chromium.org/7863021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100747 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the suppression for the issue 87997.satorux@chromium.org2011-09-121-12/+0
| | | | | | | | | | | The leak from IBusController was fixed in crrev.com/100723 TEST=the leak is now gone BUG=87997 Review URL: http://codereview.chromium.org/7748046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100745 0039d316-1c4b-4281-b951-d872f2087c98
* Remove stale valgrind suppression in CreateTCPClientSocket().asanka@chromium.org2011-09-121-11/+0
| | | | | | | | | | | DefaultClientSocketFactory::CreateTCPClientSocket() hasn't existed since 80781 where it was renamed to CreateTransportClientSocket(). BUG=22450 TEST=none Review URL: http://codereview.chromium.org/7872003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100744 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Suppress a leak in ComponentUpdaterTest.ProdVersionCheck.thestig@chromium.org2011-09-121-0/+7
| | | | | | | | | BUG=96295 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7867050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100741 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind Mac: Widen a suppression, disable a failing test, and add a new ↵thestig@chromium.org2011-09-122-28/+23
| | | | | | | | | | | suppression. BUG=53989,96298,96300 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7844015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100738 0039d316-1c4b-4281-b951-d872f2087c98
* Heapchecker: Suppress a leak in ComponentUpdater tests.thestig@chromium.org2011-09-121-0/+6
| | | | | | | | | BUG=96295 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7844011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100731 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a memory leak caused by IBusControllersatorux@chromium.org2011-09-121-7/+0
| | | | | | | | | | | | | | | | IBusController used to be a singleton, but this change lets IBusController be owned by InputMethodManager. FWIW, here's the command line to run a test in the browser_tests: % sh tools/valgrind/chrome_tests.sh --build_dir=out/Release -t browser --gtest_filter=ExtensionApiTest.InputMethodApiBasic BUG=chromium:86146 TEST=ran a browser test locally and the leak is gone after the change. Alos tested on the device to confirm that input methods worked as before. Review URL: http://codereview.chromium.org/7864023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100723 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable WorkerFileSystemTest.FileEntryToURISyncoshima@google.com2011-09-121-2/+0
| | | | | | | | | | | | this no longer reports leak. TBR=jochen@chromium.org BUG=90963 TEST=none Review URL: http://codereview.chromium.org/7844005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100717 0039d316-1c4b-4281-b951-d872f2087c98
* Remove heapcheck suppresion passing locally.dilmah@chromium.org2011-09-121-20/+0
| | | | | | | | | BUG=chromium:90381 TEST=local Review URL: http://codereview.chromium.org/7866038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100674 0039d316-1c4b-4281-b951-d872f2087c98
* Do not search for Valgrind binaries if a non-Valgrind tool (i.e. not ↵glider@chromium.org2011-09-121-13/+63
| | | | | | | | | | | "memcheck" or "tsan") is being ran. The script still defaults to Memcheck if the --tool option is omitted. TBR=timurrrr Review URL: http://codereview.chromium.org/7869006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100656 0039d316-1c4b-4281-b951-d872f2087c98
* Add valgrind suppressions for AlsaWrapper::DeviceNameHint().scherkus@chromium.org2011-09-111-0/+21
| | | | | | | | | | BUG=96207 TEST=valgrind media_unittests runs w/o error TBR=xians Review URL: http://codereview.chromium.org/7866035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100635 0039d316-1c4b-4281-b951-d872f2087c98
* IPC::MessageWithReply has been removed in r98491 - closing related suppressionsgroby@chromium.org2011-09-103-107/+0
| | | | | | | | | | BUG=57464,51218,57465,59670,68292,90376,80811,76354 TEST=none Review URL: http://codereview.chromium.org/7866012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100577 0039d316-1c4b-4281-b951-d872f2087c98
* Remove suppressions for the issue 90521.satorux@chromium.org2011-09-101-28/+0
| | | | | | | | | | | | | | Ran SearchProviderTest.TestIsSearchProviderInstalled and AutomatedUITestBase.IncognitoWindow in ui_tests locally with suppressions for 90521* deleted. The leaks did not reproduce. As linux_valgrind didn't run ui_tests, we need to check this in and cross fingers... BUG=90521 TEST=sh tools/valgrind/chrome_tests.sh --build_dir=out/Release -t ui --gtest_filter=AutomatedUITestBase.IncognitoWindow |& tee valgrind.out Review URL: http://codereview.chromium.org/7866008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100576 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete suppressionoshima@chromium.org2011-09-101-13/+0
| | | | | | | | | | | TBR=timurrrr@chromium.org BUG=78505 TEST=heapcheck stays green Review URL: http://codereview.chromium.org/7867021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100572 0039d316-1c4b-4281-b951-d872f2087c98
* Create a "no compile" drivers script in python to unittest compile time asserts.ajwong@chromium.org2011-09-101-0/+472
| | | | | | | | | BUG=87341 TEST=enable some of the existing no-compile tests and run on try bots. Review URL: http://codereview.chromium.org/7458012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100564 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanups for options_ui_uitest.cc.csilv@chromium.org2011-09-104-17/+0
| | | | | | | | | | | | * Minor changes to the implementation of LoadOptionsByURL to make it more reliable. * Remove extra UI tests that added little benefit vs cost in time and effort. * Removed Valgrind supressions related to the above tests. BUG=48521,60036,64619,83209 TEST=Green trybots and green valgrind runs. Review URL: http://codereview.chromium.org/7865011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100556 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100542 - Fix memory leak in sync notifier unit testsrlarocque@chromium.org2011-09-101-0/+31
| | | | | | | | | | | | | | | | | | | | | When XmppConnection is deleted, its TaskPump member is not deleted immediately. The destructor equeues a task to the message loop to have it deleted later. A comment in ~XmppConnection that explains why it does this. In the unit tests, the TaskPump would get leaked because the message loop would never get a chance to run that deletion task. This commit fixes the problem by running all pending tasks on that message loop before we exit the test. BUG=80238,79651 TEST=InvalidationNotifierTest Review URL: http://codereview.chromium.org/7863005 TBR=rlarocque@chromium.org Review URL: http://codereview.chromium.org/7867024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100551 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak in sync notifier unit testsrlarocque@chromium.org2011-09-101-31/+0
| | | | | | | | | | | | | | | | | | When XmppConnection is deleted, its TaskPump member is not deleted immediately. The destructor equeues a task to the message loop to have it deleted later. A comment in ~XmppConnection that explains why it does this. In the unit tests, the TaskPump would get leaked because the message loop would never get a chance to run that deletion task. This commit fixes the problem by running all pending tasks on that message loop before we exit the test. BUG=80238,79651 TEST=InvalidationNotifierTest Review URL: http://codereview.chromium.org/7863005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100542 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Suppress a couple sporadic leaks in the networking code.thestig@chromium.org2011-09-101-0/+29
| | | | | | | | | BUG=96101,96103 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7866023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100540 0039d316-1c4b-4281-b951-d872f2087c98
* Removing suppressions for bug 82716 which appears to be fixed. Suppression ↵bradchen@google.com2011-09-102-30/+0
| | | | | | | | | | | is no longer used in bots. There is no call to new from base::MessageLoopProxy::current BUG=82716 TEST=valgrind memcheck buildbots Review URL: http://codereview.chromium.org/7863020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100539 0039d316-1c4b-4281-b951-d872f2087c98
* Valgrind: Add another variant of the TaskClosureAdapter leak; Suppress a new ↵thestig@chromium.org2011-09-091-0/+20
| | | | | | | | | | | leak in net::HttpRequestHeaders::SetHeader. BUG=83609,96090 TEST=none TBR=jhawkins Review URL: http://codereview.chromium.org/7863015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100536 0039d316-1c4b-4281-b951-d872f2087c98
* Remove race suppression now that WebKit r94821 has been rolled in.levin@chromium.org2011-09-091-35/+0
| | | | | | | | | TEST=Thread sanitizer run. BUG=93708 Review URL: http://codereview.chromium.org/7865010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100523 0039d316-1c4b-4281-b951-d872f2087c98