summaryrefslogtreecommitdiffstats
path: root/net/websockets
Commit message (Collapse)AuthorAgeFilesLines
* Make TransportSecurityState not ref-counted for simplicity.phajdan.jr@chromium.org2011-09-271-5/+5
| | | | | | | | BUG=none Review URL: http://codereview.chromium.org/8054001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103012 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash bug at net::WebSocketJob::OnSentData.ukai@chromium.org2011-09-201-2/+5
| | | | | | | | | | | | | | | | | According to crash dump, I suspect it is crashed at current_buffer_->DidConsume() where current_buffer_ is NULL. If current_buffer_ is NULL, WebSocketJob doesn't think there are writing data and nothing to do, so this CL changes to just return from net::WebSocketJob::OnSentData in this case. Also checks if amount_sent is negative or zero and return if it is so. BUG=91591 TEST=none Review URL: http://codereview.chromium.org/7923004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101942 0039d316-1c4b-4281-b951-d872f2087c98
* Rename NET_API to NET_EXPORT, and rename NET_TEST to NET_EXPORT_PRIVATE.darin@chromium.org2011-08-125-9/+9
| | | | | | Review URL: http://codereview.chromium.org/7529043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96560 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket: Remove obsolete experiments related filestoyoshim@chromium.org2011-08-039-2256/+0
| | | | | | | | | BUG=91489 TEST=NONE Review URL: http://codereview.chromium.org/7567001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95232 0039d316-1c4b-4281-b951-d872f2087c98
* Remove DCHECK(!headers_.empty()) in WebSocketHandshakeResponseHandlerukai@chromium.org2011-08-031-6/+7
| | | | | | | | | | | headers_ might be empty for wrong response from server. BUG=none TEST=none Review URL: http://codereview.chromium.org/7564002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95210 0039d316-1c4b-4281-b951-d872f2087c98
* Apply the asynchronous CookieMonster API to WebsocketJob.ycxiao@chromium.org2011-08-013-39/+104
| | | | | | | | | BUG=68657 TEST=XXXX Review URL: http://codereview.chromium.org/7278026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94937 0039d316-1c4b-4281-b951-d872f2087c98
* Use ScopedRunnableMethodFactory in WebSocketJobukai@chromium.org2011-07-222-5/+13
| | | | | | | | | | | Don't post SendPending if it is already posted. BUG=89795 TEST=none Review URL: http://codereview.chromium.org/7488007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93599 0039d316-1c4b-4281-b951-d872f2087c98
* Check socket_ is not NULL.ukai@chromium.org2011-07-221-1/+5
| | | | | | | | | | | Also, if state_ is already CLOSED, Close() does nothing. BUG=89795 TEST=none Review URL: http://codereview.chromium.org/7488002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93556 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce a new connection test which verify WebSocket and SPDY connection ↵toyoshim@chromium.org2011-07-222-12/+107
| | | | | | | | | | | sequence after throttling work. BUG=NONE TEST=net_unittest --gtest_filter=WebSocketJobTest.Throttling\* Review URL: http://codereview.chromium.org/7331007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93555 0039d316-1c4b-4281-b951-d872f2087c98
* base: Put md5.* into base namespace.tfarina@chromium.org2011-07-182-6/+6
| | | | | | | | | | | BUG=89274 TEST=None R=evan@chromium.org Review URL: http://codereview.chromium.org/7395021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92861 0039d316-1c4b-4281-b951-d872f2087c98
* Define an asynchronous API for CookieStore.ycxiao@chromium.org2011-07-121-1/+30
| | | | | | | | | BUG=68657 TEST=xxxx Review URL: http://codereview.chromium.org/7155026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92150 0039d316-1c4b-4281-b951-d872f2087c98
* Add WebSocket over SPDY experimental implementation.toyoshim@chromium.org2011-07-113-62/+362
| | | | | | | | | | | | | | | | (Re-land with memory leak fix) - Realize WebSocketJob's internal protocol switch to SPDY using SpdyWebSocketStream - Add simple test to verify connection over SPDY BUG=42320 TEST=net_unittests --gtest_filter=WebSocketJobTest\* Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=91997 Review URL: http://codereview.chromium.org/7185032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92017 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91997 - Add WebSocket over SPDY experimental implementation.toyoshim@chromium.org2011-07-113-361/+60
| | | | | | | | | | | | | | | - Realize WebSocketJob's internal protocol switch to SPDY using SpdyWebSocketStream - Add simple test to verify connection over SPDY BUG=42320 TEST=net_unittests --gtest_filter=WebSocketJobTest\* Review URL: http://codereview.chromium.org/7185032 TBR=toyoshim@chromium.org Review URL: http://codereview.chromium.org/7333006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92003 0039d316-1c4b-4281-b951-d872f2087c98
* Add WebSocket over SPDY experimental implementation.toyoshim@chromium.org2011-07-113-60/+361
| | | | | | | | | | | | - Realize WebSocketJob's internal protocol switch to SPDY using SpdyWebSocketStream - Add simple test to verify connection over SPDY BUG=42320 TEST=net_unittests --gtest_filter=WebSocketJobTest\* Review URL: http://codereview.chromium.org/7185032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91997 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket: Add connection test on WebSocketJobTesttoyoshim@chromium.org2011-07-061-47/+233
| | | | | | | | | | | | | - Move local test utility classes into anonymous namespace. - Add new connection test. BUG=NONE TEST=net_unittests --gtest_filter=WebSocketJobTest\* Review URL: http://codereview.chromium.org/7193035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91550 0039d316-1c4b-4281-b951-d872f2087c98
* Do tests in both spdy enabled and disabled configurations.toyoshim@chromium.org2011-07-041-17/+84
| | | | | | | | | BUG=42320 TEST=net_unittests --gtest_filter=WebSocketJobTest\* Review URL: http://codereview.chromium.org/7292032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91463 0039d316-1c4b-4281-b951-d872f2087c98
* GCC 4.6 -Wunused-but-set-variable cleanup.pph34r@gmail.com2011-07-021-3/+1
| | | | | | | | | | BUG=87490 TEST=net_unittests Review URL: http://codereview.chromium.org/7261018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91424 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket unit test style fix on static const char kFooBar[]toyoshim@chromium.org2011-06-272-58/+75
| | | | | | | | | BUG=none TEST=net_unittests Review URL: http://codereview.chromium.org/7235022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90559 0039d316-1c4b-4281-b951-d872f2087c98
* Header file which defines unit test's target class should be included at first.toyoshim@chromium.org2011-06-248-8/+16
| | | | | | | | | BUG=87363 TEST=net_unittests Review URL: http://codereview.chromium.org/7201024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90340 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Pass parameters by reference.jhawkins@chromium.org2011-06-221-2/+4
| | | | | | | | | | | | CID=8725,14376,15499,15540,15655,16687,16688 BUG=none TEST=none R=kmadhusu@chromium.org Review URL: http://codereview.chromium.org/7211037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89976 0039d316-1c4b-4281-b951-d872f2087c98
* Unit tests for WebSocket uses old callback mechanisms.toyoshim@chromium.org2011-06-171-31/+24
| | | | | | | | | | | | This change make them migrate from old one to new undified callback system. BUG=86297 TEST=net_unittests Review URL: http://codereview.chromium.org/7193004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89488 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket over SPDY: protocol switchtoyoshim@chromium.org2011-06-164-23/+91
| | | | | | | | | | | | | This change enable to switch protocol from WebSocket to SPDY. SpdyWebsocketStream class is not included, then SPDY connection always fail now. BUG=42320 TEST=net_unittests --gtest_filter=WebSocket\* Review URL: http://codereview.chromium.org/7062043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89318 0039d316-1c4b-4281-b951-d872f2087c98
* Add invalid data send check on CONNECTING statetoyoshim@chromium.org2011-06-023-168/+130
| | | | | | | | | | | | | | Handshake data should be sent at once. WebSocketJob should reject any other subsequent data sending until the handshake is done and connection is opened. BUG=84422 TEST=net_unittest --gtest_filter=WebSocket\* Review URL: http://codereview.chromium.org/7075027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87597 0039d316-1c4b-4281-b951-d872f2087c98
* Fix RandUint32 to be uniform.joi@chromium.org2011-05-301-4/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7080011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87245 0039d316-1c4b-4281-b951-d872f2087c98
* Add a websocket-over-spdy flag. This change is a part of WebSocket over SPDYtoyoshim@chromium.org2011-05-262-0/+13
| | | | | | | | | | | support in progress. BUG=42320 TEST=N/A Review URL: http://codereview.chromium.org/7047003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86812 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add NET_API to websockets.rvargas@google.com2011-05-208-13/+21
| | | | | | | | BUG=76997 TEST=none Review URL: http://codereview.chromium.org/7046017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86123 0039d316-1c4b-4281-b951-d872f2087c98
* MAC Cookies (patch 3 of N)abarth@chromium.org2011-05-121-0/+6
| | | | | | | | | | Prepare the cookie monster for MAC cookies. According to the perftests in this patch, the change to the cookie monster has a small but measurable effect (83.963ms => 88.299ms). Review URL: http://codereview.chromium.org/6901147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85200 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of net::CookiePolicy, now that all code that uses it (except ↵jam@chromium.org2011-05-123-75/+29
| | | | | | | | | WebSocketJob, which appears to be unused and which I updated in this cl) is switched over to use ContentBrowserClient. BUG=76793 Review URL: http://codereview.chromium.org/6973011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85136 0039d316-1c4b-4281-b951-d872f2087c98
* Miscelaneous cleanups to AddressList to make it harder to mis-use.eroman@chromium.org2011-05-122-2/+2
| | | | | | | | | | | | | | - 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
* Accept new WebSocket handshake format (hybi-04 and later).yutak@chromium.org2011-05-064-57/+553
| | | | | | | | | | | | | | | To update WebSocket protocol implementation in WebKit, WebSocketRequestHandshakeHandler and WebSocketResponseHandler need to be able to understand both old handshake (hybi-03 and prior, including hixie-76) and new handshake (hybi-04 and later). BUG=64470 TEST=net_unittests --gtest_filter="WebSocketHandshake*HandlerTest.*" Review URL: http://codereview.chromium.org/6823075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84427 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor to address URLRequestContext dependency added incevans@chromium.org2011-05-051-2/+4
| | | | | | | | | http://codereview.chromium.org/6873029/ BUG=81009 Review URL: http://codereview.chromium.org/6930040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84325 0039d316-1c4b-4281-b951-d872f2087c98
* Fix net/ command-line pollution introduced in ↵cevans@chromium.org2011-05-021-1/+1
| | | | | | | | | | http://codereview.chromium.org/6869043/ BUG=81042 TEST=TransportSecurityStateTest.ForcePreloads Review URL: http://codereview.chromium.org/6883294 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83807 0039d316-1c4b-4281-b951-d872f2087c98
* Apply HSTS rules to also upgrade ws:// -> wss:// if appropriate. This avoidscevans@chromium.org2011-04-191-0/+26
| | | | | | | | | | a minor issue whereby failure to set a cookie "Secure" can get leaked via a WebSocket when http itself is mitiagted. TEST=WebSocketJobTest.HSTSUpgrade Review URL: http://codereview.chromium.org/6873029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82069 0039d316-1c4b-4281-b951-d872f2087c98
* Add websocket ownersukai@chromium.org2011-04-131-0/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6837012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81407 0039d316-1c4b-4281-b951-d872f2087c98
* Remove async functionality from net::CookiePolicy.willchan@chromium.org2011-04-063-64/+20
| | | | | | | | | | | | This lets us stop refcounting URLRequestHttpJob. BUG=none TEST=none Review URL: http://codereview.chromium.org/6749044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80660 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-2813-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Change other usages of .size() to .empty() when applicable.erg@google.com2011-03-042-12/+12
| | | | | | | | | BUG=carnitas TEST=compiles Review URL: http://codereview.chromium.org/6609008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76962 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r74842willchan@chromium.org2011-02-161-2/+2
| | | | | | | | | | | Merged correctly this time. BUG=none TEST=none Review URL: http://codereview.chromium.org/6523067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75165 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 75143 - Reland r74842willchan@chromium.org2011-02-161-2/+2
| | | | | | | | | | | | | | The bug was that the ProfilePolicyContext was getting initialized before the ProfileImplIOData::Handle was initialized. BUG=67237 TEST=none Review URL: http://codereview.chromium.org/6526029 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/6480120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75152 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r74842willchan@chromium.org2011-02-161-2/+2
| | | | | | | | | | | The bug was that the ProfilePolicyContext was getting initialized before the ProfileImplIOData::Handle was initialized. BUG=67237 TEST=none Review URL: http://codereview.chromium.org/6526029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75143 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 74842 - It seems to have broken the ChromeOS "PFQ bot"?willchan@chromium.org2011-02-141-2/+2
| | | | | | | | | | | | | | | | r74561 added a DCHECK to make sure users didn't try to access the ChromeURLRequestContextGetter from the Profile, since the Profile should only be read on the UI thread. ChromeOS apparently tried to access it from another thread, and therefore hit the new DCHECK. I'm relanding without the DCHECK. I'm also eagerly initializing the off the record context getter to prevent the ChromeOS race. ChromeOS should fix that code so the eager initialization isn't necessary. BUG=none TEST=none Review URL: http://codereview.chromium.org/6484041 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/6517021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74848 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r74728 which reverted r74561 for exposing a ChromeOS bug.willchan@chromium.org2011-02-141-2/+2
| | | | | | | | | | | | | r74561 added a DCHECK to make sure users didn't try to access the ChromeURLRequestContextGetter from the Profile, since the Profile should only be read on the UI thread. ChromeOS apparently tried to access it from another thread, and therefore hit the new DCHECK. I'm relanding without the DCHECK. I'm also eagerly initializing the off the record context getter to prevent the ChromeOS race. ChromeOS should fix that code so the eager initialization isn't necessary. BUG=none TEST=none Review URL: http://codereview.chromium.org/6484041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74842 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r74632 "Reland r74561 after fixing ChromeOS build breakage."oshima@google.com2011-02-121-2/+2
| | | | | | | | | | | | This reverts commit f19e6d524e086ed8182a475680e931a9a870d2a8. TBR=willchan@chromium.org BUG=none TEST=chromeos pfq bot should cycle green Review URL: http://codereview.chromium.org/6512009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74728 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r74561 after fixing ChromeOS build breakage.willchan@chromium.org2011-02-111-2/+2
| | | | | | | | | | | | | | | | | Introduce OffTheRecordProfileIOData and ProfileImplIOData. They both inherit from ProfileIOData. The former is for the off the record (incognito) profile. The latter is for the normal ProfileImpl profile. All of the IO related Profile objects are now initialized at the same time, in the subtype implementations of ProfileIOData::LazyInitializeInternal(). I also took this opportunity to clean URLRequestContext up so it is a class and keeps its member variables private. This required touching a fair number of files. TODO: Remove lots of the refcounting of member variables, since they can now be owned by ProfileIOData. BUG=67237 TEST=none Review URL: http://codereview.chromium.org/6500002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74632 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 74561 for breaking the ChromeOS buildwillchan@chromium.org2011-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | Introduce OffTheRecordProfileIOData and ProfileImplIOData. They both inherit from ProfileIOData. The former is for the off the record (incognito) profile. The latter is for the normal ProfileImpl profile. All of the IO related Profile objects are now initialized at the same time, in the subtype implementations of ProfileIOData::LazyInitializeInternal(). I also took this opportunity to clean URLRequestContext up so it is a class and keeps its member variables private. This required touching a fair number of files. TODO: Remove lots of the refcounting of member variables, since they can now be owned by ProfileIOData. BUG=67237 TEST=none Review URL: http://codereview.chromium.org/6286133 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/6489020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74564 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce OffTheRecordProfileIOData and ProfileImplIOData.willchan@chromium.org2011-02-111-2/+2
| | | | | | | | | | | | | | | They both inherit from ProfileIOData. The former is for the off the record (incognito) profile. The latter is for the normal ProfileImpl profile. All of the IO related Profile objects are now initialized at the same time, in the subtype implementations of ProfileIOData::LazyInitializeInternal(). I also took this opportunity to clean URLRequestContext up so it is a class and keeps its member variables private. This required touching a fair number of files. TODO: Remove lots of the refcounting of member variables, since they can now be owned by ProfileIOData. BUG=67237 TEST=none Review URL: http://codereview.chromium.org/6286133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74561 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up net unit testing code.erg@google.com2011-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | (Reapply r72562 with willchan's nits + locally tested shlib fixes + removing duplicate code that was partially responsible for the failure.) - Move code included from blah_unittest.h (where blah_unittest.cc has actual unittests) into their own files, often completely out-of-lining the definitions. - Remove anonymous namespaces from headers. - Reorder method declarations. - Make other unit test link against net_test_support instead of reaching in and including .h files in their targets directly. BUG=68682 TEST=compiles First Review URL: http://codereview.chromium.org/6264013 Review URL: http://codereview.chromium.org/6248021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72682 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Clean up net unit testing code." since it breaks the shlib builder.erg@google.com2011-01-251-1/+1
| | | | | | | | | | This reverts commit 006f377bbb65ece3490b7c76e58e0dc4cb330909 (r72562). BUG=68682 TEST=compiles TBR=thomasvl git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72564 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up net unit testing code.erg@google.com2011-01-251-1/+1
| | | | | | | | | | | | | | | | | - Move code included from blah_unittest.h (where blah_unittest.cc has actual unittests) into their own files, often completely out-of-lining the definitions. - Remove anonymous namespaces from headers. - Reorder method declarations. - Make other unit test link against net_test_support instead of reaching in and including .h files in their targets directly. BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6264013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72562 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust comments for new Source/ location.dilmah@chromium.org2011-01-191-1/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/6279005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71825 0039d316-1c4b-4281-b951-d872f2087c98