summaryrefslogtreecommitdiffstats
path: root/chrome/browser/io_thread.cc
Commit message (Collapse)AuthorAgeFilesLines
* Added HttpAuthFilter.cbentzel@chromium.org2010-02-261-2/+28
| | | | | | | | | | | Original patch by ahendrickson@chromium.org (http://codereview.chromium.org/646068) BUG=29596 TEST=net_unittests.exe --gtest_filter="*HttpAuthFilterTest*" Review URL: http://codereview.chromium.org/660193 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40157 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 40099 - Revert 39998 Revert 39996 Refine IPv6 probe to require that ↵jar@chromium.org2010-02-261-33/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the client has an IPv6 address on an interface It is indeed causing a perf regression in startup on Linux... I'll need to rearchitect to do the probes asynchronously, and get off the startup-critical-path. This currently only works on Posix, not windows. Network changes are monitored, and the test is repeated each time interfaces change (which is a subset of any IP addresses changing). The test performed is still relatively low latency, and we *may* need to eventually move to an high latency test, such as a DNS resolution, or an actual test connection. If we move in that direction, then we'll need to post a task to perform the work, rather than immediately returning. BUG=25680 BUG=12754 r=wtc,eroman Review URL: http://codereview.chromium.org/652072 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/660073 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/661164 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/660165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40101 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 39998 - Revert 39996 Refine IPv6 probe to require that the client ↵jar@chromium.org2010-02-261-28/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has an IPv6 address on an interface This is a second attempt to land a reviewed change. It was reverted because the tree got very red (for other reasons), and it was plausible that this change was causing startup latency in Mac and Linux (causing both perf bots to go red). If this landing turns those perf-bots red (tonight) I'll need to revert. (... and I'll need to rearchitect to do the probes asynchronously, and get off the startup-critical-path. This currently only works on Posix, not windows. Network changes are monitored, and the test is repeated each time interfaces change (which is a subset of any IP addresses changing). The test performed is still relatively low latency, and we *may* need to eventually move to an high latency test, such as a DNS resolution, or an actual test connection. If we move in that direction, then we'll need to post a task to perform the work, rather than immediately returning. BUG=25680 BUG=12754 r=wtc,eroman Review URL: http://codereview.chromium.org/652072 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/660073 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/661164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40099 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 39996 - Refine IPv6 probe to require that the client has an IPv6 ↵jar@chromium.org2010-02-251-33/+28
| | | | | | | | | | | | | | | | | | | | | | | | address on an interface This currently only works on Posix, not windows. Network changes are monitored, and the test is repeated each time interfaces change (which is a subset of any IP addresses changing). The test performed is still relatively low latency, and we *may* need to eventually move to an high latency test, such as a DNS resolution, or an actual test connection. If we move in that direction, then we'll need to post a task to perform the work, rather than immediately returning. BUG=25680 BUG=12754 r=wtc,eroman Review URL: http://codereview.chromium.org/652072 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/660073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39998 0039d316-1c4b-4281-b951-d872f2087c98
* Refine IPv6 probe to require that the client has an IPv6 address on an interfacejar@chromium.org2010-02-251-28/+33
| | | | | | | | | | | | | | | | | | | This currently only works on Posix, not windows. Network changes are monitored, and the test is repeated each time interfaces change (which is a subset of any IP addresses changing). The test performed is still relatively low latency, and we *may* need to eventually move to an high latency test, such as a DNS resolution, or an actual test connection. If we move in that direction, then we'll need to post a task to perform the work, rather than immediately returning. BUG=25680 BUG=12754 r=wtc,eroman Review URL: http://codereview.chromium.org/652072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39996 0039d316-1c4b-4281-b951-d872f2087c98
* Make MappedHostResolver display its internals on the about:net-internals ↵eroman@chromium.org2010-02-191-6/+5
| | | | | | | | | | | page (so use of the --host-resolver-rules flag doesn't limit features), and run through the Shutdown() method on exit. This reworks the "IsHostResolverImpl()" hack to be a bit more general. BUG=36053 Review URL: http://codereview.chromium.org/646003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39488 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the command line flag --testing-fixed-host.eroman@chromium.org2010-02-181-13/+3
| | | | | | | | | | | | This has been superceded by --host-resolver-rules. (Instead of --testing-fixed-host="foobar" one would use --host-resolver-rules="MAP * foobar") BUG=36053 Review URL: http://codereview.chromium.org/647005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39393 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command-line flag to remap hostnames based on patterns.eroman@chromium.org2010-02-181-26/+39
| | | | | | | | | | | This is a generalization of the --testing-fixed-server flag. BUG=36053 TEST=MappedHostResolverTest.* Review URL: http://codereview.chromium.org/647001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39342 0039d316-1c4b-4281-b951-d872f2087c98
* Added factories for HttpAuthHandler.cbentzel@chromium.org2010-02-151-0/+3
| | | | | | | | | | | | | | | | | | | 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
* Add IPv6 probing support, and disable IPv6 resolution when it is useless jar@chromium.org2010-02-081-2/+19
| | | | | | | | | | | | | | | | | | | I've added minimal probing to check if IPv6 is at all possible, and when it is not, then we disable IPv6 resolution. I've also added histograms and A/B test support to evaluate the impact of this change. (I landed originally, but had tree problems, and this is a new CL to tryto reland). Note that I've switched back to MACRO style enums as well, per http://dev.chromium.org/developers/coding-style (search for "enum"). This version now does the conditional testing at a higher level (in io_thread.h), so that it should interfere less with other testing. r=wtc,eroman Review URL: http://codereview.chromium.org/585005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38402 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 38307 - Test to see if IPv6 can be disabled: Will roll back ASAPjar@chromium.org2010-02-061-1/+1
| | | | | | | | | | | | | This tests to see what happens if the command line option disables IPv6. I will roll back as soon as the builders start. TBR=eroman Review URL: http://codereview.chromium.org/579022 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/579023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38308 0039d316-1c4b-4281-b951-d872f2087c98
* Test to see if IPv6 can be disabled: Will roll back ASAPjar@chromium.org2010-02-061-1/+1
| | | | | | | | | | This tests to see what happens if the command line option disables IPv6. I will roll back as soon as the builders start. TBR=eroman Review URL: http://codereview.chromium.org/579022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38307 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the HostResolver::Shutdown() method.eroman@chromium.org2010-02-051-2/+5
| | | | | | | | | | | While this doesn't entirely remove the hack, it limits the scope of it to HostResolverImpl. Hopefully in the future HostResolver will not be refcounted so this can go away altogether. BUG=18373 Review URL: http://codereview.chromium.org/569035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38243 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 38085 - A brief test of whether we can safely disable ipv6. Will ↵jar@chromium.org2010-02-041-1/+1
| | | | | | | | | | | | | | | | | rollback asap. Having had trouble with a probe based disabling of ipv6, I wanted to understand if globally disabling IPv6 is problematic. I'll rollback this chance as soon as the buildbots begin to test it. tbr=wtc Review URL: http://codereview.chromium.org/573004 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/561070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38086 0039d316-1c4b-4281-b951-d872f2087c98
* A brief test of whether we can safely disable ipv6. Will rollback asap.jar@chromium.org2010-02-041-1/+1
| | | | | | | | | | | | Having had trouble with a probe based disabling of ipv6, I wanted to understand if globally disabling IPv6 is problematic. I'll roll-back this chance as soon as the build-bots begin to test it. tbr=wtc Review URL: http://codereview.chromium.org/573004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38085 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the NetworkChangeNotifier to HostResolver.willchan@chromium.org2010-02-041-18/+24
| | | | | | | | | | | | | | | 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-3/+7
| | | | | | | | | | | | | 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
* Pull IOThread out of BrowserProcessImpl. Move the dns prefetching ↵willchan@chromium.org2010-01-221-0/+183
initialization into IOThread. The global host resolver and dns master have changed to be member variables of IOThread. BUG=26156,26159 Review URL: http://codereview.chromium.org/553026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36866 0039d316-1c4b-4281-b951-d872f2087c98