summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_shutdown.cc
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-17 22:50:14 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-17 22:50:14 +0000
commit03c5e868627fd74ec5c13cb26df3cb110853765f (patch)
treec97563d5255b2ae0de3faf921577130bb346008f /chrome/browser/browser_shutdown.cc
parentb7125fd56addf151194b09314c1f7f2c9d03a5b9 (diff)
downloadchromium_src-03c5e868627fd74ec5c13cb26df3cb110853765f.zip
chromium_src-03c5e868627fd74ec5c13cb26df3cb110853765f.tar.gz
chromium_src-03c5e868627fd74ec5c13cb26df3cb110853765f.tar.bz2
Persist info about subresources on pages for DNS pre-resolution
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
Diffstat (limited to 'chrome/browser/browser_shutdown.cc')
-rw-r--r--chrome/browser/browser_shutdown.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/browser_shutdown.cc b/chrome/browser/browser_shutdown.cc
index d3d1b98..ef12384 100644
--- a/chrome/browser/browser_shutdown.cc
+++ b/chrome/browser/browser_shutdown.cc
@@ -114,6 +114,12 @@ void Shutdown() {
PrefService* prefs = g_browser_process->local_state();
chrome_browser_net::SaveHostNamesForNextStartup(prefs);
+ // TODO(jar): Trimming should be done more regularly, such as every 48 hours
+ // of physical time, or perhaps after 48 hours of running (excluding time
+ // between sessions possibly).
+ // For now, we'll just trim at shutdown.
+ chrome_browser_net::TrimSubresourceReferrers();
+ chrome_browser_net::SaveSubresourceReferrers(prefs);
MetricsService* metrics = g_browser_process->metrics_service();
if (metrics) {