summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/dns_global.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactor DNS A/B experient, and add test of congestion time limitsjar@chromium.org2009-06-271-10/+18
| | | | | | | | | | | | | | | | I added another option in the DNS experiment: user 2 seconds or 500ms for the congestion limit (that causes pre-resolutions to be discarded from the queue. The code in browser_main.cc was getting toooo large, so I pulled all the experiment code into dns_global.cc. BUG=15479 r=eroman Review URL: http://codereview.chromium.org/147215 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19464 0039d316-1c4b-4281-b951-d872f2087c98
* Make net::HostResolver refcounted.ericroman@google.com2009-06-271-5/+1
| | | | | | | | | | | This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer. BUG=http://crbug.com/14664 TEST=existing unit tests. Review URL: http://codereview.chromium.org/149053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19451 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 19425.ericroman@google.com2009-06-261-1/+5
| | | | | | Review URL: http://codereview.chromium.org/147242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19432 0039d316-1c4b-4281-b951-d872f2087c98
* Make net::HostResolver refcounted.ericroman@google.com2009-06-261-5/+1
| | | | | | | | | | | This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer. BUG=http://crbug.com/14664 TEST=existing unit tests. Review URL: http://codereview.chromium.org/149053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19425 0039d316-1c4b-4281-b951-d872f2087c98
* Change DnsMaster to only access HostResolver only on the IO thread.ericroman@google.com2009-06-111-1/+13
| | | | | | | | | | | | | | | And plumb through an (unused) HostResolver dependency into DnsMaster. This is in preparation for <http://codereview.chromium.org/118100> which turns HostResolver into a (non-thread-safe) shared dependency of the URLRequestContext. After CL 118100, DnsMaster will be issuing host resolves through the main URLRequestContext's HostResolver (now on the IO thread). This will have the effect of warming the shared HostResolver's internal cache. BUG=13163 TEST=existing unit tests Review URL: http://codereview.chromium.org/122028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18212 0039d316-1c4b-4281-b951-d872f2087c98
* Test impact of 4 rather than 8 parallel DNS prefetchjar@chromium.org2009-06-011-3/+7
| | | | | | | | BUG=6532 r=wtc Review URL: http://codereview.chromium.org/115990 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17338 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when dns prefetching was being shut down without being started.phajdan.jr@chromium.org2009-02-231-2/+3
| | | | | | | | | | | | | | | | This happened when BrowserMain exited before the point when we initialized dns prefetching, but after BrowserProcessImpl was created. We do shutdown of dns prefetching in ~BrowserProcessImpl. Example way to trigger the crash: open a saved HTML page while Chrome is already running. Change ShutdownDnsPrefetch to EnsureDnsPrefetchingShutdown which does nothing if dns prefetching has not been initialized. This is the simplest way to prevent the crash and we don't want to complicate the startup sequence even more. BUG=7900 Review URL: http://codereview.chromium.org/27048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10201 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up dns prefetch code, and also port it.phajdan.jr@chromium.org2009-02-191-2/+12
| | | | | | | | | | | | | | | | | | | | - remove slave threads and use HostResolver in asynchronous mode instead (while still limiting number of concurrent lookups) - make the implementation portable and make DnsMaster unit test compile and pass on Linux - add more tests to DnsMaster unit test to simulate various shutdown scenarios, concurrent lookups, and to verify that we don't exceed our limit of concurrent lookup requests) - remove some tests which relied on specifics of slaves' inner working - adjust initialization and shutdown of dns prefetching (now it relies on the IO message loop being present) Bonus: shutdown is almost instant now, no need to have a timeout. BUG=5687, 6683 Review URL: http://codereview.chromium.org/15076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10021 0039d316-1c4b-4281-b951-d872f2087c98
* Persist info about subresources on pages for DNS pre-resolutionjar@chromium.org2009-02-171-0/+5
| | | | | | | | | | | | | | | | | | | | | The DNS pre-resolution system already "learns" what domains are commonly needed when rendering sub-resources of a page at a given domain. This patch saves (some of) the information learned into a persistent pref, and restores it on startup. For now, I put in a wimpy pruning of the list each time I save, so that the list will not grow endlessly from session to session. I probably need a better pruning algorithm, such as one that prunes after a given amount of time, rather than only during shutdown. For now, this should get a lot of nice results, and provide slightly larger than needed lists to users that have long lived sessions, which is similar to the current performance, where I didn't persist any info, and only pruned (actually discarded) all learned info at shutdown. r=mbelshe Review URL: http://codereview.chromium.org/21374 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9912 0039d316-1c4b-4281-b951-d872f2087c98
* Make the autocomplete system and various other connected bits of code use ↵pkasting@chromium.org2008-12-101-1/+1
| | | | | | | | GURL instead of wstring where appropriate. Original patch by phajdan.jr@gmail.com, r=me,sky. See http://codereview.chromium.org/13205 . BUG=715234 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6758 0039d316-1c4b-4281-b951-d872f2087c98
* Adaptively identify URL subresources and pre-resolve hosts via DNSjar@google.com2008-11-061-2/+6
| | | | | | | | | | | | | | | | | | | | Use the HTTP "referer" header to identify subresources used during a page load. Store that info, and use it when next visiting the referenced hosts to pre-resolve the (probably) needed subresources. This set of changes will surely evolve as we see how it plays out on broader distribution (via histogram measurments), but this should be the foundation of the change. In design specs, this was previously referred to as "adaptive correlated DNS prefetching." r=mbelshe Review URL: http://codereview.chromium.org/9168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4929 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup of DNS prefetch related filesjar@google.com2008-10-271-6/+6
| | | | | | | | | | | I have a separate change list coming to support predictive DNS resolutions, so I pulled out a pile of mechanical changes (with no semantic changes intendend). r=mbelshe Review URL: http://codereview.chromium.org/8624 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4015 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+80
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98