summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Add custom field converter to JSONValueConverter.mukai@chromium.org2012-01-132-0/+85
| | | | | | | | | | | | | | | | In the real JSON results, sometimes string value does not literally mean a string, but labels (enum), URLs, or timestamps. Custom field accepts those string values and converting functions for such fields. See http://codereview.chromium.org/9147060 for the real use cases. BUG=109375 TEST=passed Review URL: http://codereview.chromium.org/9184002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117580 0039d316-1c4b-4281-b951-d872f2087c98
* Remove usage of using namespace, and cleanup trace_analyzer namespacejbates@chromium.org2012-01-123-169/+201
| | | | | | Review URL: http://codereview.chromium.org/9187015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117517 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Fixed call by value to by referencegroby@chromium.org2012-01-121-2/+2
| | | | | | | | | | | | CID=102901 BUG=none TEST=none Review URL: http://codereview.chromium.org/9148018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117360 0039d316-1c4b-4281-b951-d872f2087c98
* Allow construction and assignment of one scoped_ptr from another if the ↵ajwong@chromium.org2012-01-112-6/+95
| | | | | | | | | | | | | | | | | | | | | | types are convertible. This allows for depth subtyping during a move operation on a scoped_ptr. With the additional constructor and operator=, we maintain move semantics but allow a scoped_ptr<A> to be constructed from a scoped_ptr<B> if B can be converted to A. =DEFICIENCY= This conversion sequence will _not_ implicitly work when calling an API. Specifically, if you have void Func(scoped_ptr<Parent> p); scoped_ptr<Child> c; Func(c.Pass()); // COMPILE ERROR This is a limitation of C++03 move emulation. The workaround is Func(scoped_ptr<Parent>(c.Pass()); BUG=109026 TEST=new unittests Review URL: http://codereview.chromium.org/8968032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117317 0039d316-1c4b-4281-b951-d872f2087c98
* Functions to return locations of various Chrome bundles.jeremy@chromium.org2012-01-113-0/+151
| | | | | | | | | | TEST=None, code is currently not called. BUG=None Review URL: http://codereview.chromium.org/9147031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117293 0039d316-1c4b-4281-b951-d872f2087c98
* mach_port_deallocate() the result of mach_thread_self(), which obtains a ↵rsesek@chromium.org2012-01-113-22/+24
| | | | | | | | | | | port send right. BUG=105513 TEST=none Review URL: http://codereview.chromium.org/9169016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117127 0039d316-1c4b-4281-b951-d872f2087c98
* Resolve an ambiguous function call error in string_piece_unittest.ccpeter@chromium.org2012-01-101-3/+3
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/9167008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117050 0039d316-1c4b-4281-b951-d872f2087c98
* Add comment to NumberFormatWrapper.avi@chromium.org2012-01-101-1/+3
| | | | | | | | | | | As noted in readability review. BUG=none TEST=none Review URL: http://codereview.chromium.org/9117001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117049 0039d316-1c4b-4281-b951-d872f2087c98
* Fix POSIX and Mac Time::Explode().viettrungluu@chromium.org2012-01-103-14/+171
| | | | | | | | | | Also add a test for the case that failed. BUG=109437,109465 Review URL: http://codereview.chromium.org/9124016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116969 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 116816 - Hook up the SequencedWorkerPool to the browser thread.msw@chromium.org2012-01-072-53/+15
| | | | | | | | | | | | This does some refactoring of the static data in the browser thread so we only have one global object instead of a bunch fo separate arrays. It also hooks up the visited link master's I/O to use this new system as a proof of concept. Review URL: http://codereview.chromium.org/9065009 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/9122022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116817 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the SequencedWorkerPool to the browser thread.brettw@chromium.org2012-01-072-15/+53
| | | | | | | | | This does some refactoring of the static data in the browser thread so we only have one global object instead of a bunch fo separate arrays. It also hooks up the visited link master's I/O to use this new system as a proof of concept. Review URL: http://codereview.chromium.org/9065009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116816 0039d316-1c4b-4281-b951-d872f2087c98
* Remove task.h and finish base::Bind() migration.ajwong@chromium.org2012-01-0617-100/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Change over IgnoreReturn to IgnoreResult. remove IgnoreReturn.ajwong@chromium.org2012-01-061-12/+0
| | | | | | | | | BUG=98919 TEST=existing Review URL: http://codereview.chromium.org/9111032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116631 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent calling internal metrics code with invalid values.rkc@chromium.org2012-01-062-4/+19
| | | | | | | | | | | | | | | Currently we can call the internal metrics code in Chrome from the metrics extension with completely arbitrary values; some of which can cause the creation of invalid histograms which in turn can Chrome to crash. This CL sanitizes the inputs to the extension so that the histogram constructed is valid. Currently this is causing one crash due to code from http://codereview.chromium.org/8819013 This CL fixes the issue with the extension and fixes the crash. The issues with the JS code still needs to be fixed in another CL. R=jar@chromium.org BUG=chromium:24115 TEST=Tried the repro case for the crash several times to confirm that it isn't happening anymore. Review URL: http://codereview.chromium.org/9113002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116627 0039d316-1c4b-4281-b951-d872f2087c98
* Fix scoped_refptr assignment operator in the case of having it as a member.mnaganov@chromium.org2012-01-052-4/+33
| | | | | | | | | | | | If a class holds a reference to itself in scoped_refptr, assigning to it a new value leads to calling Release while in destructor. R=levin@chromium.org TEST=RefCountedUnitTest.ScopedRefPtrToSelf Review URL: http://codereview.chromium.org/9021020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116480 0039d316-1c4b-4281-b951-d872f2087c98
* Returns a bool for JSONValueConverter::Convert()mukai@chromium.org2012-01-052-29/+117
| | | | | | | | | | | | | | | | | As I see a real use scenario in chrome/browser/chromeos/gdata/ gdata_parser.cc, I realized that sometimes structural validity matters. It also introduce string16 whose code is almost equivalent to std::string. BUG=none TEST=passed Review URL: http://codereview.chromium.org/8952029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116473 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove Task.jhawkins@chromium.org2012-01-0514-445/+69
| | | | | | | | | | BUG=none TEST=none R=awong Review URL: http://codereview.chromium.org/9086002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116439 0039d316-1c4b-4281-b951-d872f2087c98
* Re-remove ReleasePointer.dcheng@chromium.org2012-01-041-5/+0
| | | | | | | | | | | This was accidentally reintroduced in r116250. BUG=none TEST=none Review URL: http://codereview.chromium.org/9008061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116367 0039d316-1c4b-4281-b951-d872f2087c98
* Fix prctl ERROR messages on Linux debug builds.rbyers@chromium.org2012-01-041-4/+5
| | | | | | | | | | | | In sandboxed processes, prctl(PR_SET_NAME) will fail with EPERM. Don't generate DLOGs for that case - just silently ignore failures like release builds do. This is just a debugging tool, working just in the browser process is good enough for now. BUG=109124 TEST= Review URL: http://codereview.chromium.org/9030023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116351 0039d316-1c4b-4281-b951-d872f2087c98
* Enable ThreadChecker in non-debug builds if DCHECK_ALWAYS_ON isjoi@chromium.org2012-01-043-15/+35
| | | | | | | | | | | | | defined. This brings thread checking to e.g. the *_rel trybots. BUG=108227 Review URL: http://codereview.chromium.org/9020008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116350 0039d316-1c4b-4281-b951-d872f2087c98
* Update Sleep() calls in base/test to use TimeDelta instead of int.tedvessenes@gmail.com2012-01-042-8/+10
| | | | | | | | | | | R=phajdan.jr@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9057001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116320 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove CancelableTask and ScopedTaskRunner.jhawkins@chromium.org2012-01-043-105/+2
| | | | | | | | | | BUG=none TEST=none R=groby Review URL: http://codereview.chromium.org/9071023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116269 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Try to minimize copying of string information when reading /proc data.erg@chromium.org2012-01-041-12/+12
| | | | | | | | | | BUG=108760 TEST=none Review URL: http://codereview.chromium.org/9071020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116254 0039d316-1c4b-4281-b951-d872f2087c98
* And now NewRunnableMethod(), you die.ajwong@chromium.org2012-01-046-320/+8
| | | | | | | | | | | 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
* chromeos: Implement power button animations for Aura.derat@chromium.org2012-01-041-2/+3
| | | | | | | | | | | | | | | This adds animated transitions first to the lock screen and then to shutdown similar to those currently implemented in the Chrome OS power manager and X window manager. I'll add support for the lock key in a later change. BUG=98328 TEST=added tests; also did a lot of manual testing TBR=evan@chromium.org Review URL: http://codereview.chromium.org/8976012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116245 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Fixed uninitialized membergroby@chromium.org2012-01-041-2/+3
| | | | | | | | | | | | CID=102873 BUG=none TEST=none Review URL: http://codereview.chromium.org/9016055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116237 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove ScopedRunnableMethodFactory.jhawkins@chromium.org2012-01-031-143/+1
| | | | | | | | | | BUG=none TEST=none R=groby,awong,csilv Review URL: http://codereview.chromium.org/9071001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116198 0039d316-1c4b-4281-b951-d872f2087c98
* Add TimeDelay interfaces to TestTimeouts.tedvessenes@gmail.com2012-01-031-1/+29
| | | | | | | | | | | R=brettw@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/8952022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116194 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove callback_old.h.jhawkins@chromium.org2012-01-034-278/+21
| | | | | | | | | | BUG=none TEST=none R=groby,awong,csilv Review URL: http://codereview.chromium.org/9028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116169 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove scoped_callback_factory.h.jhawkins@chromium.org2012-01-032-134/+0
| | | | | | | | | | BUG=none TEST=none R=groby Review URL: http://codereview.chromium.org/9032010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116148 0039d316-1c4b-4281-b951-d872f2087c98
* Remove DeleteTask and convert remaining users.dcheng@chromium.org2012-01-021-20/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/9015021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116107 0039d316-1c4b-4281-b951-d872f2087c98
* Add a sequenced worker pool.brettw@chromium.org2012-01-015-0/+1244
| | | | | | | This allows tasks to be put in the worker pool with optional sequencing semantics for consumers that must run a bunch of stuff in order on a background thread, but don't particularly care about which thread. Review URL: http://codereview.chromium.org/8416019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116078 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Remove NewRunnableFunction.jhawkins@chromium.org2012-01-016-187/+86
| | | | | | | | | | BUG=none TEST=none R=groby,ajwong Review URL: http://codereview.chromium.org/8960011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116072 0039d316-1c4b-4281-b951-d872f2087c98
* Change code in base (primarily unit tests) to use Sleep(TimeDelta).tedvessenes@gmail.com2011-12-3123-75/+86
| | | | | | | | | | 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
* Update Sleep() calls in metrics tests to use TimeDelta instead of int.tedvessenes@gmail.com2011-12-311-20/+20
| | | | | | | | | | | R=jar@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9056001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116064 0039d316-1c4b-4281-b951-d872f2087c98
* Convert various ReleaseSoon methods to use base::Bind()dcheng@chromium.org2011-12-306-42/+76
| | | | | | | | | | BUG=none TEST=none TBR=brettw,atwilson Review URL: http://codereview.chromium.org/9022034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116030 0039d316-1c4b-4281-b951-d872f2087c98
* Replace MessageLoop::DeleteSoon implementation with one that uses base::Bind.dcheng@chromium.org2011-12-305-3/+104
| | | | | | | | | | | | BUG=none TEST=none TBR=willchan,brettw,tony Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=115997 Review URL: http://codereview.chromium.org/9004051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116026 0039d316-1c4b-4281-b951-d872f2087c98
* Add function support for Sleep with TimeDelta input.tedvessenes@gmail.com2011-12-306-9/+76
| | | | | | | | | | | | | | | | | | This is the first step of fixing issue 108171 (converting calls of Sleep() to use TimeDelta instead of ints in milliseconds). I checked platform_thread_unittests.cc for any tests explicitly for Sleep but found none, so I didn't add any for this interface. There will be a bit more implementation juggling here once the Sleep(int ms) interface is removed, but that's coming in a later CL. BUG=108171 TEST= Review URL: http://codereview.chromium.org/8965072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116012 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 115997 - Replace MessageLoop::DeleteSoon implementation with one that ↵dcheng@chromium.org2011-12-295-104/+3
| | | | | | | | | | | | | | | uses base::Bind. BUG=none TEST=none TBR=willchan,brettw,tony Review URL: http://codereview.chromium.org/9004051 TBR=dcheng@chromium.org Review URL: http://codereview.chromium.org/9034029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115999 0039d316-1c4b-4281-b951-d872f2087c98
* GetPlatformFileInfo was always never returning directorycpu@chromium.org2011-12-292-2/+20
| | | | | | | | | | | - Because relational operators have higher precedence than bitwise operators BUG=none TEST=unittest included Review URL: http://codereview.chromium.org/9004052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115998 0039d316-1c4b-4281-b951-d872f2087c98
* Replace MessageLoop::DeleteSoon implementation with one that uses base::Bind.dcheng@chromium.org2011-12-295-3/+104
| | | | | | | | | | BUG=none TEST=none TBR=willchan,brettw,tony Review URL: http://codereview.chromium.org/9004051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115997 0039d316-1c4b-4281-b951-d872f2087c98
* Move net/base/sys_byteorder.h to base/sys_byteorder.hisherman@chromium.org2011-12-282-0/+76
| | | | | | | | | | | | | | Two motivations: (1) There are currently clients in src/crypto that need the same logic. (2) There is soon to be a client in src/chrome/common that needs the 64-bit version of this logic, which is currently inlined in a src/crypto implementation file. BUG=103480 TEST=compiles Review URL: http://codereview.chromium.org/8949026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115926 0039d316-1c4b-4281-b951-d872f2087c98
* CheckForNicePermission: Make sure can_reraise_priority is set in ctortbreisacher@chromium.org2011-12-221-3/+3
| | | | | | | | | | | CID=102592 BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/8989035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115631 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity fix NEGATIVE_RETURNS.scr@chromium.org2011-12-221-1/+4
| | | | | | | | | | | | CID=102629 R=mcgrathr@chromium.org, jar@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/9007018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115630 0039d316-1c4b-4281-b951-d872f2087c98
* Provide windows notification of thread terminationjar@chromium.org2011-12-222-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Relanding revert 114954 with fix to be compatible wit new re-linking strategy. Better care was needed in bracketing the callbacks that were used, to be sure the new linker left all items located together.] This code should only have much of an impact on the XP platform, where thread teardown notification are not currently made. Provide an automatic fallback scan of the linker list of notification callbacks via DllMain. This fallback is ONLY used if there are no notifications coming via the linker list. This allows all existing code to continue working as it does today, and provides thread teardown notification on XP even though we use the LoadLibrary call. It is a minimal change, suitable for pushing to other channels (beta? stable?). r=siggi bug=107974,103209 Review URL: http://codereview.chromium.org/9024015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115622 0039d316-1c4b-4281-b951-d872f2087c98
* Extract common code from StringPiece and StringPiece16 into a templated base ↵erikwright@chromium.org2011-12-226-524/+549
| | | | | | | | | | | | | | | | | class. Convert copy-and-pasted unit tests into TYPED_TESTs. The motivation is that I wish to add constructors for string::iterator ranges and I don't want to do it twice. The motivation for adding the string::iterator range constructors is to reduce the number of overloads in string_number_conversions.h . BUG=87634 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114242 Review URL: http://codereview.chromium.org/8659047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115616 0039d316-1c4b-4281-b951-d872f2087c98
* Redo r113722 - Add Pass(), which implements move semantics, to scoped_ptr, ↵ajwong@chromium.org2011-12-229-163/+640
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scoped_array.... -- This time for sure. -- Add Pass(), which implements move semantics, to scoped_ptr, scoped_array, and scoped_ptr_malloc. This modification to the scopers implements the "moveable but not copyable" semantics that were introduced in C++11's unique_ptr<>. With this, is now possible to use scopers as an argument type or a return type. This signifies, in the type system, transfer of ownership into a function or out of a function respectively. Calling, or returning such a function MUST use the temporary resulting from a function or explicit cast. This distinction makes it possible to avoid the implicit ownership transfer issues of auto_ptr, but still allow us to have compiler enforced ownership transfer. Also adds a Passed() helper that allows using a scoper with Bind(). Original Review URL: http://codereview.chromium.org/8774032 BUG=96118 TEST=new unittests Review URL: http://codereview.chromium.org/9018037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115607 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed CID 102675, uninitialized member varsgroby@chromium.org2011-12-223-4/+5
| | | | | | | | | | CID=102675, 102638 TEST=none Review URL: http://codereview.chromium.org/8965049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115579 0039d316-1c4b-4281-b951-d872f2087c98
* Add JSONValueConverter.mukai@chromium.org2011-12-225-0/+489
| | | | | | | | | | | | | | | | JSONValueConverter will convert a Value object (from JSON) into a C++ struct. All you will do is to register the mapping between field name and actual C++ field, then: JSONValueConverter<Message> converter; Message msg; converter.Convert(json, &msg); will scan json and fill fields in msg. See comments in .h and unittests.cc for examples. BUG=chromium-os:23508 TEST=passed Review URL: http://codereview.chromium.org/8774002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115562 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 115441 - Redo r113722 - Add Pass(), which implements move semantics, ↵jeremya@chromium.org2011-12-219-640/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to scoped_ptr, scoped_array.... (This undoes the revert in r114247. Win canaries still can't link, but this change has been deemed safe). Add Pass(), which implements move semantics, to scoped_ptr, scoped_array, and scoped_ptr_malloc. This modification to the scopers implements the "moveable but not copyable" semantics that were introduced in C++11's unique_ptr<>. With this, is now possible to use scopers as an argument type or a return type. This signifies, in the type system, transfer of ownership into a function or out of a function respectively. Calling, or returning such a function MUST use the temporary resulting from a function or explicit cast. This distinction makes it possible to avoid the implicit ownership transfer issues of auto_ptr, but still allow us to have compiler enforced ownership transfer. Also adds a Passed() helper that allows using a scoper with Bind(). BUG=96118 TEST=new unittests Review URL: http://codereview.chromium.org/9021032 TBR=ajwong@chromium.org Review URL: http://codereview.chromium.org/8949057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115444 0039d316-1c4b-4281-b951-d872f2087c98