summaryrefslogtreecommitdiffstats
path: root/net/proxy
Commit message (Collapse)AuthorAgeFilesLines
* TTF: Reenable some disabled tests.vandebo@chromium.org2010-06-181-3/+3
| | | | | | | | | | | | | | DevToolsSanityTest.TestConsoleLog seems to work ProxyResolverV8Test.FAILS_ReturnUnicode DepTest.FAILS_TestDepDisable VectorCanvasTest.FAILS_Matrix TEST=none BUG=disabled tests Review URL: http://codereview.chromium.org/2819011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50258 0039d316-1c4b-4281-b951-d872f2087c98
* Add DISABLE_RUNNABLE_METHOD_REFCOUNT to make disabling refcounts in ↵ajwong@chromium.org2010-06-161-5/+1
| | | | | | | | | | | RunnableMethods easier. BUG=none TEST=none Review URL: http://codereview.chromium.org/2830006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49887 0039d316-1c4b-4281-b951-d872f2087c98
* Add a net::HttpNetworkDelegate and a ChromeNetworkDelegate.willchan@chromium.org2010-06-151-1/+1
| | | | | | | | | net::HttpNetworkDelegate is an interface for providing hooks into http network activity. ChromeNetworkDelgate implements this interface in chrome/ code. In the future, it might also implement other interfaces. My only current intended consumer for this would be extensions. There's no actual behavior change, this is all just plumbing for now. BUG=29314 Review URL: http://codereview.chromium.org/2749015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49804 0039d316-1c4b-4281-b951-d872f2087c98
* Implement KDE ReversedException setting in Chromedavidben@chromium.org2010-06-148-27/+143
| | | | | | | | | | R=wtc,eroman BUG=45199 TEST=Added unit tests, can also verify with steps in bug report Review URL: http://codereview.chromium.org/2725009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49701 0039d316-1c4b-4281-b951-d872f2087c98
* Use KDEHOME variable instead of KDE_HOME for locating KDE directorydavidben@chromium.org2010-06-122-21/+21
| | | | | | | | | | | | KDE uses the former, not the latter. R=mdm,wtc BUG=none TEST=unit tests updated, change KDE proxy settings with custom KDEHOME and verify Chrome picks it up Review URL: http://codereview.chromium.org/2779015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49620 0039d316-1c4b-4281-b951-d872f2087c98
* A couple of style mods in proxy_config_service_linux.ccziadh@chromium.org2010-06-111-11/+11
| | | | | | | | | | | Relates to argument passing and iterating over an STL container. r=eroman Review URL: http://codereview.chromium.org/2735012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49478 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: check the timestamps of .kde and .kde4 to figure out which to use for ↵mdm@chromium.org2010-06-102-6/+38
| | | | | | | | | | proxy configuration in KDE. BUG=none TEST=under KDE4, if you have both .kde and .kde4, the one with a newer config directory within will be used Review URL: http://codereview.chromium.org/2729014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49459 0039d316-1c4b-4281-b951-d872f2087c98
* Allow bypassing a block of IP addresses using CIDR notation in the proxy ↵eroman@chromium.org2010-06-083-5/+83
| | | | | | | | | | | | | | | | | bypass list. For example: 10.3.1.3/16 2020:ffff::/96 Note that similar to firefox, this is only applied to IP literals in URLs, and NOT to the resolved addresses of URLs. BUG=9835 Review URL: http://codereview.chromium.org/2663001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49211 0039d316-1c4b-4281-b951-d872f2087c98
* Make HostResolver NonThreadSafe and not thread safe refcounted.willchan@chromium.org2010-06-033-119/+170
| | | | | | | | | | Required making SyncHostResolverBridge not use RefCountedThreadSafe. I refactored the innards to have a thread safe refcounted Core implementation. BUG=45298 Review URL: http://codereview.chromium.org/2122015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48867 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the logging for sockets/connectjobs.eroman@chromium.org2010-06-031-1/+1
| | | | | | | | | | | | | | | | | | In particular, make it work better when using backup jobs / late binding (the display was very confused before because of how these asynchronous events would nest). Also changed the paradigm for how PassiveLogCollector preserves these async associations -- this fixes how it replays the events to net-internals. (Before we would collapse the event streams into the SOURCE_URL_REQUEST which lost some hiearchy.. now I keep the separate streams). Some of the particular changes to the event streams: * ConnectJobs now create their own source stream internally. * Sockets are now bounded by +SOCKET_ALIVE / -SOCKET_ALIVE events (removed the one-off SOCKET_DONE event). * The socket log streams contains +SOCKET_IN_USE / -SOCKET_IN_USE event blocks to show which URLRequest was controlling it at various points in time (this makes it much easier to understand which read/writes belonged to a particular network transaction when a socket gets re-used). * ConnectJobs are bounded by +SOCKET_POOL_CONNECT_JOB / - SOCKET_POOL_CONNECT_JOB events. * ConnectJobs log the net error they failed with. * Removed the SOCKET_BACKUP_TIMER_EXTENDED event. Review URL: http://codereview.chromium.org/2363003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48797 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Fix kde no_proxy environment variable handling.mattm@chromium.org2010-05-182-18/+96
| | | | | | | | | BUG=43176 TEST=net_unittests, manual Review URL: http://codereview.chromium.org/2115006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47592 0039d316-1c4b-4281-b951-d872f2087c98
* Log the OS error that getaddrinfo() failed with.eroman@chromium.org2010-05-161-1/+1
| | | | | | | | | - Display it on the about:net-internals page - Collect it in the histogram Net.OSErrorsForGetAddrinfo. Review URL: http://codereview.chromium.org/2134004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47386 0039d316-1c4b-4281-b951-d872f2087c98
* Try to fix a deadlock that happened when running the network diagnostic tool ↵eroman@chromium.org2010-05-131-24/+48
| | | | | | | | | | | | | | tests, by releasing the V8 lock while executing the JS bindings functions. I don't fully understand how the deadlock happens, but this is a desirable change anyway as it increases the parallelism when running concurrent proxy resolvers. BUG=44013,44005 Review URL: http://codereview.chromium.org/2023009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47181 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: Add a backend factory class so that the callerrvargas@google.com2010-05-121-1/+1
| | | | | | | | | | | | has more control about the backend instantiation. BUG=none TEST=current unit tests. Review URL: http://codereview.chromium.org/2000011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47050 0039d316-1c4b-4281-b951-d872f2087c98
* Update V8 to version 2.2.9sgjesse@google.com2010-05-111-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2003010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46897 0039d316-1c4b-4281-b951-d872f2087c98
* Change the V8 proxy resolver bindings so that dnsResolve(XXX) returns null ↵eroman@chromium.org2010-05-052-31/+15
| | | | | | | | | | | | | when XXX is not a string. (The current behavior is to stringize XXX). This is consistent with other browsers. BUG=42646 TEST=ProxyResolverV8Test.V8indings Review URL: http://codereview.chromium.org/1954004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46487 0039d316-1c4b-4281-b951-d872f2087c98
* Replace CHECK(false) by LOG(FATAL) where appropriate.evan@chromium.org2010-05-051-2/+2
| | | | | | | | | The difference is that the error message doesn't contain "Assertion failed: false". Review URL: http://codereview.chromium.org/1970001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46422 0039d316-1c4b-4281-b951-d872f2087c98
* Add a tool for testing your network setup.eroman@chromium.org2010-05-042-0/+19
| | | | | | | | | | | | It runs a series of experiments using alternate network settings, to try and discover what the misconfiguration is. DESIGN=http://docs.google.com/Doc?id=dfhcnb2v_22cjtdznvg TEST=ConnectionTesterTest.* Review URL: http://codereview.chromium.org/1937001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46387 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a 15 connection per proxy server limit.willchan@chromium.org2010-04-292-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we had a limit of 6 connections per proxy server, which was horrifically low. Connections to all endpoint hosts remains at 6. Basically, we have a map of socket pools, keyed by the proxy server. Each of these proxy socket pools has a socket limit of 15 and a connection limit per host of 6. The main TCP socket pool (non-proxied) has the standard 256 socket limit, and connection limit per host of 6. There are two maps currently, one for HTTP proxies and one for SOCKS proxies. Note that SSL tunnels over HTTP CONNECTs are still located within the standard http proxy socket pools. We depend on the fact that our code never returns a non-SSL connected socket to the pool for a |connection_group| that is to a HTTPS endpoint. A newly connected socket from the pool will only have the TCP connection done. An idle socket will have both the TCP and the HTTP CONNECT and the SSL handshake done for it. TODO(willchan): Remove the extra constructor overload for the old deprecated parameters. Switch to using HostPortPair everywhere. TODO(willchan): Finish SSL socket pools. TODO(willchan): Rip out the DoInitConnection() code so it can be shared by other caller (TCP pre-warming!). TODO(willchan): Flush out the socket pool maps when the proxy configuration changes. TODO(willchan): Fix up global socket limits. They're slightly broken in this case, since each pool instance has its own "global" limit, so obviously different pools don't share the same "global" limit. This is such a minor deal since the global limits are so small for proxy servers compared to the system global limits (256 vs 15), that it doesn't have a big effect. TODO(willchan): Drink moar b33r. BUG=12066 Review URL: http://codereview.chromium.org/1808001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45896 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove the implicit constructor for BoundNetLog that allowed ↵eroman@chromium.org2010-04-2810-182/+226
| | | | | | | | | passing NULL in place of a const BoundNetLog&. BUG=37421 Review URL: http://codereview.chromium.org/1783008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45851 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup to address TODOs in net_log.h.eroman@chromium.org2010-04-285-39/+43
| | | | | | | | | | | * Removes 9 methods: AddEventWithParameters, BeginEventWithParameters, EndEventWithParameters, BeginEventWithString, BeginEventWithInteger, AddEventWithString, AddEventWithInteger, EndEventWithParameters, EndEventWithInteger. This was becoming ridiculous, instead made the EventParameters* a required parameter. * Moves CapturingBoundNetLog / CapturingNetLog to its own file. BUG=37421 Review URL: http://codereview.chromium.org/1746012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45843 0039d316-1c4b-4281-b951-d872f2087c98
* Remove proxy_mode_ from the HttpNetworkTransaction since itmbelshe@chromium.org2010-04-281-0/+14
| | | | | | | | | | | is redundant with proxy_info_. BUG=none TEST=covered by existing tests. Review URL: http://codereview.chromium.org/1809001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45787 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Address some of the todos in net_log.heroman@chromium.org2010-04-273-42/+42
| | | | | | | | | | | - Get rid of the AddString() and AddStringLiteral() methods. - Make EventParameters able to serialize to JSON, instead of a string. BUG=37421 Review URL: http://codereview.chromium.org/1716007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45750 0039d316-1c4b-4281-b951-d872f2087c98
* bsd: refactor XDG bits of linux_util into a shared file.evan@chromium.org2010-04-221-1/+1
| | | | | | | | | This allows the shared code to build on the BSDs without them needing to build _linux files. Review URL: http://codereview.chromium.org/1701005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45380 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: correctly ignore KDE "indirect" environment variable proxy settings ↵mdm@chromium.org2010-04-181-0/+2
| | | | | | | | | | when they are unset BUG=41095 TEST=configure KDE to use proxy settings from unset environment variables, it should not try to use the variable names as proxies Review URL: http://codereview.chromium.org/1518036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44892 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a deadlock that could happen during shutdown if a host resolve request ↵eroman@chromium.org2010-04-179-116/+468
| | | | | | | | | | | | | was outstanding by a PAC script. The solution is to abort the oustanding host resolver request during shutdown, and wake-up the blocked PAC thread. BUG=41244 TEST=SingleThreadedProxyResolverWithBridgedHostResolverTest.ShutdownDeadlock Review URL: http://codereview.chromium.org/1527037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44864 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Explicitly add a bunch of missing includes.thestig@chromium.org2010-04-151-3/+5
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1623014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44635 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for attaching custom parameters to NetLog events.eroman@chromium.org2010-04-091-3/+3
| | | | | | | | BUG=37421 Review URL: http://codereview.chromium.org/1556018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44057 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Use .kde4 for proxy settings when it is present and we are running ↵mdm@chromium.org2010-04-082-19/+160
| | | | | | | | | | under KDE4. Fall back to .kde if it is not present. Also, always respect $KDE_HOME if it is set. BUG=29927 TEST=configure a proxy on a distribution that uses .kde4 (most), we should detect it now Review URL: http://codereview.chromium.org/1524018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43969 0039d316-1c4b-4281-b951-d872f2087c98
* HostResolver now adds AI_CANONNAME to the hint flags if a requester needs ↵cbentzel@chromium.org2010-04-081-1/+2
| | | | | | | | | | | | | | | | the information. Requests which want the canonical name should be treated differently from requests that do not for the same host in both the HostCache as well as in the HostResolver when combining multiple outstanding requests into a job. The motivation for this is that Kerberos SPN's for a web server are typically generated using the canonical name of the server rather than a DNS alias (both Firefox and IE have this behavior). (note: I had to revert http://codereview.chromium.org/1566012/show because net_unittests were crashing/hanging on the main buildbot, even though they weren't on the trybots. Trying to figure out why). BUG=29862 TEST=net_unittests Review URL: http://codereview.chromium.org/1593015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43947 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 43826 - HostResolver now adds AI_CANONNAME to the hint flags if a ↵cbentzel@chromium.org2010-04-071-2/+1
| | | | | | | | | | | | | | | | | | requester needs the information. Requests which want the canonical name should be treated differently from requests that do not for the same host in both the HostCache as well as in the HostResolver when combining multiple outstanding requests into a job. The motivation for this is that Kerberos SPN's for a web server are typically generated using the canonical name of the server rather than a DNS alias (both Firefox and IE have this behavior). BUG=29862 TEST=net_unittests Review URL: http://codereview.chromium.org/1566012 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/1629005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43833 0039d316-1c4b-4281-b951-d872f2087c98
* HostResolver now adds AI_CANONNAME to the hint flags if a requester needs ↵cbentzel@chromium.org2010-04-071-1/+2
| | | | | | | | | | | | | | | the information. Requests which want the canonical name should be treated differently from requests that do not for the same host in both the HostCache as well as in the HostResolver when combining multiple outstanding requests into a job. The motivation for this is that Kerberos SPN's for a web server are typically generated using the canonical name of the server rather than a DNS alias (both Firefox and IE have this behavior). BUG=29862 TEST=net_unittests Review URL: http://codereview.chromium.org/1566012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43826 0039d316-1c4b-4281-b951-d872f2087c98
* Move EnvironmentVariableGetter from base/linux_util.h to base/env_var.h and ↵thestig@chromium.org2010-04-033-36/+31
| | | | | | | | | | rename it EnvVarGetter. Label base::SysInfo::{Get,Has}EnvVar as deprecated. BUG=none TEST=none Review URL: http://codereview.chromium.org/1606007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43559 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when calling a PAC binding from the global scope.eroman@chromium.org2010-03-312-14/+40
| | | | | | | | | BUG=40026 TEST=ProxyResolverV8Test.BindingCalledDuringInitialization Review URL: http://codereview.chromium.org/1520009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43268 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Turn on the GTK+ integration by default.erg@chromium.org2010-03-261-0/+1
| | | | | | | | | | | | | | This will regress default startup time for users by 50ms. This doesn't matter because this is what the users want--I've lost count of the number bloggers, people on twitter, and people in our IRC channel complaining about the lack of GTK+ integration...when it's just not on by default. BUG=none TEST=none Review URL: http://codereview.chromium.org/1442001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42804 0039d316-1c4b-4281-b951-d872f2087c98
* Move over another legacy "LoadLog-style" event generator to routing its ↵eroman@chromium.org2010-03-163-51/+60
| | | | | | | | | | messages through the NetLog. BUG=37421 Review URL: http://codereview.chromium.org/1052002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41768 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-1620-270/+279
| | | | | | | | | | | | | | | | event stream (NetLog). This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events. This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up. The user-visible behavior should remain unchanged. BUG=37421 Review URL: http://codereview.chromium.org/848006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
* Remove LOG(WARNING)s for when fails to parse proxy bypass rules.eroman@chromium.org2010-03-111-5/+3
| | | | | | | | | | This can pollute the log since it gets hit often (each time poll for checks). BUG=none Review URL: http://codereview.chromium.org/781001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41243 0039d316-1c4b-4281-b951-d872f2087c98
* Use CHECK_* in netwillchan@chromium.org2010-03-021-2/+2
| | | | | | Review URL: http://codereview.chromium.org/660404 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40453 0039d316-1c4b-4281-b951-d872f2087c98
* ProxyConfig behaved like a struct, but was defined as a class.eroman@chromium.org2010-02-2415-452/+618
| | | | | | | | | Changed it to be a proper class with hidden implementation variables, setters etc. Also seized this opportunity to move the bypass list from being a member of ProxyConfig, to being a member of ProxyRules. This is a more correct hiearchy, since the bypass rules only apply to the manual settings. Lastly, this makes it possible to have the manual rules evaluation be a method on ProxyRules, and shift some more code out of proxy_service. Review URL: http://codereview.chromium.org/651070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39818 0039d316-1c4b-4281-b951-d872f2087c98
* Really connect to the same server in FTP network transaction.phajdan.jr@chromium.org2010-02-201-1/+1
| | | | | | | | | | | | Also create necessary infrastructure to know the address a client socket is connected to. TEST=Covered by net_unittests. BUG=35670 Review URL: http://codereview.chromium.org/598071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39559 0039d316-1c4b-4281-b951-d872f2087c98
* Split out the handling of proxy bypass rules into ProxyBypassRules. There ↵eroman@chromium.org2010-02-1916-569/+717
| | | | | | | | | | | | | | are some pretty complicated rules, and this helps isolate that code and better test it. This also lays a framework for addressing bug 9835 (IP/CIDR matching) Lastly, adds support for the exclusion format ".domain" on all platforms, which is interpreted as "*.domain". BUG=28112 TEST=ProxyBypassRulesTest.* Review URL: http://codereview.chromium.org/601070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39486 0039d316-1c4b-4281-b951-d872f2087c98
* Added factories for HttpAuthHandler.cbentzel@chromium.org2010-02-151-3/+5
| | | | | | | | | | | | | | | | | | | The driving rationale for this change was to prevent choosing an AuthHandler when it is not supported on the system due to a missing runtime component (such as not being able to locate a gssapi shared library when seeing a Negotiate scheme). It also has the advantage (currently unused) of determining some per-auth-scheme properties only the first time that a challenge for that scheme is seen (such as maximum token length for the SSPI implementation of NTLM). Finally, it may make unit tests easier to generate since the factory can be easily mocked. BUG=34795 TEST=New unit test for HttpAuthHandlerDispatchFactory. Review URL: http://codereview.chromium.org/582007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39065 0039d316-1c4b-4281-b951-d872f2087c98
* Minor unittest cleanup.eroman@chromium.org2010-02-051-24/+21
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/561082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38244 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable a unittest which failed on valgrind thread sanitizer.eroman@chromium.org2010-02-051-1/+5
| | | | | | | | | | | | | TSAN had reported a race on the bool |should_block_|, between BlockableProxyResolver::GetProxyForURL() and BlockableProxyResolver::Unblock(). I avoided the problem by calling WaitUntilBlocked() before Unblock(), which is the same pardigm used by the other tests. Really, the best fix is to remove that limitation from BlockableProxyResolver... left that as a future TODO. TBR=willchan Review URL: http://codereview.chromium.org/561083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38195 0039d316-1c4b-4281-b951-d872f2087c98
* Disable a test which is causing an error under valgrind TSAN.eroman@chromium.org2010-02-051-1/+1
| | | | | | | | | | It looks like there is a problem with the test setup (BlockableProxyResolver tests a bool outside of a lock). I will fix that next. TBR=willchan Review URL: http://codereview.chromium.org/578011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38194 0039d316-1c4b-4281-b951-d872f2087c98
* Add a timing measurement to LoadLog that shows how long a proxy resolve ↵eroman@chromium.org2010-02-052-2/+85
| | | | | | | | | request was stalled waiting to be scheduled to a thread. TEST=SingleThreadedProxyResolverTest.UpdatesLoadLogWithThreadWait Review URL: http://codereview.chromium.org/570019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38181 0039d316-1c4b-4281-b951-d872f2087c98
* Add unittest for r37566 (on PAC failure, should fallback to DIRECT).eroman@chromium.org2010-02-052-9/+23
| | | | | | | | | | | | To make it more testable, I had to move the fallback code in question from HttpNetworkTransaction to ProxyService. Although I think this is a better fit for that code anway, so it should be an overall readability improvement. BUG=32316 TEST=ProxyServiceTest.ProxyFallback_BadConfig, ProxyServiceTest.ProxyResolverFails Review URL: http://codereview.chromium.org/556087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38177 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the NetworkChangeNotifier to HostResolver.willchan@chromium.org2010-02-043-7/+6
| | | | | | | | | | | | | | | This requires the following refactors: (1) NetworkChangeNotifier moves out of HttpNetworkSession into IOThread. (2) HostResolver gets initialized with NetworkChangeNotifier. (3) NetworkChangeNotifier needs to get passed into HttpCache and HttpNetworkSession (required updating a lot of files). (4) NetworkChangeNotifier is no longer reference counted. It is owned by IOThread. (5) IOThread gains a new struct: Globals. It can only be used on the io thread. (6) ChromeURLRequestContextFactory uses IOThread::Globals to initialize ChromeURLRequest objects with the host resolver and network change notifier. BUG=26159 Review URL: http://codereview.chromium.org/552117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38052 0039d316-1c4b-4281-b951-d872f2087c98
* Add fine grain tracing to HostResolverImpl.eroman@chromium.org2010-02-021-1/+0
| | | | | | | | | | | | | This will help in diagnosing the "slow resolving host" bugs. Users can now click an "Enable tracing" button on "chrome://net-internals/hostresolver". This logs detailed information on the DNS requests flowing through the browser (when they were received, when they were posted to the thread pool, when they started running on the worker thread, etc...). BUG=12754 Review URL: http://codereview.chromium.org/556094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37776 0039d316-1c4b-4281-b951-d872f2087c98