summaryrefslogtreecommitdiffstats
path: root/jingle
Commit message (Collapse)AuthorAgeFilesLines
* Remove explicit keyword from multi-argument (w/o default values) constructorsdilmah@chromium.org2011-07-261-1/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7477008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94115 0039d316-1c4b-4281-b951-d872f2087c98
* Added an OriginBoundCertStore field to the SSLClientSocketNSS class andrkn@chromium.org2011-07-213-4/+13
| | | | | | | | | | | | did the plumbing to pass this field through the layers. In addition, this CL groups several fields together into a single struct |SSLClientSocket::Context|. BUG=None TEST=None Review URL: http://codereview.chromium.org/7315009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93416 0039d316-1c4b-4281-b951-d872f2087c98
* Fix stability issues with ThreadWrapperTest.sergeyu@chromium.org2011-07-141-33/+40
| | | | | | | | | BUG=86532 TEST=the test it not flaky anymore. Review URL: http://codereview.chromium.org/7327005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92470 0039d316-1c4b-4281-b951-d872f2087c98
* Roll new libjingle with asynchronous NetworkManager.sergeyu@chromium.org2011-07-132-14/+38
| | | | | | | | | BUG=84243 TEST=Unittests Review URL: http://codereview.chromium.org/7338003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92384 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the comments setting emands and vim tab width and expansion variables.tony@chromium.org2011-07-111-6/+0
| | | | | | | | | | | | | | | | | These were added in r28089 (http://codereview.chromium.org/256059) but are unnecessary bloat for everyone to carry around, even those that don't use emacs or vim. In an earlier change, I added editor config files in src/tools/emacs/ and src/tools/vim/ so users of the appropriate editor can source those instead. BUG=none TEST=none Review URL: http://codereview.chromium.org/7310019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92046 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure PseudoTcpAdapterTest.LossyChannel can properly handle packet loss ↵rsleevi@chromium.org2011-07-051-4/+18
| | | | | | | | | | | | when Connect()'ing BUG=88418 TEST=none Review URL: http://codereview.chromium.org/7307006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91514 0039d316-1c4b-4281-b951-d872f2087c98
* net: Build net.dll on Windows.rvargas@google.com2011-07-011-0/+1
| | | | | | | | BUG=76997 TEST=none Review URL: http://codereview.chromium.org/7281018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91360 0039d316-1c4b-4281-b951-d872f2087c98
* PseudoTcp to expose settings of nagling and ACK delayhclam@chromium.org2011-06-302-0/+28
| | | | | | | | | | | | | | | | Changes are as follows: 1. PseudoTcp to expose whether Nagle's algo is turned on. 2. PseudoTcp to expose setting of ACK delay. 3. JingleSession to disable Nagle's algo. 4. Set ACK delay to 10 milliseconds. 5. Unit tests for testing jingle session latency. BUG=None TEST=None Review URL: http://codereview.chromium.org/7275024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91057 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Simplify notifier code now that we have a single sync threadakalin@chromium.org2011-06-284-49/+26
| | | | | | | | | | | | | | | Notifiers used to be created on the UI thread but used on the sync thread. This made the thread-verification code more complicated. Make notifiers be created and used on the sync thread only. Use const string refs instead of (dangerously) calling c_str(). BUG=79174 TEST= Review URL: http://codereview.chromium.org/7134103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90855 0039d316-1c4b-4281-b951-d872f2087c98
* Warmth of a connection (cwnd) is estimated by the amount of data written to ↵gagansingh@google.com2011-06-277-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | the socket. Choosing the warmest connection would mean faster resource load times. idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=90373 Reverted: http://codereview.chromium.org/7255002 :( Have fixed 2 things since: 1. Removed LOG(ERROR) from http_basic_stream.cc that was causing layout tests to fail. 2. Initialized class variables in http_basic_stream.cc that was causing uninitialized memory bugs in valgrind: http://code.google.com/p/chromium/issues/detail?id=87423 Review URL: http://codereview.chromium.org/7251004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90601 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90373 - Warmth of a connection (cwnd) is estimated by the amount of ↵dimich@chromium.org2011-06-247-41/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | data written to the socket. Choosing the warmest connection would mean faster resource load times. Caused layout tests http/tests/loading/redirect-methods.html and http/tests/security/xss-DENIED-iframe-src-alias.html fail on deps WebKit bots, and caused http://code.google.com/p/chromium/issues/detail?id=87423 Deps bots failures: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20chromium.org&tests=http%2Ftests%2Floading%2Fredirect-methods.html%2Chttp%2Ftests%2Fsecurity%2Fxss-DENIED-iframe-src-alias.html idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Review URL: http://codereview.chromium.org/7189055 TBR=gagansingh@google.com Review URL: http://codereview.chromium.org/7255002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90389 0039d316-1c4b-4281-b951-d872f2087c98
* Warmth of a connection (cwnd) is estimated by the amount of data written to ↵gagansingh@google.com2011-06-247-1/+41
| | | | | | | | | | | | | | | | | | | the socket. Choosing the warmest connection would mean faster resource load times. idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Review URL: http://codereview.chromium.org/7189055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90373 0039d316-1c4b-4281-b951-d872f2087c98
* Fix JingleSession to respect net::StreamSocket Read/Write semantics.wez@chromium.org2011-06-241-26/+13
| | | | | | | | | | | | Remove some unnecessary state checks in PseudoTcpAdapter. BUG= TEST=Unit tests and Remoting components continue to work. Review URL: http://codereview.chromium.org/7104012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90334 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Add Stop() method to TaskPump and call it in XmppConnection destructorakalin@chromium.org2011-06-179-4/+136
| | | | | | | | | | | | | | XmppConnection doesn't destroy TaskPump immediately, but it must stop it from pumping tasks immediately. (See bug for details.) Add unittests for TaskPump. BUG=86567 TEST= Review URL: http://codereview.chromium.org/7205013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89571 0039d316-1c4b-4281-b951-d872f2087c98
* Mark ThreadWrapperTest.PostDelayed as DISABLED on Winakalin@chromium.org2011-06-171-1/+7
| | | | | | | | BUG=86532 TEST= TBR=sergeyu@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89503 0039d316-1c4b-4281-b951-d872f2087c98
* Add unit-tests for SingleRequestHostResolver.eroman@chromium.org2011-06-061-0/+1
| | | | | | | | | To facilitate this, moved it out of host_resolver.cc to its own set of files. BUG=84261 Review URL: http://codereview.chromium.org/6993015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88006 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to have chrome building with net.dllrvargas@google.com2011-06-031-0/+1
| | | | | | | | BUG=76997 TEST=none Review URL: http://codereview.chromium.org/7056049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87873 0039d316-1c4b-4281-b951-d872f2087c98
* Unbranch libjinglesergeyu@chromium.org2011-05-272-20/+17
| | | | | | | | | BUG=35195,76790 TEST=None Review URL: http://codereview.chromium.org/7077019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86954 0039d316-1c4b-4281-b951-d872f2087c98
* Correct unittest names.sergeyu@chromium.org2011-05-271-4/+4
| | | | | | | | | BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/7082003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86946 0039d316-1c4b-4281-b951-d872f2087c98
* Virtual destructors should have virtual keyword.hans@chromium.org2011-05-251-1/+1
| | | | | | | | | | | | | | | | | Make sure user-declared virtual destructors always have the virtual keyword. The Clang style-check plugin will check for this soon. No functionality change: virtual is only added to destructors that are already implicitly virtual. Also fix a couple of in-line destructor definitions. BUG=83408 TEST=none Review URL: http://codereview.chromium.org/7064033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86587 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash condition if caller deletes PseudoTcpAdaptor from within a callback.wez@chromium.org2011-05-253-177/+312
| | | | | | | | | | BUG=82171 TEST= Review URL: http://codereview.chromium.org/7040021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86570 0039d316-1c4b-4281-b951-d872f2087c98
* Final gyp patch to make use of the new cross-platform POSIX defines ↵tony@chromium.org2011-05-231-1/+1
| | | | | | | | toolkit_uses_gtk, os_posix, and use_x11. For lists of source files that use a mix of POSIX and Gtk APIs, toolkit_uses_gtk was given precedence. Solaris was made to use ALSA also, as libasound has been ported to FreeBSD and Solaris as a wrapper around the native OSS. Review URL: http://codereview.chromium.org/7055003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86352 0039d316-1c4b-4281-b951-d872f2087c98
* Globally replace <(library) with static_libraryevan@chromium.org2011-05-191-4/+4
| | | | | | | | | | | We provided <(library) as a variable to support a peculiar build configuration on Linux. We no longer support that build configuration, so we can simplify this code to no longer use a variable. Review URL: http://codereview.chromium.org/7051014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86004 0039d316-1c4b-4281-b951-d872f2087c98
* Use callback pointers as implicit "pending" indicators.wez@chromium.org2011-05-142-18/+16
| | | | | | | | | | | | Check that Read and Write are passed callbacks in DEBUG builds. BUG= TEST=Existing tests should continue to work unchanged. Review URL: http://codereview.chromium.org/7012014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85365 0039d316-1c4b-4281-b951-d872f2087c98
* Pass net_log parameter properly for ProxyResolvingClientSocketakalin@chromium.org2011-05-1310-37/+23
| | | | | | | | | | | | | Also initialize a few more fields in the session_params object. Remove unused net_log params. BUG=82365 TEST=Turn on sync, look in chrome://sync-internals for entries for talk.google.com Review URL: http://codereview.chromium.org/7014009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85235 0039d316-1c4b-4281-b951-d872f2087c98
* Miscelaneous cleanups to AddressList to make it harder to mis-use.eroman@chromium.org2011-05-122-3/+3
| | | | | | | | | | | | | | - Removed all destructive non-const member functions -- these were dangerous since if you called them without first making a copy of the AddressList, it could mutate earlier copies. - Made AddressList::Data::head const, so new code added to AddressList cannot inadvertently introduce such dangerous mutations (won't compile). - Moved the non-trivial constructors and assign methods into factory methods (for added readability) - Removed the bool parameter from Copy (for added readability). Review URL: http://codereview.chromium.org/6880302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85090 0039d316-1c4b-4281-b951-d872f2087c98
* iwyu: Include stringprintf.h where appropriate, part 3.jhawkins@chromium.org2011-05-122-4/+4
| | | | | | | | | | | BUG=82098 TEST=none R=csilv@chromium.org Review URL: http://codereview.chromium.org/7016011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85088 0039d316-1c4b-4281-b951-d872f2087c98
* Roll new libjingle. Use the new incoming_only flag in chromoting host.sergeyu@chromium.org2011-05-102-8/+8
| | | | | | | | | BUG=81597 TEST=Unittests. Review URL: http://codereview.chromium.org/6949010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84749 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ClientSocket to StreamSocket.sergeyu@chromium.org2011-05-0510-27/+27
| | | | | | | | | BUG=80895 TEST=Compiles Review URL: http://codereview.chromium.org/6930014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84167 0039d316-1c4b-4281-b951-d872f2087c98
* Remove StreamSocketAdapter.sergeyu@chromium.org2011-04-234-504/+0
| | | | | | | | | | | | PseudoTcpChannel is no longer used, so we don't need StreamSocketAdapter anymore. BUG=None TEST=compiles Review URL: http://codereview.chromium.org/6898032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82769 0039d316-1c4b-4281-b951-d872f2087c98
* Use PseudoTcpAdapter in Chromotingsergeyu@chromium.org2011-04-222-9/+18
| | | | | | | | | | | | This will also avoid the problem with running cricket::PseudoTcpChannel in sandbox on Windows. BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6880126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82690 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PseudoTCP adapter.sergeyu@chromium.org2011-04-224-0/+755
| | | | | | | | | | | | The new PseudoTcpAdapter will replace PseudoTcpChannel in remoting/protocol and will also be used for Pepper P2P APIs. BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6879119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82606 0039d316-1c4b-4281-b951-d872f2087c98
* Added GetLocalAddress() in net::ClientSocket.sergeyu@chromium.org2011-04-197-0/+20
| | | | | | | | | BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6840033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82190 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Fix race condition in P2PNotifier with sending notificationsakalin@chromium.org2011-04-1911-29/+191
| | | | | | | | | | | | | | | | | | | Store any notifications sent when not connected and send them on the next connect. This fixes a race condition in the sync integration tests exposed by the new syncer thread. Make sending of notifications not be blocked on successful subscription. Disable a failing test in jingle_unittests. BUG= TEST= Review URL: http://codereview.chromium.org/6881042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82140 0039d316-1c4b-4281-b951-d872f2087c98
* Changed the jingle network code in ChromeAsyncSocket to use the client ↵sanjeevr@chromium.org2011-04-1521-163/+799
| | | | | | | | | | socket pool. This also allows the connection to be able to tunnel through proxies. BUG=77430 TEST=Unit-tests, sync unit-tests, test Cloud Print and Sync behind procy servers. Review URL: http://codereview.chromium.org/6833031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81820 0039d316-1c4b-4281-b951-d872f2087c98
* [Jingle] Fix deref of begin() for empty vector in unit test.akalin@chromium.org2011-04-131-2/+2
| | | | | | | | | BUG=55427 TEST= Review URL: http://codereview.chromium.org/6837033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81488 0039d316-1c4b-4281-b951-d872f2087c98
* [Jingle] Fix jingle_unittests failuresakalin@chromium.org2011-04-131-1/+5
| | | | | | | | | BUG=55427 TEST= Review URL: http://codereview.chromium.org/6838026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81473 0039d316-1c4b-4281-b951-d872f2087c98
* Implement P2P Transport Dev using P2PTransportImpl.sergeyu@chromium.org2011-04-122-6/+16
| | | | | | | | | BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6823021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81331 0039d316-1c4b-4281-b951-d872f2087c98
* Changed jingle to use the IO thread from the passed in ↵sanjeevr@chromium.org2011-04-074-196/+214
| | | | | | | | | | URLRequestContextGetter for doing its I/O rather than creating its own worker thread. BUG=None TEST=Unit-tests, Cloud print notifications, sync notifications. Review URL: http://codereview.chromium.org/6793047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80853 0039d316-1c4b-4281-b951-d872f2087c98
* Rename a number of classes previously labeled "TCP" to "Transport" inmbelshe@chromium.org2011-04-074-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preparation for non-TCP transports. This helps because the alternative is to either use non-TCP protocols (like SCTP) in classes which are called "TCPClientSocketPool", or to clone the code as "SCTPClientSocketPool", both of which are less than ideal. For now, we're just testing transports, so the TransportSocketPool classes will determine a single type of transport and just use them. In the future we'll likely need to figure out how to deal with runtime selection of transports, and probably support use of multiple transports either within the same pools or within subpools. But that is for the future. Note that the histograms have some "tcp" references to them. I didn't change these to "transport" yet, because it will effect existing histograms. Renames include: classes: TCPClientSocketPool -> TransportClientSocketPool MockTCPClientSocketPool -> MockTransportClientSocketPool TCPSocketParams -> TransportSocketParams methods (not the exhaustive list): CreateTCPClientSocket() -> CreateTransportClientSocket() DoTCPConnect() -> DoTransportConnect() BUG=none TEST=none Review URL: http://codereview.chromium.org/6804028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80781 0039d316-1c4b-4281-b951-d872f2087c98
* Move sync notifier contruction out of syncer thread.nileshagrawal@chromium.org2011-04-074-30/+61
| | | | | | | | | | | | | Add thread safety checks to ensure that all the methods are called on the same thread. BUG= TEST= Review URL: http://codereview.chromium.org/6794005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80724 0039d316-1c4b-4281-b951-d872f2087c98
* P2P Transport implementation.sergeyu@chromium.org2011-04-066-18/+107
| | | | | | | | | TEST=Unittests. BUG=None Review URL: http://codereview.chromium.org/6791023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80717 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 80567 - P2P Transport implementation.TEST=Unittests.BUG=NoneReview ↵sergeyu@chromium.org2011-04-066-107/+18
| | | | | | | | | URL: http://codereview.chromium.org/6791023 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/6799003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80571 0039d316-1c4b-4281-b951-d872f2087c98
* P2P Transport implementation.sergeyu@chromium.org2011-04-066-18/+107
| | | | | | | | | TEST=Unittests. BUG=None Review URL: http://codereview.chromium.org/6791023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80567 0039d316-1c4b-4281-b951-d872f2087c98
* Add FakeSocketFactory.sergeyu@chromium.org2011-04-015-1/+400
| | | | | | | | | | | The new FakeSocketFactory will be used for P2P transport and remoting unittests. Also moved socket address conversion functions to the new jingle/glue/utils.h . BUG=None TEST=None Review URL: http://codereview.chromium.org/6670134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80242 0039d316-1c4b-4281-b951-d872f2087c98
* Don't check type of thread in socket adapters.sergeyu@chromium.org2011-04-014-14/+43
| | | | | | | | | BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6771033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80116 0039d316-1c4b-4281-b951-d872f2087c98
* Moved socket adapters from remoting/jingle_glue to jingle/glue.sergeyu@chromium.org2011-03-319-0/+884
| | | | | | | | | BUG=None TEST=compiles, unittests Review URL: http://codereview.chromium.org/6776003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79929 0039d316-1c4b-4281-b951-d872f2087c98
* Add JingleThreadWrapper.sergeyu@chromium.org2011-03-285-15/+431
| | | | | | | | | | | JingleThreadWrapper wraps chromium thread with a talk_base::Thread interface. BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6747017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79576 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-2818-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [Sync] Delete ServerNotifierThread and refactor InvalidationNotifierakalin@chromium.org2011-03-243-23/+7
| | | | | | | | | | | | | | | | Basically replace the InvalidationNotifier/ServerNotifierThread combo with InvalidationNotifier and NonBlockingInvalidationNotifier. Some minor cleanup in jingle files. This finishes steps 1 and 2 in the bug. BUG=76764 TEST= Review URL: http://codereview.chromium.org/6696051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79334 0039d316-1c4b-4281-b951-d872f2087c98