summaryrefslogtreecommitdiffstats
path: root/chrome/browser/io_thread.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bugs related to the GPU process terminating unexpectedly.kbr@google.com2010-04-021-2/+0
| | | | | | | | | | BUG=40173 TEST=ran WebGL tests, killed GPU process, and reloaded page TBR=jam Review URL: http://codereview.chromium.org/1549013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43437 0039d316-1c4b-4281-b951-d872f2087c98
* Do not set the whiltelist filter on the default auth handlerwtc@chromium.org2010-03-301-13/+11
| | | | | | | | | | | | factory unless the --auth-server-whitelist command-line option is specified. R=ahendrickson,cbentzel BUG=29596 TEST=HTTP NTLM or Negotiate authentication should work again. Review URL: http://codereview.chromium.org/1569007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43134 0039d316-1c4b-4281-b951-d872f2087c98
* Split GpuProcessHost into GpuProcessHostUIShim, which runs on the UIkbr@google.com2010-03-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thread, and GpuProcessHost, which now runs on the IO thread and derives from ChildProcessHost. This split was necessary in order to service synchronous messages from the renderer process. Moved message handlers for GPU messages from renderer to browser from BrowserRenderProcessHost to ResourceMessageFilter. Stopped sending multiple ViewHostMsg_EstablishGpuChannel messages from the same renderer if the connection was already established. Resetting the channel was causing failures in Send, and every other page reload containing WebGL content to fail. This cleanup will allow further simplification in the GPU process, but this is being left for a subsequent CL. Fixed bug in sandboxing of GPU process. Fixed latent bugs in cleanup code in GpuChannel and GpuChannelHost. Fixed crashes in ChildProcessHost if resource_dispatcher_host_ was NULL. Fixed apparent latent race conditions in creation of BackingStoreProxy and VideoLayerProxy. With these changes, WebGL content is running in the sandbox on both Mac and Windows. Linux support will be added in a following CL. BUG=29120 TEST=ran WebGL demos on Mac and Windows Review URL: http://codereview.chromium.org/1546001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43029 0039d316-1c4b-4281-b951-d872f2087c98
* HttpAuthFilterWhitelist is now getting entries from the Windowsahendrickson@google.com2010-03-251-11/+14
| | | | | | | | | | | | | | | | | | registry, and adding them to whatever is in the command line. Added a basic IsIntranetHost() member function to HttpNetworkTransaction. Removed it until we figure out what to do with it. Added unit tests. Refactored SetFilters() to be less confusing. Unit tests now use a dummy registry key. BUG=29596 TEST=net_unittests.exe --gtest_filter=HttpAuthFilterTest.* Review URL: http://codereview.chromium.org/669068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42600 0039d316-1c4b-4281-b951-d872f2087c98
* Add IPv6 probe support for Windowsjar@chromium.org2010-03-241-2/+6
| | | | | | | | | | | | | | | | | | | | | This is meant to test to see if AI_ADDRCONFIG is doing its job in windows, or if we have to do the scans when there is a network change. Also switch to always doing probe support on Mac/Linux platforms. There appears to be (on aggregate) around a 40% degradation of DNS resolution times on the Mac, and about 17% degration on Linux, when we don't probe. It is likely that a few users are greatly impacted by this, and are able to move the average of the whole user population. BUG=12754 BUG=25680 r=wtc Review URL: http://codereview.chromium.org/1210003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42544 0039d316-1c4b-4281-b951-d872f2087c98
* Refine IPv6 probe to require that the client has an IPv6 address on an interfacejar@chromium.org2010-03-161-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 performed on a worker thread, so latency should not be an issue (even if we created much slower tests). The current test appears to takes in the raneg of 50-100ms, and probably (under the covers) does some reading from files). BUG=25680 BUG=12754 r=wtc,eroman Review URL: http://codereview.chromium.org/1006001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41743 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-0/+7
| | | | | | | | | | | | | | | | 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
* 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