summaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* SpdySessionPool now identifies SpdySessions by both HostPortPair and proxy ↵erikchen@google.com2010-08-022-7/+9
| | | | | | | | | | | | settings. This ensures SpdySessions are not improperly reused. TEST=net_unittests BUG=49874 Review URL: http://codereview.chromium.org/3047032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54577 0039d316-1c4b-4281-b951-d872f2087c98
* A/B test for measuring effect of number of proxy connections.ziadh@chromium.org2010-08-022-0/+9
| | | | | | | | | | | | | | | | | Currently, we limit the number of connections per proxy server to 32 (raised from 15). Firefox uses 8. A low value keeps from overloading the proxy servers; at the same time, some users may hit the limit (since we use the same number for both HTTP and SOCKS proxies). This experiment selects a different number at browser launch (from the set [8, 16, 32, 64]), and attempts to look at certain stats to get a clearer picture of how this affects the user. BUG=44501 r=jar Review URL: http://codereview.chromium.org/3033045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54541 0039d316-1c4b-4281-b951-d872f2087c98
* Digest authentication uses a uri field to prevent replay attacks.cbentzel@chromium.org2010-08-024-13/+199
| | | | | | | | | | | | | | When authenticating to an HTTP proxy to establish a secure tunnel (via CONNECT), the uri should be the hostname of the server and the destination port, such as "www.example.com:443". When authenticating to an HTTP proxy for a non-secure content, the uri should be the path at the server, i.e. "/index.html". If the site we are trying to connect to previously advertised "Alternate-Protocol: 443:spdy-npn/1" a request to "http://www.example.com" will be attempted on a secure port. However, the URL passed into the digest authenticator was an unsecure one, and it decided to have a uri in the form "/index.html" rather than the correct "www.example.com:443". This causes persistent failure with the password and many password prompts. BUG=49865 TEST=Run with --use-spdy=npn, force connection through a digest authenticating proxy, and browse a site which advertises Alternate-Protocol through http URLs. Review URL: http://codereview.chromium.org/3028021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54528 0039d316-1c4b-4281-b951-d872f2087c98
* When we get a silent TCP RST, SPDY connections need to retry.mbelshe@chromium.org2010-07-311-6/+21
| | | | | | | | | | | | | | | | | | | | | Fixing this involved a couple of minor changes. * We were not tracking whether a SPDY session should be retried. The HTTP logic uses "is_socket_idle()" to determine if the socket was once good and is worth retrying. Because SPDY is not serialized added methods through the SpdySession and SpdyHttpStream for this. (See ShouldResendFailedRequest) * The spdy_http_stream was not notifying the caller when OnSendHeadersComplete occurred when there is no upload body. This isn't strictly necessary, but keeps the HttpNetworkTransaction state more consistent. BUG=50510 TEST=SpdyNetworkTransactionTest Review URL: http://codereview.chromium.org/3064021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54464 0039d316-1c4b-4281-b951-d872f2087c98
* Move ASCIIToWide and ASCIIToUTF16 to utf_string_conversions.h. I've found itbrettw@chromium.org2010-07-314-3/+4
| | | | | | | | | | | | | | | | | | | | | | | weird that UTF8ToWide is in utf_string_conversions, but ASCIIToWide is in string_util.h. This should help some dependencies since string_util changes much more frequently than utf_string_conversions and fewer files will now need string_utils. Since this requires a lot of changes, this keeps a forward-declaration in string_util so I can update the entire project incrementally. This change updates base and net only. I removed some includes of string_util from header files in net. In particular, url_request_context which involved creating a new .cc file to implement a function (already virtual so there's no speed penalty). It turns out a lot of files were getting string_util from this include, so I had to update a bunch of random files to now explicitly include string_util.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3076013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54456 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-314-15/+21
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* Convert src/net to use std::string/char* for DictionaryValue keys.viettrungluu@chromium.org2010-07-311-3/+3
| | | | | | | | | | | Hopefully I got them all. BUG=23581 TEST=net_unittests Review URL: http://codereview.chromium.org/3013048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54433 0039d316-1c4b-4281-b951-d872f2087c98
* Implement prefetching in chromegavinp@google.com2010-07-312-0/+18
| | | | | | | | | | | | | | | | | | With this CL (see also issue 2910009), chrome will support basic prefetching. You can optionally deactivate prefetching with the command line argument --disable-prefetch. A new RequestPriority was created as well, IDLE, which is lower than LOWEST. Unfortunately, SPDY has only two bits for priority, so as a temporary measure (pending SPDY v3 which will have three), we have a mapping in SPDY that folds net::LOWEST and net::IDLE together. BUG=13505 TEST=http://gemal.dk/browserspy/prefetch.php Review URL: http://codereview.chromium.org/3050016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54421 0039d316-1c4b-4281-b951-d872f2087c98
* Fix late binding induced mismatch of Socket and AuthControllervandebo@chromium.org2010-07-308-91/+289
| | | | | | | | | | | ClientSocketPool treats all pending SocketParams as interchangeable. Therefore they can not contain any connection specific data. This only affects the Http Proxy tunnel case. The lowest risk change to fix this problem is to create the HttpAuthController in the HttpProxyClientSocket. If we get a 407 and need to restart the Tunnel, the pending HttpProxyClientSocket is returned to the HttpNetworkTransaction in the additional error state of the connection and then complete the auth in a pair of states in the HttpNetworkTransaction. This reintroduces a dependency between tunnel setup and the HttpNetworkTransaction, but that will need to be fixed at a later date. BUG=49493 TEST=existing unit tests + manually visiting many SSL sites through a kerberized http proxy. Review URL: http://codereview.chromium.org/3058013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54405 0039d316-1c4b-4281-b951-d872f2087c98
* More FRIEND_TEST_ALL_PREFIXES.phajdan.jr@chromium.org2010-07-303-12/+9
| | | | | | | | | TEST=none BUG=44549 Review URL: http://codereview.chromium.org/3053024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54388 0039d316-1c4b-4281-b951-d872f2087c98
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-303-6/+9
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* Bump the SPDY protocol version to version 2.mbelshe@chromium.org2010-07-305-33/+44
| | | | | | | | | | | | | Remove "http1.1" and "spdy" from the NPN advertisement string (the proper values are "http/1.1" and "spdy/2", which were included redundantly). BUG=50550 TEST=existing Review URL: http://codereview.chromium.org/3044034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54258 0039d316-1c4b-4281-b951-d872f2087c98
* I've refactored HttpStream, SpdyHttpStream and HttpBasicStream so thatrch@chromium.org2010-07-297-33/+49
| | | | | | | | | | | | SpdyHttpStream now implements (a slightly wider) HttpStream interface. BUG=50268 TEST=none Review URL: http://codereview.chromium.org/3079002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54154 0039d316-1c4b-4281-b951-d872f2087c98
* Net: Convert username and password to string16.thestig@chromium.org2010-07-2933-268/+337
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3040016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54101 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Proxy server authentication without credentials available.ahendrickson@google.com2010-07-271-5/+5
| | | | | | | | | | | | | | | | This covers the cases using GSSAPI for Negotiate to authenticate to a proxy, where: - The user does not have a TGT (Ticket Generating Ticket), or - The user is unable to get to the TGS (Ticket Granting Server). The bug was that the authentication system tried to reuse the Negotiate handler even though it was not possible for it to succeed, leading to infinite retries. BUG=33033 Test=None Review URL: http://codereview.chromium.org/3040015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53819 0039d316-1c4b-4281-b951-d872f2087c98
* Add CHECKs to help track down the crash in http://crbug.com/49862.wtc@chromium.org2010-07-271-1/+4
| | | | | | | | | R=vandebo BUG=49862 TEST=none Review URL: http://codereview.chromium.org/3072003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53794 0039d316-1c4b-4281-b951-d872f2087c98
* Remove --testing-fixed-http-port and --testing-fixed-https-port.cbentzel@chromium.org2010-07-273-37/+0
| | | | | | | | | | | --host-rules seems like a reasonable enough substitute for these two command line flags, and removing them will simplifies the fairly complicated URL rewrite logic in HttpNetworkTransaction. BUG=None TEST=built and ran net_unittests Review URL: http://codereview.chromium.org/3041019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53790 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-2645-0/+45
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY now always uses http_network_transaction instead of ↵erikchen@google.com2010-07-234-28/+79
| | | | | | | | | | | | | | | | spdy_network_transaction. It was previously possible to use spdy_network_transaction using the command line flags: --use-spdy=no-ssl --use-spdy=no-compress This does not affect instances of chrome that are not run with --use-spdy. Also changed spdy_network_transaction_unittest so that all tests are run with 3 different connection configurations: spdy over npn, spdy over ssl, and spdy without ssl. TEST=net_unittests BUG=49082 Review URL: http://codereview.chromium.org/3048003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53548 0039d316-1c4b-4281-b951-d872f2087c98
* Net: Get rid of ProxyServer::host_and_port() and friends.thestig@chromium.org2010-07-225-33/+23
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3032017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53403 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY flow control: enforce obeying send window size via a command-line ↵agayev@chromium.org2010-07-222-1/+11
| | | | | | | | | | | switch, initial support for receive window size. BUG=48100 TEST=net_unittestss --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowUpdate:SpdyNetworkTransactionTest.WindowUpdateOverflow" Review URL: http://codereview.chromium.org/3052005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53297 0039d316-1c4b-4281-b951-d872f2087c98
* Kerberos authentication backoff cleanup.ahendrickson@google.com2010-07-212-5/+78
| | | | | | | | | BUG=33033 TEST=None Review URL: http://codereview.chromium.org/2883031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53207 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce static initializers by removing inline constructors anddavemoore@chromium.org2010-07-214-2/+6
| | | | | | | | | | | destructors from classes with instance members of type scoped_ptr_malloc<> Also remove #include of iostream from remaining header file. Review URL: http://codereview.chromium.org/2861065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53190 0039d316-1c4b-4281-b951-d872f2087c98
* Reference-count the data used by PAC scripts, so it is shared between threads.eroman@chromium.org2010-07-201-5/+4
| | | | | | | BUG=49396 Review URL: http://codereview.chromium.org/2836060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53095 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to back off from Kerberos authentication if we don't have credentials.ahendrickson@google.com2010-07-206-9/+76
| | | | | | | | | | | | | | | | | | | If the user has a stale TGT, or is unable to generate a TGS for the server they are trying to communicate to, then generating an authentication token fails. Rather than fail the entire network transaction in that case, we resend the request with an empty Authenticate (or Proxy-Authenticate) header, and remember that the Negotiate scheme is not a valid option for this particular transaction. If the server responds back with headers like WWW-Authenticate: Negotiate WWW-Authenticate: Digest realm=foo then the digest scheme is chosen in the next round. BUG=33033 TEST=None Review URL: http://codereview.chromium.org/3010010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53002 0039d316-1c4b-4281-b951-d872f2087c98
* Use different separators for service-type and service-name in Kerberos SPN.cbentzel@chromium.org2010-07-202-3/+30
| | | | | | | | | | | | GSSAPI expects SPNs to be in the form HTTP@<server_name> and SSPI expects SPNs to be in the form HTTP/<server_name>. BUG=33033 TEST=net_unittests --gtest_filter="*HttpAuthHandlerNegotiate*", go against Kerberized server on Linux or OSX and see that the TGS is retrieved correctly. Review URL: http://codereview.chromium.org/3055001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52984 0039d316-1c4b-4281-b951-d872f2087c98
* Don't do Negotiate with GSSAPI if default credentials are not allowed.cbentzel@chromium.org2010-07-196-206/+241
| | | | | | | | | | | | | GSSAPI does not provide a mechanism for the user to specify username/password to obtain a TGT. If default credentials are not allowed for an end site, skip negotiate and use a different scheme. Arguably in this case it may make sense to simply prompt the user whether they want to use their existing Kerberos credentials to authenticate to the server and use the existing TGT, but we'll need UI changes. BUG=33033 TEST=net_unittests, try to authenticate to a Kerberized server which is not in the whitelist. Review URL: http://codereview.chromium.org/3013003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52943 0039d316-1c4b-4281-b951-d872f2087c98
* ASSERT_TRUE that the HttpAuthHandlerNegotiate::Factory creates non-NULL ↵cbentzel@chromium.org2010-07-171-2/+5
| | | | | | | | | | | handlers. BUG=None TEST=net_unittests --gtest_filter="*HttpAuthHandlerNegotiate*" Review URL: http://codereview.chromium.org/3018008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52828 0039d316-1c4b-4281-b951-d872f2087c98
* Implement MAX_CONCURRENT_STREAMS SETTINGS headergavinp@google.com2010-07-173-44/+53
| | | | | | | | | | | | | | | | | | | | | | | | This CL helps chrome respect the SETTINGS header MAX_CONCURRENT_STREAMS. Note that this means that SpdySession::CreateStream can now return ERR_IO_PENDING, so it requires a callback. There's a noted TODO that if an http_network_transaction dissapears betweeen STATE_SPDY_GET_STREAM and STATE_SPDY_SEND_REQUEST I don't know if we end up with an orphan stream in our spdy_session. As well, spdy_test_util.cc had a lot of functions with default arguments; I didn't fix them all, but the functions I modified no longer take default arguments and meet the coding standard. I'd like to circle back at some point and possibly make the tests call SpdyFramer directly: these test utils seem sometimes more trouble than they're worth if the framer was a bit more convenient for direct use. BUG=34750 TEST=net_unittests Spdy.ThreeGets* Review URL: http://codereview.chromium.org/2919011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52791 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Make sure that we don't fail transactions when thervargas@google.com2010-07-173-13/+15
| | | | | | | | | | | disk cache fails (now on an async world). BUG=49216 TEST=net_unittests Review URL: http://codereview.chromium.org/2812062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52790 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Enable some checks to track a low volume crash.rvargas@google.com2010-07-171-10/+19
| | | | | | | | | | | BUG=47895 TEST=none Review URL: http://codereview.chromium.org/2996006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52779 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Don't delete the callback that is waiting forrvargas@google.com2010-07-172-2/+46
| | | | | | | | | | | | the backend creation when the cache goes away. BUG=49193 TEST=net_unittests Review URL: http://codereview.chromium.org/3016006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52776 0039d316-1c4b-4281-b951-d872f2087c98
* Remove now unused states (cleanup).vandebo@chromium.org2010-07-162-10/+0
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/3040003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52750 0039d316-1c4b-4281-b951-d872f2087c98
* Added mock libraries for GSSAPI.ahendrickson@google.com2010-07-165-30/+1035
| | | | | | | | | BUG=33033 TEST=None Review URL: http://codereview.chromium.org/2833049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52696 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash bug in new SSLClientSocketPool.vandebo@chromium.org2010-07-161-18/+11
| | | | | | | | | | | We also need to push additional error state out of the SSLClientSocketPool on a ERR_SSL_CLIENT_AUTH_CERT_NEEDED error. BUG=49197 TEST=no crash when visiting https://foafssl.org/srv/idp?authreqissuer=http://foaf.me/index.php Review URL: http://codereview.chromium.org/2827053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52693 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: chain GetLoadState from transactions waiting forrvargas@google.com2010-07-156-6/+60
| | | | | | | | | | | | | | | | | | access to an entry to the transaction that has exclusive access to that entry. This means that requests that are blocked on the single writer lock of the http cache will report the load state of the request that has the lock, and WAITING_FOR_CACHE is reserved for requests that are actually waiting for the entry to be created by the cache. BUG=43582 TEST=net_unittests Review URL: http://codereview.chromium.org/2892010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52557 0039d316-1c4b-4281-b951-d872f2087c98
* On multi-round authentication schemes, the info_ field in the ↵cbentzel@chromium.org2010-07-154-2/+122
| | | | | | | | | | | HttpAuthController should be cleared (the user should only be prompted for username/password on the first round). BUG=48752 TEST=net_unittests --gtest_filter="*MultiRoundAuth*" Review URL: http://codereview.chromium.org/2941006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52550 0039d316-1c4b-4281-b951-d872f2087c98
* Increase npn_spdy to 50%, npn_http 25%. lzheng@chromium.org2010-07-151-1/+3
| | | | | | | | | | | | | Disable alternate protocol for npn_http case so browser don't need to fallback to http (extra overhead) in this case. Keep default group at 25% so we could use it to compare performance against alternate protocol with spdy case. BUG=48967 TEST=none Review URL: http://codereview.chromium.org/2904012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52537 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor how ClientSocketPoolBaseHelper avoids re-entrancy.willchan@chromium.org2010-07-153-3/+3
| | | | | | | | | Specifically, we defer asynchronous user callbacks to tasks. BUG=48861 Review URL: http://codereview.chromium.org/2994003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52509 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-151-0/+1
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52334 - Http Cache: chain GetLoadState from transactions waiting forrvargas@google.com2010-07-146-55/+6
| | | | | | | | | | | | | | | | | | | | | | access to an entry to the transaction that has exclusive access to that entry. This means that requests that are blocked on the single writer lock of the http cache will report the load state of the request that has the lock, and WAITING_FOR_CACHE is reserved for requests that are actually waiting for the entry to be created by the cache. BUG=43582 TEST=net_unittests Review URL: http://codereview.chromium.org/2976004 TBR=rvargas@google.com Review URL: http://codereview.chromium.org/2921010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52405 0039d316-1c4b-4281-b951-d872f2087c98
* Revert everything related to the relanding.erg@chromium.org2010-07-141-1/+0
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-141-1/+0
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* Init GSSAPI library in HttpAuthHandlerNegotiate.cbentzel@chromium.org2010-07-141-0/+6
| | | | | | | | | BUG=33033 TEST=net_unittests Review URL: http://codereview.chromium.org/2909012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52340 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: chain GetLoadState from transactions waiting forrvargas@google.com2010-07-146-6/+55
| | | | | | | | | | | | | | | | | | | access to an entry to the transaction that has exclusive access to that entry. This means that requests that are blocked on the single writer lock of the http cache will report the load state of the request that has the lock, and WAITING_FOR_CACHE is reserved for requests that are actually waiting for the entry to be created by the cache. BUG=43582 TEST=net_unittests Review URL: http://codereview.chromium.org/2976004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52334 0039d316-1c4b-4281-b951-d872f2087c98
* Implement SSLClientSocketPool.vandebo@chromium.org2010-07-149-378/+385
| | | | | | | | | | | | To support SSLClientSocketPool, ClientSocketPoolBase and ClientSocketHandle require a notion of additional error state reported from the pool. Overtime the error handling may get become more integrated, alleviating the need for some of the additional error state. To support getting Http Proxy credentials from the user, the SSLClientSocketPool will release unauthenticated HttpProxyClientSocket's into the pool as idle. However, it checks their authentication status when receiving one, completing the authentication once the user has provided the credentials. BUG=30357 TEST=existing unit tests, ClientSocketPoolBaseTest.AdditionalErrorState*, SSLClientSocketPoolTest.* Review URL: http://codereview.chromium.org/2870030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52275 0039d316-1c4b-4281-b951-d872f2087c98
* Remove |net_log_| as a class member and pass it in where needed and a little ↵vandebo@chromium.org2010-07-136-47/+42
| | | | | | | | | | | cleanup. BUG=42795 TEST=existing unit tests Review URL: http://codereview.chromium.org/2806052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52214 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Switch the disk cache to use the cache_thread.rvargas@google.com2010-07-132-3/+32
| | | | | | | | | | | | | Add an InFlightBackendIO class that handles posting of cacheoperations back and forth between the IO thread and the cachethread. BUG=26730 TEST=unit tests Review URL: http://codereview.chromium.org/2945002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52185 0039d316-1c4b-4281-b951-d872f2087c98