summaryrefslogtreecommitdiffstats
path: root/base/message_loop_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove task.h and finish base::Bind() migration.ajwong@chromium.org2012-01-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Over 341 CLs, in ~3 months, touching 3251 unique files! Top 5 most CLs: (121) jhawkins ( 45) dcheng ( 24) achuith ( 23) csilv ( 12) tfarina ( 12) groby ~1000 files touched: (918) jhawkins 100+ files touched: (486) ajwong (385) willchan (372) dcheng (126) csilv (123) fischman (112) sergeyu 49+ files touched: (65) tfarina (57) acolwell (52) adamk (49) tzik BUG=35223 TEST=existing Review URL: http://codereview.chromium.org/9114020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116748 0039d316-1c4b-4281-b951-d872f2087c98
* And now NewRunnableMethod(), you die.ajwong@chromium.org2012-01-041-39/+1
| | | | | | | | | | | Kill off NewRunnableMethod() and remove silly declarations of unused ScopedRunnableMethodFactory(s). BUG=none TEST=existing. Review URL: http://codereview.chromium.org/9034032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116250 0039d316-1c4b-4281-b951-d872f2087c98
* Change code in base (primarily unit tests) to use Sleep(TimeDelta).tedvessenes@gmail.com2011-12-311-19/+24
| | | | | | | | | | BUG=108171 TEST= Review URL: http://codereview.chromium.org/9055001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116065 0039d316-1c4b-4281-b951-d872f2087c98
* rename Run in MessageLoopForUI to RunWithDispatcheroshima@google.com2011-10-241-2/+2
| | | | | | | | | BUG=99471 TEST=none Review URL: http://codereview.chromium.org/8343023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106896 0039d316-1c4b-4281-b951-d872f2087c98
* net doesn't depend on libevent directly now.wtc@chromium.org2011-06-221-6/+3
| | | | | | | | | | | | | | | | Remove unnecessary forward declarations of struct event and inclusions of the event.h header. Use MessageLoopForIO::FileDescriptorWatcher and MessageLoopForIO::Watcher typedefs. R=mark@chromium.org,rvargas@chromium.org BUG=none TEST=no build errors Review URL: http://codereview.chromium.org/7232002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89995 0039d316-1c4b-4281-b951-d872f2087c98
* roll clang 131935:132017thakis@chromium.org2011-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang recently added a warning that warns when invoking 'delete' on a polymorphic non-final class without a virtual destructor. This finds real bugs – see the bug referenced below for a few examples. However, one common pattern where it fires is this case: class SomeInterface { public: virtual void interfaceMethod() {} // or = 0; protected: ~SomeInterface() {} } class WorkerClass : public SomeInterface { public: // many non-virtual functions, but also: virtual void interfaceMethod() override { /* do actual work */ } }; void f() { scoped_ptr<WorkerClass> c(new WorkerClass); // simplified example } (See the 2nd half of http://www.gotw.ca/publications/mill18.htm for an explanation of this pattern.) It is arguably correct to fire the warning here, since someone might make a subclass of WorkerClass and replace |new WorkerClass| with |new WorkerClassSubclass|. This would be broken since WorkerClass doesn't have a virtual destructor. The solution that the clang folks recommend is to mark WorkerClass as |final| (a c++0x keyword that clang supports as an extension in normal c++ mode – like override). But chrome's base/OWNERS deemed that as too complicated and we decided to make virtual the destructors of leaf classes that implement these interfaces and that are deleted dynamically. All of the changes in this CL are to shut up the warning, not because of real problems (I fixed these in separate CLs). (For the gtk files, this is necessary because the CHROMEGTK_CALLBACK_ macros add virtual functions.) BUG=84424 TEST=none Review URL: http://codereview.chromium.org/7087028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88270 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for base::Closure in the MessageLoop, and reimplement the whole ↵ajwong@chromium.org2011-04-201-571/+501
| | | | | | | | | | | sucker on top of base::Closure. After this, all Task objects that are posted will be wrapped in a closure prior to dispatch. BUG=35223 TEST=unittests. Review URL: http://codereview.chromium.org/6463013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82300 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* MessagePump implementations should call DoWork and DoDelayedWork at equalmark@chromium.org2011-02-171-0/+54
| | | | | | | | | | priority. BUG=72007 TEST=base_unittests --gtest_filter=MessageLoopTest.RecursiveDenial3 Review URL: http://codereview.chromium.org/6507017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75294 0039d316-1c4b-4281-b951-d872f2087c98
* Clang: enable -Wbool-conversions and -Wunused-variables on Linux.hans@chromium.org2011-01-141-4/+4
| | | | | | | | | | | | | | | -Wbool-conversion warns about EXPECT_EQ(false, blah), so replace that with EXPECT_FALSE(blah). Do the same with EXPECT_EQ(true, blah) for good measure (even though that doesn't generate warnings). Also remove the one instance of an unused variable. BUG=69421 TEST=buildbots all compile and all tests pass Review URL: http://codereview.chromium.org/6300001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71431 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Remove base/scoped_handle_win.h."tfarina@chromium.org2011-01-091-14/+16
| | | | | | | | | | | | | | | Fixed the problem with rlz library. Now should be fine to land this again. This reverts commit 3620d9501af7bff688862c54fdd60f7eb41797f3. Original Review URL: http://codereview.chromium.org/6126002/ BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6110005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Remove base/scoped_handle_win.h stub and fix up all callers to use ↵thakis@chromium.org2011-01-071-16/+14
| | | | | | | | | | the new location and namespace." This reverts r 70795, it broke the build. TBR=vandebo git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70802 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_handle_win.h stub and fix up all callers to use the new ↵tfarina@chromium.org2011-01-071-14/+16
| | | | | | | | | | | location and namespace. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6126002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70795 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Move platform_thread to base/threading and put in the base namespace. I left abrettw@chromium.org2010-12-311-1/+2
| | | | | | | | | | | stub and "using" declarations in the old location to avoid having to change the entire project at once. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6001010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70342 0039d316-1c4b-4281-b951-d872f2087c98
* Help make Base compile under NaClabarth@chromium.org2010-12-011-2/+2
| | | | | | | | | | This patch is a first attempt to get MessageLoop working inside NaCl. I suspect we'll need to do something more complicated at some point, but this version passes at least a few of the unit tests. Review URL: http://codereview.chromium.org/5435001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67832 0039d316-1c4b-4281-b951-d872f2087c98
* Moved the calls to the MessageLoop destruction observers to after the ↵sanjeevr@chromium.org2010-11-301-0/+64
| | | | | | | | | | | | pending tasks are deleted. BUG=None TEST=Unit-test provided, tests should pass and all hell should not break loose. Review URL: http://codereview.chromium.org/5318003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67623 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-011-4/+4
| | | | | | | | | | | 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
* Added task to Observer methodsdavemoore@chromium.org2010-10-261-2/+4
| | | | | | | | | | | | | By adding the task to the observer methods and GetBirthPlace() to Tracked it makes it possible to register an observer that can print more information about the tasks as they are being processed. BUG=NONE TEST=MessageLoopTest.* Review URL: http://codereview.chromium.org/4081003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63983 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r62959 without the changes to histogram.cc, in hopes it won't break ↵pkasting@chromium.org2010-10-191-3/+3
| | | | | | | | | | | | | | | | | | tab_switching_test, and without the changes to tools_sanity_unittest.cc, which have already been relanded separately. TBR=timsteele Original changelog message: Convert LOG(INFO) to VLOG(1) - base/. Also removes an "else" after "return" and aligns "<<" per style guide. BUG=none TEST=none Review URL: http://codereview.chromium.org/3850007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63009 0039d316-1c4b-4281-b951-d872f2087c98
* ** Think this may have caused TabSwitchingTest to fail, as it is parsing log ↵tim@chromium.org2010-10-181-3/+3
| | | | | | | | | | | | | | | | | files. ** Revert 62959 - Convert LOG(INFO) to VLOG(1) - base/. Also removes an "else" after "return" and aligns "<<" per style guide. BUG=none TEST=none Review URL: http://codereview.chromium.org/3845002 TBR=pkasting@chromium.org Review URL: http://codereview.chromium.org/3850006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62981 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - base/.pkasting@chromium.org2010-10-181-3/+3
| | | | | | | | | | Also removes an "else" after "return" and aligns "<<" per style guide. BUG=none TEST=none Review URL: http://codereview.chromium.org/3845002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62959 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
* 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
* Change chrome from statically enabling high resolution timers on windowsmbelshe@chromium.org2010-06-291-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to enabling them dynamically - only when the application really needs them. I am working on some test cases for this, and will add them. But wanted to send out the concept for review. In this implementation, I modify the message loop to detect when the application has requested high resolution timers. Note that there are multiple MessageLoops active in a single process. After a period of time, we simply shut it off again. We could have set a timer or kept a count of active timers, or any number of more complex algorithms. But I think this algorithm is very simple and good enough. If an application continues needing high resolution timers for more than 1s, we'll turn the high-resolution timers back on again. One last change - since we've implemented the clamp at 4ms, there isn't a lot of point to our use of 1ms for timeBeginPeriod. I've modified that to 2 (which is half of 4ms, our target minimal interval). BUG=46531 TEST=MessageLoop.HighResolutionTimers Review URL: http://codereview.chromium.org/2822035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51102 0039d316-1c4b-4281-b951-d872f2087c98
* Clang: Do not ignore result of HANDLE_EINTR.thakis@chromium.org2010-06-231-4/+8
| | | | | | Review URL: http://codereview.chromium.org/2805026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50556 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49982 - patchthakis@chromium.org2010-06-161-8/+4
| | | | | | | TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/2825006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50002 0039d316-1c4b-4281-b951-d872f2087c98
* patchthakis@chromium.org2010-06-161-4/+8
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49982 0039d316-1c4b-4281-b951-d872f2087c98
* TTF: Re-Re-enable MessageLoopTest.FileDescriptorWatcherOutlivesMessageLoop asjhawkins@chromium.org2010-06-111-4/+1
| | | | | | | | | | | it was inappropriately disabled due to Valgrind errors. BUG=none TEST=none Review URL: http://codereview.chromium.org/2780007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49474 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r49188.willchan@chromium.org2010-06-091-8/+73
| | | | | | | | It was reverted due to breaking a valgrind test which has since been disabled. Review URL: http://codereview.chromium.org/2763004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49320 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 48102 - this test is now failing again, apparently since r49188 ↵joth@chromium.org2010-06-091-1/+2
| | | | | | | | | | | | | | | | | | | | landed. As it is not clear this test was enabled due to the functionality it test being required (indeed, the comment still states it is not), disabling it again to get the tree open. Original description from reverted change r48102: TTF: Re-enable the FileDescriptorWatcherOutlivesMessageLoop test as it now appears to be passing. BUG=none TEST=MessageLoopTest.FileDescriptorWatcherOutlivesMessageLoop Patch by Doug Muir <dmuir@google.com>. Review URL: http://codereview.chromium.org/2077014 TBR=jhawkins@chromium.org Review URL: http://codereview.chromium.org/2789002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49241 0039d316-1c4b-4281-b951-d872f2087c98
* Rebaseline tests whose expectations were changed by r55714.hamaji@chromium.org2010-06-091-73/+8
| | | | | | | | | | | | The patch removed extra paddings inside buttons. http://trac.webkit.org/changeset/55714 BUG=1437 TEST=none Review URL: http://codereview.chromium.org/789003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49225 0039d316-1c4b-4281-b951-d872f2087c98
* Jankometer: Generalize the code more. Add better support for monitoring IO ↵willchan@chromium.org2010-06-081-8/+73
| | | | | | | | | | | | | thread. Previously, the Jankometer only monitored windows messages on the UI thread (or gtk events). I've added observers for tasks and IO events. This lets us monitor all events on UI & IO threads (UI messages, all Tasks, and IO events). Replaces the JankObserver with a UIJankObserver and an IOJankObserver. Shares common code in JankObserverHelper. The JankObserverHelper and JankWatchdog are generic enough that they can probably move out to chrome/common and be reused by the renderer. Review URL: http://codereview.chromium.org/2098020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49188 0039d316-1c4b-4281-b951-d872f2087c98
* TTF: Re-enable MessageLoopTest.EnsureTaskDeletion* by marking them as failing.jhawkins@chromium.org2010-05-251-3/+6
| | | | | | | | TBR=stuartmorgan BUG=none TEST=MessageLoopTest.EnsureTaskDeletion* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48184 0039d316-1c4b-4281-b951-d872f2087c98
* TTF: Re-enable the FileDescriptorWatcherOutlivesMessageLoop test as it now ↵jhawkins@chromium.org2010-05-241-2/+1
| | | | | | | | | | | | | | | appears to be passing. BUG=none TEST=MessageLoopTest.FileDescriptorWatcherOutlivesMessageLoop Patch by Doug Muir <dmuir@google.com>. Review URL: http://codereview.chromium.org/2077014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48102 0039d316-1c4b-4281-b951-d872f2087c98
* Disable MessageLoopTest.RecursiveDenial2 since it is flaky and hangs.maruel@chromium.org2010-05-191-1/+2
| | | | | | | | | TEST=disabled BUG=44567 Review URL: http://codereview.chromium.org/2095013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47662 0039d316-1c4b-4281-b951-d872f2087c98
* Replace #if 0 used to disable test, the DISABLED_ and FLAKY_phajdan.jr@chromium.org2010-05-081-4/+2
| | | | | | | | | | | prefixes, so the code doesn't rot. TEST=none BUG=none Review URL: http://codereview.chromium.org/2035009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46782 0039d316-1c4b-4281-b951-d872f2087c98
* Support dragging a virtual file out of the browser.jianli@chromium.org2010-01-151-1/+42
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/351029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36378 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to base/ from a combination of FreeBSD and OpenBSD patches.evan@chromium.org2009-12-291-1/+1
| | | | | | Review URL: http://codereview.chromium.org/495002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35321 0039d316-1c4b-4281-b951-d872f2087c98
* First patch in making destructors of refcounted objects private.jam@chromium.org2009-11-051-0/+9
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/360042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31136 0039d316-1c4b-4281-b951-d872f2087c98
* Allow work that was deferred on account of not being runnable in a nested loopmark@chromium.org2009-06-251-16/+54
| | | | | | | | | | to be processed when returning to an outer loop. BUG=11470 13442 13468 TEST=base_unittests, test cases in bugs Review URL: http://codereview.chromium.org/146006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19272 0039d316-1c4b-4281-b951-d872f2087c98
* StopWatchingFileDescriptor needs to free struct event.dkegel@google.com2009-04-221-0/+75
| | | | | | | | | | | Also, there's no point in using scoped_ptr for event_ anymore, so removed that. Should fix http://crbug.com/10503 "Crash in network layer" Review URL: http://codereview.chromium.org/87045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14233 0039d316-1c4b-4281-b951-d872f2087c98
* Switch MessagePumpForIO to use completion ports on Windows.rvargas@google.com2008-11-071-99/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup the separation between MessagePumpForUI and MessagePumpForIO, and convert the latter to use Completion Ports instead of MsgWaitForMultipleobjects to sleep when idle. Remove all traces of Windows messages from MessagePumpForIO, remove the transitional API of completion port notifications and remove WatchObject API. Modify all callers of RegisterIOHandler so that they are no longer using RegisterIOContext, and also handle properly the new semantics of completion ports (notifications even when the IO completes immediately). Add a new interface to allow proper cleanup of disk cache (to replace code that was waiting for pending APCs from the destructor). Add a way for the message pump to perform cleanup of abandoned IO. BUG=B/1344358, 3497, 3630 TESt=unit tests R=darin Review URL: http://codereview.chromium.org/8156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5021 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+2
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Add a way to register for completion-ports based async operations to be handledrvargas@google.com2008-10-091-7/+108
| | | | | | | | | | | through the windows version of the message pump. As a first step, actual IO processing is still performed using WatchObject instead of using completion ports. Review URL: http://codereview.chromium.org/1950 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3157 0039d316-1c4b-4281-b951-d872f2087c98
* fix oopsdarin@chromium.org2008-09-231-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2510 0039d316-1c4b-4281-b951-d872f2087c98
* Always use the topmost delayed task as the basis for our WM_TIMER.darin@chromium.org2008-09-231-0/+112
| | | | | | | | | R=jar BUG=2559 Review URL: http://codereview.chromium.org/4041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2509 0039d316-1c4b-4281-b951-d872f2087c98
* disable tests that are not ready to be enabled yetdarin@chromium.org2008-09-101-0/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1961 0039d316-1c4b-4281-b951-d872f2087c98
* Put back r1891 with some task deletion disabled to maintain backwards compat ↵darin@chromium.org2008-09-101-0/+58
| | | | | | | | | | and thereby avoid unexpected crashes. r=jar Review URL: http://codereview.chromium.org/1664 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1959 0039d316-1c4b-4281-b951-d872f2087c98
* rollback r1891darin@google.com2008-09-091-58/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1892 0039d316-1c4b-4281-b951-d872f2087c98