summaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* Added support for raw headers.caseq@google.com2010-10-061-0/+8
| | | | | | | | | | | Added DevToolsNetLogObserver (used by the above) BUG=http://crbug.com/41916 TEST=none Review URL: http://codereview.chromium.org/3133016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61648 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Continue fixing nits found by my automated source scanner.erg@google.com2010-10-052-1/+3
| | | | | | | | | | | (~1.3 megs off Debug linux .a files) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3556013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61587 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply r61237: FBTF: Another big ctor/dtor cleanup found by automated tools.erg@google.com2010-10-042-6/+19
| | | | | | | | | | | | | | | Removes changes to code in webkit/ that broke chrome_frame. Will debug that portion later. (Shaves ~2MB off Linux Debug .a files) BUG=none TEST=compiles First Review URL: http://codereview.chromium.org/3563004 Review URL: http://codereview.chromium.org/3621003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61435 0039d316-1c4b-4281-b951-d872f2087c98
* clang/mac: Fix almost all problems when building all.xcodeproj.thakis@chromium.org2010-10-043-31/+2
| | | | | | | | BUG=None TEST=None TBR=hans git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61344 0039d316-1c4b-4281-b951-d872f2087c98
* Stop refcounting HostResolver.willchan@chromium.org2010-10-0112-36/+64
| | | | | | | | | BUG=46049 TEST=none Review URL: http://codereview.chromium.org/3601002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61256 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "FBTF: Another big ctor/dtor cleanup found by automated tools."erg@google.com2010-10-012-19/+6
| | | | | | | | | | | This reverts commit 27ea47d65cf8767f350113d5ad9e25170efde811 (r61237). BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3609005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61240 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Another big ctor/dtor cleanup found by automated tools.erg@google.com2010-10-012-6/+19
| | | | | | | | | | | (Shaves ~2MB off Linux Debug .a files) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3563004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61237 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes the tests written for http://codereview.chromium.org/3432009/showrch@chromium.org2010-10-013-31/+69
| | | | | | | | | | | | | | | | | | to use DeterministicSocketData which should avoid the flaky test problem that 3432009 introduced. -- Add a new class SpdyProxyClientSocket which implements ClientSocket by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3578002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61144 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move ctors/dtors into implementation files. Adds ctors/dtors to ↵erg@google.com2010-09-302-0/+14
| | | | | | | | | | | | | | non-POD structs. Cuts ~2MB off our .a files (Debug, Linux). Also added the "virtual" keyword on a whole bunch of virtual dtors that were missing it. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3522004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61100 0039d316-1c4b-4281-b951-d872f2087c98
* Call GetSSLInfo late, after we have received the responsewtc@chromium.org2010-09-302-9/+5
| | | | | | | | | | | | | | | | | | | | headers. This is where we used to call GetSSLInfo. In r56646 (Chrome 7.0) we changed to call GetSSLInfo as soon as SSL Connect completes. This will be problematic when we do "pseudo connect" with SSL Snap Start. Allow HttpStreamParser::GetSSLInfo and HttpStreamParser::GetSSLCertRequestInfo to be called when connection_->socket() is not connected. R=agl,mbelshe BUG=none TEST=net_unittests --gtest_filter=HTTPSRequestTest.HTTPS*Test. For manual testing, verify the info in the Page Security Information dialog is correct. Review URL: http://codereview.chromium.org/3603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61073 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 61015 (unnecessary revert due to flaky build) - Stop refcounting ↵willchan@chromium.org2010-09-306-72/+98
| | | | | | | | | | | | | | | | SpdySessionPool. BUG=57343 TEST=none Review URL: http://codereview.chromium.org/3602001 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3541005 TBR=willchan@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61063 0039d316-1c4b-4281-b951-d872f2087c98
* Extract name-value pair parsing from http_auth.cc (ChallengeTokenizer) into ↵erikwright@chromium.org2010-09-3013-247/+434
| | | | | | | | | | http_util.cc (NameValuePairsIterator). In preparation for re-use of name-value pair parsing in ChromeFrame (for X-UA-Compatible header). BUG=None TEST=net_unittests (HttpAuth* and HttpUtilTest.NameValuePairs*) Review URL: http://codereview.chromium.org/3525004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61061 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61015 (broke fetch_client) - Stop refcounting SpdySessionPool.willchan@chromium.org2010-09-306-98/+72
| | | | | | | | | | | | BUG=57343 TEST=none Review URL: http://codereview.chromium.org/3602001 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3541005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61018 0039d316-1c4b-4281-b951-d872f2087c98
* Stop refcounting SpdySessionPool.willchan@chromium.org2010-09-306-72/+98
| | | | | | | | | BUG=57343 TEST=none Review URL: http://codereview.chromium.org/3602001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61015 0039d316-1c4b-4281-b951-d872f2087c98
* Stop refcounting ClientSocketPool.willchan@chromium.org2010-09-299-328/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Establishes that HttpNetworkSession owns all the socket pools. Move out all the socket pools into a ClientSocketPoolManager. This is because of the dependency tree amongst socket pools, which dictates the order in which they must be constructed and destructed. In order to better establish it, I moved them out to their own class. HttpNetworkSession owns the ClientSocketPoolManager which owns the pools. We pass the pools as raw pointers everywhere. Note that ClientSocketPoolManager owns more pools than are publicly accessible via its interface. That's because some of them are wrapped by publicly exposed pools. Also, ClientSocketPoolHistograms used to be reference counted. That's because it can be shared by multiple ClientSocketPools. But it's effectively a global as well, so I make their lifetimes persist for the length of ClientSocketPoolManager too. I also removed internal refcounting in ClientSocketPoolBase. I had refcounted it before I knew about ScopedRunnableMethodFactory back when I first started. I cleaned up the unit tests a lot. Back when I was a young padawan, I didn't really know what I was doing, so I copy/pasted a metric asston of code. Turns out most of it was stupid, so I fixed it. I also stopped the use of implementation inheritance with ClientSocketPoolTest because it's discouraged by the style guide and more importantly because it caused the ClientSocketHandles within the TestSocketRequest vector to be destroyed _after_ the pools themselves were destroyed, which is bad since the handles will call pool_->Release() which blows up. BUG=56215,56215 TEST=Existing unit tests Review URL: http://codereview.chromium.org/3389020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60983 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthHandlerFactory::CreateDefault requires a HostResolver argument.cbentzel@chromium.org2010-09-296-11/+28
| | | | | | | | | | | | | Previously the default registry factory would crash if it saw a Negotiate header when trying to do a CNAME lookup because of a NULL resolver. Since then I've changed HttpAuthHandlerNegotiate to skip the CNAME lookup step when the resolver_ is NULL. So, one option is to make CreateDefault accept an optional HostResolver argument. My concern is that since passing in NULL is the easier choice, people will do it and encounter user problems when going through a Negotiate proxy. Hence, I force the correct behavior. BUG=56819 TEST=net_unittests, try fetch client through a Negotiate authenticating proxy. Review URL: http://codereview.chromium.org/3518001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60942 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Moves code to the headers.erg@google.com2010-09-282-0/+8
| | | | | | | | | | | | | One of the big things is starting to move/declare ctors/dtors that derive from RefCounted<> to/in the implementation file. (Saves 4 megabytes from libglue.a alone. 1 meg off libbrowser.a. Hundred of kilobyte savings in a large number of .a files; only libmedia.a grew and it's only 100k.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3452030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60863 0039d316-1c4b-4281-b951-d872f2087c98
* Kill all HttpResponseBodyDrainers when HttpNetworkSession goes away.willchan@chromium.org2010-09-286-14/+63
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3388022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60798 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60791 - HttpAuthHandlerFactory::CreateDefault requires a HostResolver ↵cbentzel@chromium.org2010-09-286-28/+11
| | | | | | | | | | | | | | | | | | argument. Previously the default registry factory would crash if it saw a Negotiate header when trying to do a CNAME lookup because of a NULL resolver. Since then I've changed HttpAuthHandlerNegotiate to skip the CNAME lookup step when the resolver_ is NULL. So, one option is to make CreateDefault accept an optional HostResolver argument. My concern is that since passing in NULL is the easier choice, people will do it and encounter user problems when going through a Negotiate proxy. Hence, I force the correct behavior. BUG=56819 TEST=net_unittests, try fetch client through a Negotiate authenticating proxy. Review URL: http://codereview.chromium.org/3447027 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/3413039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60795 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthHandlerFactory::CreateDefault requires a HostResolver argument.cbentzel@chromium.org2010-09-286-11/+28
| | | | | | | | | | | | | Previously the default registry factory would crash if it saw a Negotiate header when trying to do a CNAME lookup because of a NULL resolver. Since then I've changed HttpAuthHandlerNegotiate to skip the CNAME lookup step when the resolver_ is NULL. So, one option is to make CreateDefault accept an optional HostResolver argument. My concern is that since passing in NULL is the easier choice, people will do it and encounter user problems when going through a Negotiate proxy. Hence, I force the correct behavior. BUG=56819 TEST=net_unittests, try fetch client through a Negotiate authenticating proxy. Review URL: http://codereview.chromium.org/3447027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60791 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60747 - Add a new class SpdyProxyClientSocket which implements ↵rch@chromium.org2010-09-283-69/+31
| | | | | | | | | | | | | | | | | ClientSocket by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3432009 TBR=rch@chromium.org Review URL: http://codereview.chromium.org/3391029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60754 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new class SpdyProxyClientSocket which implements ClientSocketrch@chromium.org2010-09-283-31/+69
| | | | | | | | | | | | by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3432009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60747 0039d316-1c4b-4281-b951-d872f2087c98
* Remove commented out expression in http_network_transaction_unittest.ccrch@chromium.org2010-09-271-2/+2
| | | | | | | | BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60654 0039d316-1c4b-4281-b951-d872f2087c98
* Skip CNAME lookup if resolver_ is NULL in the Negotiate handler.cbentzel@chromium.org2010-09-271-1/+1
| | | | | | | | | | This is a bit of a bad solution, I want to get the quick fix in first. BUG=56819 TEST=net_unittests Review URL: http://codereview.chromium.org/3455023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60630 0039d316-1c4b-4281-b951-d872f2087c98
* Immediately reject empty cookie headers.jochen@chromium.org2010-09-271-4/+6
| | | | | | | | | BUG=54785 TEST=DoNotSaveEmptyCookies Review URL: http://codereview.chromium.org/3453021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60621 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the references to HttpNetworkSession in SpdySessionrch@chromium.org2010-09-252-6/+9
| | | | | | | | | | | | | | | | and replace it with a reference to the SpdySessionPool and SpdySettingStorage, which are actually required. Modified SpdySessionPool to take a pointer to SpdySettingsStorage instead of to HttpNetworkSession in both GetSpdySessionFromSocket() Get(). Modified HttpStreamRequest (and various unit tests) accordingly when calling these methods. Review URL: http://codereview.chromium.org/3400024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60590 0039d316-1c4b-4281-b951-d872f2087c98
* Remove SpdySession::Connect(). This methods was onlyrch@chromium.org2010-09-251-7/+33
| | | | | | | | | | | | | being called from a handful of unit tests. I modified those tests to call SpdySession::InitializeWithSocket() instead. This added a bit of code to these tests. BUG=56848 TEST=none Review URL: http://codereview.chromium.org/3435029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60589 0039d316-1c4b-4281-b951-d872f2087c98
* Even more status reporting for SSPI functions.cbentzel@chromium.org2010-09-251-71/+89
| | | | | | | | | | | | | These functions have not been problematic, but it makes it more consistent with the rest of the file. Also, the log output of the underlying SECURITY_STATUS codes are output in hex. BUG=53850 TEST=None Review URL: http://codereview.chromium.org/3319011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60576 0039d316-1c4b-4281-b951-d872f2087c98
* net: Append base:: in the StringPrintf calls.tfarina@chromium.org2010-09-2514-86/+107
| | | | | | | | | | | (Note: This is a TODO in string_util.h) BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3390026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60555 0039d316-1c4b-4281-b951-d872f2087c98
* base: Finish moving the SplitString functions from string_util.h to ↵tfarina@chromium.org2010-09-242-0/+2
| | | | | | | | | | | string_split.h BUG=None TEST=trybos Review URL: http://codereview.chromium.org/3447008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60422 0039d316-1c4b-4281-b951-d872f2087c98
* Take out additional dependency from http_util as a short-term fix to get the ↵jam@chromium.org2010-09-233-15/+5
| | | | | | | | pdf build compiling. Review URL: http://codereview.chromium.org/3450024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60367 0039d316-1c4b-4281-b951-d872f2087c98
* Support net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH.willchan@chromium.org2010-09-233-10/+71
| | | | | | | | | | | | | If we encounter multiple Content-Length headers without a Transfer-Encoding header, then it's a potential response smuggling attempt. Return an error. BUG=56344 TEST=HttpNetworkTransactionTest.MultipleContentLengthHeadersNoTransferEncoding,HttpNetworkTransactionTest.MultipleContentLengthHeadersTransferEncoding Review URL: http://codereview.chromium.org/3394016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60317 0039d316-1c4b-4281-b951-d872f2087c98
* net: refactor SSLNonSensitiveHostInfoagl@chromium.org2010-09-222-116/+114
| | | | | | | | | | | | This code is currently unused in the tree, so the refactoring is 'safe'. The code needed to write tests is still pending. BUG=none TEST=none (yet) http://codereview.chromium.org/3381014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60227 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move a bunch of code to the headers and remove includes.erg@google.com2010-09-221-0/+1
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3412016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60208 0039d316-1c4b-4281-b951-d872f2087c98
* net: Fix incorrect style used in some enumerations.tfarina@chromium.org2010-09-225-33/+33
| | | | | | | | | | | | | | | | | | | Reason: They are using kConstantNaming, however the Chromium style is to use UPPER_CASE_FOR_ENUMS. Also convert some truly constants, like the following: http/http_proxy_client_socket_pool.h: enum { kDrainBodyBufferSize = 1024 }; To: static const int kDrainBodyBufferSize = 1024; BUG=55668 TEST=compiles locally. Review URL: http://codereview.chromium.org/3421026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60155 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate HttpStreamHandle. The name confused me.willchan@chromium.org2010-09-2112-199/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | HttpStreamHandle was a combination of an HttpStream and a scoped_ptr<ClientSocketHandle>. This let it manage the transport socket if so desired. I think that the HttpStream should be in charge of managing this. * HttpBasicStream should always release it to the pool when done, but perhaps disconnect it first. * HttpPipelinedStream (or whatever we name it) should know not to disconnect the transport socket or whatever. It should return it to the pipeline stream manager. * SPDY subtypes of HttpStream do not manage the transport socket. They let the SpdySession handle it. Since the ownership pattern varies based on the HttpStream subtype, I think letting a HttpStreamHandle class perhaps control it is confusing. It's better for the subtype to know what it's supposed to do. There was only one hangup here, the HttpProxyClientSocket, since it might need to Disconnect() and then re-Connect() the transport socket. It was using an HttpBasicStream, which, with my change, would own the transport socket handle. I fixed this by making the HttpProxyClientSocket create an HttpStreamParser instead, which does not own the transport socket handle. Review URL: http://codereview.chromium.org/3133029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60117 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bunch of clang warnings/errors.thakis@chromium.org2010-09-211-36/+0
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3473006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60109 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r59910 - Add HttpResponseBodyDrainer. Use it for unfinished ↵willchan@chromium.org2010-09-217-99/+583
| | | | | | | | | | | | | | HttpStreams." There's one simple fix. wtc had asked me to increment the buffer so we keep reading into new memory while draining the body. So I added |total_read_| to |read_buf_|. The problem is |read_buf_| is an IOBuffer*, not a char*, so I'm causing us to read into raw heap memory. Crashes ensue. My unit tests didn't catch it because they never actually read data. I've fixed that by doing a memset(). I've fixed the problem by not bothering to increment the read index, since that would require throwing away IOBuffers or some intrusive modifications to IOBuffer. BUG=54277 TEST=HttpResponseBodyDrainerTest.* Also see the manual testing instructions in r59910. Review URL: http://codereview.chromium.org/3449014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60075 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 59908 (breaks WebKit layout tests) - Add HttpResponseBodyDrainer. ↵willchan@chromium.org2010-09-207-575/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | Use it for unfinished HttpStreams. Hopefully this will improve our reuse of sockets, and thus performance, since many redirects have response bodies, so we end up discarding those sockets rather than draining the bodies and reusing the socket. Fix a bunch of tests since we now try to read from the socket in HttpNetworkTransaction's destructor, which often executes after the StaticSocketDataProvider has already been destroyed, so we end up trying to invoke pure virtuals via stale pointers. BUG=54277 TEST= 1) Start up chrome with an empty cache (I just use --user-data-dir=/tmp/newprofile). 2) Open up about:net-internals, browse to its socket tab. 3) In a separate Chrome tab, open up http://google.com (NOT www.google.com). NOTE: This will get a 301 redirect with a response body for us to drain. Previously we wouldn't drain it, so we wouldn't reuse the socket. 4) In the about:net-internals's socket page, wait for it to reload (or force a reload). Look for the google.com row under tcp_socket_pool. If it doesn't exist, then that means it failed. If it does exist _and_ the idle column says '1', then it worked. Review URL: http://codereview.chromium.org/3293015 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3466003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59910 0039d316-1c4b-4281-b951-d872f2087c98
* Add HttpResponseBodyDrainer. Use it for unfinished HttpStreams.willchan@chromium.org2010-09-197-99/+575
| | | | | | | | | | | | | | | | | | | | | Hopefully this will improve our reuse of sockets, and thus performance, since many redirects have response bodies, so we end up discarding those sockets rather than draining the bodies and reusing the socket. Fix a bunch of tests since we now try to read from the socket in HttpNetworkTransaction's destructor, which often executes after the StaticSocketDataProvider has already been destroyed, so we end up trying to invoke pure virtuals via stale pointers. BUG=54277 TEST= 1) Start up chrome with an empty cache (I just use --user-data-dir=/tmp/newprofile). 2) Open up about:net-internals, browse to its socket tab. 3) In a separate Chrome tab, open up http://google.com (NOT www.google.com). NOTE: This will get a 301 redirect with a response body for us to drain. Previously we wouldn't drain it, so we wouldn't reuse the socket. 4) In the about:net-internals's socket page, wait for it to reload (or force a reload). Look for the google.com row under tcp_socket_pool. If it doesn't exist, then that means it failed. If it does exist _and_ the idle column says '1', then it worked. Review URL: http://codereview.chromium.org/3293015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59908 0039d316-1c4b-4281-b951-d872f2087c98
* Break reference cycle from HttpProxyClientSocket=>HttpNetworkSession=>...willchan@chromium.org2010-09-179-50/+93
| | | | | | | | | | | | Note that this undoes the fix for http://crbug.com/49387 which is now unnecessary without the cycle. Some other miscellaneous cleanup is thrown in here. BUG=55175 TEST=none Review URL: http://codereview.chromium.org/3418018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59873 0039d316-1c4b-4281-b951-d872f2087c98
* Fix case where we close a stream due to socket errors when it is currentlymbelshe@chromium.org2010-09-171-1/+4
| | | | | | | | | | | | | | | | | a pending create stream. The problem was that the socket error would arrive on the SpdySession, which would initiate cleanup of the pendng create streams for that session. In the callback to the stream, the stream would notify the transaction, which would delete itself, and that would cause a callback into the SpdySession to clear that specific pending create stream (via CancelPendingCreateStreams). BUG=52901,55795 TEST=SpdyNetworkTransactionTest.ThreeGetsWithMaxConcurrentSocketClose Review URL: http://codereview.chromium.org/3400009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59794 0039d316-1c4b-4281-b951-d872f2087c98
* Flush all nested pools.willchan@chromium.org2010-09-161-0/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3434006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59751 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new net error code for when the load failure was due to connecting to ↵eroman@chromium.org2010-09-164-3/+10
| | | | | | | | | | | | | | | | | | | | | a bad proxy server. Prior to this change, users would likely have seen one of these errors on failure to connect through a proxy server: ERR_NAME_NOT_RESOLVED ERR_ADDRESS_UNREACHABLE ERR_CONNECTION_REFUSED ERR_CONNECTION_TIMED_OUT ERR_CONNECTION_FAILED Whereas now any host resolve or tcp connect error will map to: ERR_PROXY_UNREACHABLE This error code will allow selecting a more suitable error page. BUG=53477 Review URL: http://codereview.chromium.org/3360025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59710 0039d316-1c4b-4281-b951-d872f2087c98
* Don't evict username/password when handling "stale" digest authentication ↵cbentzel@chromium.org2010-09-167-11/+113
| | | | | | | | | | | | | challenges. Stale challenges indicate that the cached nonce (and associated nonce_count) are no longer valid. BUG=53353 TEST=Use a digest authentication Squid proxy with default settings (which complain about stale nonce's). Ensure that there are no username/password prompts after getting a stale challenge. Also, net_unittests. Review URL: http://codereview.chromium.org/3421005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59643 0039d316-1c4b-4281-b951-d872f2087c98
* Change HostResolver::RequestInfo to take a HostPortPair rather than naked ↵eroman@chromium.org2010-09-153-5/+4
| | | | | | | | host string + port. Review URL: http://codereview.chromium.org/3420001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59577 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 59362 - net: Rename ProxyService::CreateNull to ↵tfarina@chromium.org2010-09-153-10/+10
| | | | | | | | | | | | | | | | | | | | | ProxyService::CreateDirect. (Note: This was a TODO for eroman). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3336021 Revert Review URL: http://codereview.chromium.org/3444001/show TBR=eroman@chromium.org Fix the bad git svn rebase (that caused a bad merge, that integrates other files in the original cl, now this should be fixed). Review URL: http://codereview.chromium.org/3413008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59481 0039d316-1c4b-4281-b951-d872f2087c98
* Trying to green up the tree, lots of mac and win red around this cl.thomasvl@chromium.org2010-09-143-10/+10
| | | | | | | | | | | | | | | | Revert 59362 - net: Rename ProxyService::CreateNull to ProxyService::CreateDirect. (Note: This was a TODO for eroman). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3336021 TBR=tfarina@chromium.org Review URL: http://codereview.chromium.org/3444001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59373 0039d316-1c4b-4281-b951-d872f2087c98
* net: Rename ProxyService::CreateNull to ProxyService::CreateDirect.tfarina@chromium.org2010-09-143-10/+10
| | | | | | | | | | | (Note: This was a TODO for eroman). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3336021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59362 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when we preconnect to a host that we already have a SPDY session ↵willchan@chromium.org2010-09-132-1/+57
| | | | | | | | | | | for. BUG=55424 TEST=HttpNetworkTransactionTest.PreconnectWithExistingSpdySession Review URL: http://codereview.chromium.org/3308029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59288 0039d316-1c4b-4281-b951-d872f2087c98