summaryrefslogtreecommitdiffstats
path: root/net
Commit message (Collapse)AuthorAgeFilesLines
* Attempt 2 at landing this.ananta@chromium.org2010-01-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deleting cookies by setting the expires attribute on them with an empty value would not work in ChromeFrame with the host network stack enabled. When we receive a response in the host browser (IE) we send over the response headers which include the Set-Cookie header and a list of cookies retreived via the InternetGetCookie API. We call this API to retrieve the persistent cookies and send them over to Chrome. However this API returns session cookies as well as persistent cookies. There is no documented way to return only persistent cookies from IE. As a result we would end up setting duplicate cookies in Chrome, which caused this issu.e. To workaround this issue when we receive the response in the url request automation job which handles ChromeFrame network requests, we strip out duplicate cookies sent via InternetGetCookie. When a script deletes a cookie we now handle it correctly in IE and set the data to an empty string. However this does not delete the cookie. When such cookies show up in Chrome, we strip them out as well. Fixes bug http://code.google.com/p/chromium/issues/detail?id=30786 The changes to chrome_frame_npapi.cc/.h are to move the NPAPI functions to the chrome_frame namespace as they conflict with similar functions in NACL. Added the DeleteCookie function to the CookieStore interface, which I think missed out by oversight. Bug=30786 Test=Covered by ChromeFrame unit tests. I also added a unit test to test the newly added URLRequestAutomationJob::IsCookiePresentInCookieHeader function TBR=amit Review URL: http://codereview.chromium.org/521072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35778 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a NetworkChangeNotifier dependency to ProxyService; when we observer a ↵eroman@chromium.org2010-01-083-50/+190
| | | | | | | | | | | | | | | network change through the notifier, the ProxyService re-configures itself. So for example, if you were to switch to VPN and are using a custom PAC URL, we will re-download that URL on the new network. Similarly if you are using auto-detect PAC settings, we will re-run the autodiscovery steps for the next resolve. Note that Chromium is still passing a NULL NetworkChangeNotifier dependency into its ProxyService -- until it passes a real implementation, this will not impact Chrome. BUG=12293 TEST=ProxyServiceTest.NetworkChangeTriggersPacRefetch Review URL: http://codereview.chromium.org/525104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35772 0039d316-1c4b-4281-b951-d872f2087c98
* Reason:tyoshino@chromium.org2010-01-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux Builder (ChromiumOS) failed. http://chrome-buildbot.corp.google.com:8010/builders/Linux%20Builder%20(ChromiumOS)/builds/2050/steps/compile/logs/stdio Please add changes to external_cookie_handler_unittest.cc no to break compilation and reland? ---- Revert 35769 - Deleting cookies by setting the expires attribute on them with an empty value would not work in ChromeFrame with the host network stack enabled. When we receive a response in the host browser (IE) we send over the response headers which include the SetCookie header and a list of cookies retreived via the InternetGetCookie API. We call this API to retrieve the persistent cookies and send them over to Chrome. However this API returns session cookies as well as persistent cookies. There is no documented way to return only persistent cookies from IE. As a result we would end up setting duplicate cookies in Chrome, which caused this issu.e. To workaround this issue when we receive the response in the url request automation job which handles ChromeFrame network requests, we strip out duplicate cookies sent via InternetGetCookie. When a script deletes a cookie we now handle it correctly in IE and set the data to an empty string. However this does not delete the cookie. When such cookies show up in Chrome, we strip them out as well. Fixes bug http://code.google.com/p/chromium/issues/detail?id=30786 The changes to chrome_frame_npapi.cc/.h are to move the NPAPI functions to the chrome_frame namespace as they conflict with similar functions in NACL. Added the DeleteCookie function to the CookieStore interface, which I think missed out by oversight. Bug=30786 Test=Covered by ChromeFrame unit tests. I also added a unit test to test the newly added URLRequestAutomationJob::IsCookiePresentInCookieHeader function Review URL: http://codereview.chromium.org/518054 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/517070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35771 0039d316-1c4b-4281-b951-d872f2087c98
* Deleting cookies by setting the expires attribute on them with an empty ↵ananta@chromium.org2010-01-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | value would not work in ChromeFrame with the host network stack enabled. When we receive a response in the host browser (IE) we send over the response headers which include the Set-Cookie header and a list of cookies retreived via the InternetGetCookie API. We call this API to retrieve the persistent cookies and send them over to Chrome. However this API returns session cookies as well as persistent cookies. There is no documented way to return only persistent cookies from IE. As a result we would end up setting duplicate cookies in Chrome, which caused this issu.e. To workaround this issue when we receive the response in the url request automation job which handles ChromeFrame network requests, we strip out duplicate cookies sent via InternetGetCookie. When a script deletes a cookie we now handle it correctly in IE and set the data to an empty string. However this does not delete the cookie. When such cookies show up in Chrome, we strip them out as well. Fixes bug http://code.google.com/p/chromium/issues/detail?id=30786 The changes to chrome_frame_npapi.cc/.h are to move the NPAPI functions to the chrome_frame namespace as they conflict with similar functions in NACL. Added the DeleteCookie function to the CookieStore interface, which I think missed out by oversight. Bug=30786 Test=Covered by ChromeFrame unit tests. I also added a unit test to test the newly added URLRequestAutomationJob::IsCookiePresentInCookieHeader function Review URL: http://codereview.chromium.org/518054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35769 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Avoid resuming (and keeping) truncated entriesrvargas@google.com2010-01-086-17/+264
| | | | | | | | | | | | | | | | | | if the server doesn't provide a strong validator. We require: - A strong etag or a strong last modified date. - The total Content length. - Lack of an explicit rejection of ranges (Accept-ranges: none) This aligns better with the conditions used by Firefox. BUG=30220, b/2329250 TEST=unittests Review URL: http://codereview.chromium.org/517043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35761 0039d316-1c4b-4281-b951-d872f2087c98
* Log the results of proxy resolution to LoadLog when "full logging mode" is ↵eroman@chromium.org2010-01-076-17/+52
| | | | | | | | | | | | | | enabled. Examples of what the logged text looks like: "Resolved proxy list: PROXY foobar:6233" "Resolved proxy list: DIRECT" "Resolved proxy list: PROXY foobar:80;SOCKS5 baz:1080;DIRECT" Review URL: http://codereview.chromium.org/518042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35749 0039d316-1c4b-4281-b951-d872f2087c98
* Cancel any outstanding host resolve when calling ↵eroman@chromium.org2010-01-075-11/+113
| | | | | | | | | | | SOCKSClientSocket::Disconnect(). BUG=25440 TEST=SOCKSClientSocketTest.DisconnectWhileHostResolveInProgress Review URL: http://codereview.chromium.org/525084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35747 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup the FlipSession GetLoadState to be more specific.mbelshe@google.com2010-01-071-2/+12
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/515039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35715 0039d316-1c4b-4281-b951-d872f2087c98
* Allow using system libevent instead of the bundled one.phajdan.jr@chromium.org2010-01-073-1/+12
| | | | | | | | | | | Patch by Bernard Cafarelli <voyageur@gentoo.org> TEST=none BUG=22140 Review URL: http://codereview.chromium.org/524061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35711 0039d316-1c4b-4281-b951-d872f2087c98
* A 1xx response code followed by an EOF triggered an infinite loop. Fix the ↵vandebo@chromium.org2010-01-073-1/+63
| | | | | | | | | | | problem and add a regression test. BUG=31324 TEST=new net unittest Review URL: http://codereview.chromium.org/523075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35680 0039d316-1c4b-4281-b951-d872f2087c98
* Changed catch-all Mac SSL OSStatus error to paramErr.akalin@chromium.org2010-01-061-2/+9
| | | | | | | | | | | | | Added net::ERR_UNEXPECTED <=> errSSLInternal mapping. Added net::ERR_INVALID_ARGUMENT => paramErr mapping. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/515049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35650 0039d316-1c4b-4281-b951-d872f2087c98
* Re-order some declarations in ProxyService, to ensure that deletion of ↵eroman@chromium.org2010-01-063-6/+78
| | | | | | | | | | | InitProxyResolver happens *after* the deletion of ProxyResolver. BUG=24864 TEST=ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingFetch, ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingSet Review URL: http://codereview.chromium.org/519060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35643 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more WinInet stuff.phajdan.jr@chromium.org2010-01-064-144/+0
| | | | | | | | | BUG=25520 TEST=none Review URL: http://codereview.chromium.org/525026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35619 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: allow TLS renegotiation.agl@chromium.org2010-01-061-0/+15
| | | | | | | | | | | | | | | Renegotiation was disabled when we switched to using our internal version of NSS. The default in the new versions is to prohibit renegotiation. However, since we are a client this is rather pointless. An attacker can easily convince us to start a new TLS connection to a host if they wish. http://codereview.chromium.org/501178 BUG=none TEST=Go to a site that uses renegotiation (generally because they want to request a client-side cert). git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35596 0039d316-1c4b-4281-b951-d872f2087c98
* Enhance a function comment per feedback from a code review.eroman@chromium.org2010-01-051-1/+2
| | | | | | | | TBR=wtc Review URL: http://codereview.chromium.org/521032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35565 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the implicit fallback to DIRECT when proxies fail. This better ↵eroman@chromium.org2010-01-0512-149/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matches other browsers, and simplifies the code. To better understand what this means, here are some examples how the behaviors will differ for the user: (1) You start chrome with --proxy-server="foobar:80". The server "foobar:80" is refusing connections. Before: Would fallback to direct after failing to connect through foobar:80. Now: Will error-out with connection refused after failing to connect through foobar:80. (2) You start chrome with --proxy-pac-url="file:///foobar.pac". The server "foobar:80" is unreachable, and foobar.pac reads: function FindProxyForURL(url, host) { return "PROXY foobar:80"; } Before: Would fallback to direct after failing to connect through foobar:80. Now: Will error-out with connection refused after failing to connect through foobar:80. (3) You start chrome with --proxy-pac-url="file:///foobar.pac". The server "foobar:80" is unreachable, and foobar.pac reads: function FindProxyForURL(url, host) { return "PROXY foobar:80; DIRECT"; } *No change, since the fallback to DIRECT is explicit in the PAC script* BUG=12303 Review URL: http://codereview.chromium.org/502068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35549 0039d316-1c4b-4281-b951-d872f2087c98
* Implement delaying resource requests until privacy blacklists are ready.phajdan.jr@chromium.org2010-01-052-43/+34
| | | | | | | | | | | | | | | | | | | Associate a BlacklistRequestInfo with each URLRequest started by ResourceDispatcherHost so that in various places we get access to the right BlacklistManager (each Profile has its own), and lazily cache a Blacklist::Match. BlacklistListener controls delaying requests until the privacy blacklist is ready for the request. BlacklistInterceptor handles substituting real response with a blocking page or blocking image. I've temporarily removed support for unblocking things. It was too hacky. This change also removes a large block of blacklist-related code from RDH to more focused classes. Should make it a little more readable. This should also make BlacklistManagerBrowserTest not flaky. TEST=Covered by browser_tests and unit_tests. BUG=21541, 29113 Review URL: http://codereview.chromium.org/501082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35538 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WinInet FTP code.phajdan.jr@chromium.org2010-01-056-1222/+0
| | | | | | | | | TEST=none BUG=25520 Review URL: http://codereview.chromium.org/523034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35524 0039d316-1c4b-4281-b951-d872f2087c98
* Add metarefresh for SDCH in yet another case.jar@chromium.org2010-01-042-3/+14
| | | | | | | | | | | | | I had historically hit meta-refresh loops, and the code appeared to be too careful to avoid such a loop. This change avoids the infinite loop, and does at least an SDCH backoff of support when an infinite loop might otherwise be induced. BUG=31271 r=kmixter Review URL: http://codereview.chromium.org/518029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35461 0039d316-1c4b-4281-b951-d872f2087c98
* If we can't read a unicode character, write the standard "unknown" (0xFFFD) ↵cevans@chromium.org2010-01-011-1/+1
| | | | | | | | | | | character. This will prevent security issues where the current behaviour can be used to strip characters out of a string after it has passed some validation. BUG=30798 TEST=utf_string_conversions_unittest.cc,utf_offset_string_conversions_unittest.cc,zip_unittest.cc Review URL: http://codereview.chromium.org/522029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35430 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup, removed unused URLRequestJob::GetMoreData() method.michaeln@chromium.org2009-12-305-23/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/515063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35385 0039d316-1c4b-4281-b951-d872f2087c98
* Clarify licenses on a bunch of files.evan@chromium.org2009-12-291-0/+36
| | | | | | | | | | | In this process, I also filed bugs on various projects we depend on that also have unclear licenses. BUG=28291 Review URL: http://codereview.chromium.org/521009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35323 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid meta-refresh when back-button gets non-sdch contentjar@chromium.org2009-12-282-5/+16
| | | | | | | | | | | | | | | | | | The first page search from google will not be SDCH encoded, but will trigger a background download of a dictionary for future use. ..but.. IF the user navigates forward from the search page, and then back, then Chromium will fetch the content from cache after specifying in the URL that a dictionary is now available. This new logic detects such a situation where non-SDCH content is pulled from the cache, and avoids the (slower and overly conservative) meta-refresh. test=see bug for repro cases. Check about:histogram/SDCH for error codes. bug=20457 r=kmixter Review URL: http://codereview.chromium.org/518016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35318 0039d316-1c4b-4281-b951-d872f2087c98
* Fixup some connection time measurements.mbelshe@google.com2009-12-283-6/+18
| | | | | | | | | | | | | | | | - Net.TCP_Connection_Latency Time to connect only - Net.DNS_Resolution_And_TCP_Connection_Latency2 Time to do DNS and Connect - Net.HttpConnectionLatency Time for HTTP to connect (includes all delays, DNS, Queue, TCP, etc) BUG=none TEST=none Review URL: http://codereview.chromium.org/517014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35316 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup histogram classes mixing SetFlags into FactoryGet argumentsjar@chromium.org2009-12-289-129/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Generic cleanup of histogram class, renaming *FactoryGet to FactoryGet, along with reformatting. The macros were cleaned up to use common sub-macros rather than repeating code as much. Removed ThreadSafeHistogram (and associated ASSET_HISTOGRAM macros) since this class was not getting used. I introduced UMA_HISTOGRAM_ENUMERATION to support the common use of LinearHistograms to count various enumerated values. I added a Flags argument to all the FactoryGet routines to help avoid needing to call SetFlags each time a new sample is Add()ed. This also simplifies the code. This will all help prepare for a "don't histogram at all" macro setting so that I can test the impact of the histogram macro calls on performance (since there are now so many active histograms). BUG=31206 r=raman.tenneti Review URL: http://codereview.chromium.org/515033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35295 0039d316-1c4b-4281-b951-d872f2087c98
* Add histograms for measuring stream performance.mbelshe@google.com2009-12-282-1/+53
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/519005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35293 0039d316-1c4b-4281-b951-d872f2087c98
* Add histograms for tracking session utilization.mbelshe@google.com2009-12-272-4/+38
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/523004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35292 0039d316-1c4b-4281-b951-d872f2087c98
* Create histogram of download bandwidths.mbelshe@google.com2009-12-251-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/516025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35270 0039d316-1c4b-4281-b951-d872f2087c98
* Several fixes to the Net.ConnectionTypeCount histogram.mbelshe@google.com2009-12-248-25/+57
| | | | | | | | | | | | | | | | | | * Previously, the "CONNECTION_ANY" was incorrectly recorded. It was recording every Http *transaction*, not every Http connection. * The histogram was vague about whether it was tracking successful or unsuccessful connections. In fact, it was recording all SSL connections (fail or success), and yet only successful HTTP connections. Modified to only apply to successful connections. * Added a Net.ConnectionTypeFailCount histogram which counts the number of failed connections by type. BUG=none TEST=none Review URL: http://codereview.chromium.org/519002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35264 0039d316-1c4b-4281-b951-d872f2087c98
* Added gtest filter for net_unittests that spawn processesglider@chromium.org2009-12-241-0/+4
| | | | | | | | | | (bug_31129) TBR=willchan Review URL: http://codereview.chromium.org/516024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35263 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: remove temporary check that the scons builders are working.agl@chromium.org2009-12-241-2/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35245 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix scons build so that libssl gets the right headers.agl@chromium.org2009-12-231-0/+2
| | | | | | http://codereview.chromium.org/515021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35243 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Linux: temp change to see if the builders are getting the wrong ↵agl@chromium.org2009-12-231-2/+0
| | | | | | headers." git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35240 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: temp change to see if the builders are getting the wrong headers.agl@chromium.org2009-12-231-0/+2
| | | | | | I'll be reverting this as soon as the builders pick it up. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35239 0039d316-1c4b-4281-b951-d872f2087c98
* Reorder some statements to fix compile warning on Linux canary.jam@chromium.org2009-12-231-2/+2
| | | | | | Review URL: http://codereview.chromium.org/515008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35199 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break from my last checkin. I accidently removed -T from the ↵jam@chromium.org2009-12-232-8/+3
| | | | | | | | | parameters to gperf, which supresses adding the struct to the generated file for the second unit test hash. TBR=brettw Review URL: http://codereview.chromium.org/518002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35198 0039d316-1c4b-4281-b951-d872f2087c98
* Use a perfect hash map for the registry controlled domain service.jam@chromium.org2009-12-2311-3927/+18583
| | | | | | | | On my very fast machine, building the std::set in release mode on startup and blocks the UI thread for 15ms (there are > 3300 entries). It also uses 275KB of memory, not including 50KB of data in the dll. Using a perfect hash map, there's no startup cost. The dll's size increases by 135KB but there's no extra memory consumption, leading to a memory reduction of 140KB. Review URL: http://codereview.chromium.org/515001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35196 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: don't send cookies with an OCSP request.agl@chromium.org2009-12-221-1/+2
| | | | | | | | | http://codereview.chromium.org/507066 BUG=30895 TEST=Watch an OCSP request in Wireshark (i.e. https://paypal.com). Check that cookies aren't sent. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35161 0039d316-1c4b-4281-b951-d872f2087c98
* Implement support for MLSD FTP command in FtpNetworkTransaction.phajdan.jr@chromium.org2009-12-223-6/+71
| | | | | | | | | | | | This way we can request the better-parseable MLSD listing, and in case it doesn't work fall back to LIST command. TEST=Covered by net_unittests. BUG=29691 Review URL: http://codereview.chromium.org/500134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35141 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some old debugging code.willchan@chromium.org2009-12-221-13/+1
| | | | | | Review URL: http://codereview.chromium.org/501165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35132 0039d316-1c4b-4281-b951-d872f2087c98
* Add LoadLogging to SOCKS5ClientSocket. Logs the state transitions, and more ↵eroman@chromium.org2009-12-222-7/+84
| | | | | | | | verbose information on errors. Review URL: http://codereview.chromium.org/503078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35128 0039d316-1c4b-4281-b951-d872f2087c98
* Move some logging from LOG(INFO) to the LoadLog. These particular ones are ↵eroman@chromium.org2009-12-224-30/+46
| | | | | | | | for proxy initialization, and are enabled in passive mode since the data will be little. Review URL: http://codereview.chromium.org/501162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35123 0039d316-1c4b-4281-b951-d872f2087c98
* Fix benign race on NetworkChangeNotifierThread's vtable pointer.willchan@chromium.org2009-12-211-0/+1
| | | | | | | | See bug 25385 and http://code.google.com/p/data-race-test/wiki/PopularDataRaces for details. Review URL: http://codereview.chromium.org/509017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35116 0039d316-1c4b-4281-b951-d872f2087c98
* Detects network changes. Only for Mac OS X so far. Hooks up ↵willchan@chromium.org2009-12-2121-31/+702
| | | | | | | | | | | TCPClientSocketPool to flush idle sockets on IP address change. BUG=http://crbug.com/26156 TEST=Run chrome with both network cable and wireless on. Go to www.google.com, twice. Verify second time via chrome://net-internals that the second request did not need a TCP_CONNECT_JOB, since we reused idle sockets. Unplug network cable. This should flush idle sockets. Go back to www.google.com. Check chrome://net-internals. Verify that there is a TCP_CONNECT_JOB for that request, because there was no idle socket to reuse. Review URL: http://codereview.chromium.org/460149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35107 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash with CancelStream. The stream didn't informmbelshe@chromium.org2009-12-213-16/+26
| | | | | | | | | | | | | | | the FlipSession, and the FlipSession continued to try to notify the stream of new data. Also re-enable the CancelTransaction test, which did catch the crash. BUG=none TEST=FlipNetworkTransactionTest.CancelTransaction Review URL: http://codereview.chromium.org/506062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35106 0039d316-1c4b-4281-b951-d872f2087c98
* Extend LoadLog to support logging of arbitrary strings, and of network error ↵eroman@chromium.org2009-12-2115-167/+357
| | | | | | | | | | | | | | codes. - The logging of error codes is intended to be used in passive mode. - The logging of string messages is intended to be used when in full-logging mode. - The logging of string literal messages is intended to be used in passive mode. BUG=27552 Review URL: http://codereview.chromium.org/503066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35103 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Enable SPDY via NPN.willchan@chromium.org2009-12-2110-105/+319
| | | | | | | | | | Add a new flip option: "npn". --use-flip=npn to activate. Allows for negotiation of SPDY via SSL for https urls. Checks for the existence of existing SPDY sessions and reuses them where possible. Review URL: http://codereview.chromium.org/500088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35099 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to enable full logging for LoadLogs.eroman@chromium.org2009-12-215-18/+204
| | | | | | | | | | | | | | | | | This works by clicking a button in about:net-internals to turn on active logging. Right now full logging means: - Instead of just the most recent 25 requests, keep all requests info. - Instead of limiting each request to 50 log entries, keep all log entries. - Instead of saving the first 1000 bytes of request URLs, save all its bytes. In the future full logging will be expanded to include other log events, and also string messages (so it can mirror what was sent to LOG(INFO) / LOG(WARNING)). BUG=27552 Review URL: http://codereview.chromium.org/507055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35098 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Use asynchronous IO to read an write thervargas@google.com2009-12-214-35/+78
| | | | | | | | | | | | response headers from the disk cache. BUG=26729 TEST=current unit tests. Review URL: http://codereview.chromium.org/506081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35094 0039d316-1c4b-4281-b951-d872f2087c98
* Mark URLRequestTestFTP.FTPGetTest as flaky.viettrungluu@chromium.org2009-12-201-1/+2
| | | | | | | | | | | | | | | It failed out of the blue here: <http://build.chromium.org/buildbot/waterfall/builders/Modules%20XP/builds/21055/steps/net_unittests/logs/stdio> I'm tempted to pre-emptively mark the rest of URLRequestTestFTP flaky. BUG=25045 TEST=more green, less red TBR=phajdan.jr@chromium.org Review URL: http://codereview.chromium.org/509003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35073 0039d316-1c4b-4281-b951-d872f2087c98