summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-20 16:32:32 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-20 16:32:32 +0000
commitdf2840d7c9c0e7a2ac4a167e4d9de254ae9fab11 (patch)
tree7a461519d28df2dfd3fc8f1679cc073016c9adc6 /chrome/browser/net
parent1b770e7eef5f6a5ba50c21c6f294c4e78393dbb2 (diff)
downloadchromium_src-df2840d7c9c0e7a2ac4a167e4d9de254ae9fab11.zip
chromium_src-df2840d7c9c0e7a2ac4a167e4d9de254ae9fab11.tar.gz
chromium_src-df2840d7c9c0e7a2ac4a167e4d9de254ae9fab11.tar.bz2
When user "discards history," discard speculative data as well
The speculative system record the first 10 connections that are made (at startup), and also learns about subresource connections made when the user visits sites. This information implies visitation history, and needs to be discarded when the user BUG=62891 r=eroman,sky Review URL: http://codereview.chromium.org/6538007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75525 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r--chrome/browser/net/predictor_api.cc9
-rw-r--r--chrome/browser/net/predictor_api.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/net/predictor_api.cc b/chrome/browser/net/predictor_api.cc
index 52a1497..f417aaf 100644
--- a/chrome/browser/net/predictor_api.cc
+++ b/chrome/browser/net/predictor_api.cc
@@ -96,6 +96,9 @@ class InitialObserver {
// Persist the current first_navigations_ for storage in a list.
void GetInitialDnsResolutionList(ListValue* startup_list);
+ // Discards all initial loading history.
+ void DiscardInitialNavigationHistory() { first_navigations_.clear(); }
+
private:
// List of the first N URL resolutions observed in this run.
FirstNavigations first_navigations_;
@@ -134,6 +137,12 @@ void OnTheRecord(bool enable) {
g_browser_process->io_thread()->ChangedToOnTheRecord();
}
+void DiscardInitialNavigationHistory() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ if (g_initial_observer)
+ g_initial_observer->DiscardInitialNavigationHistory();
+}
+
void RegisterUserPrefs(PrefService* user_prefs) {
user_prefs->RegisterListPref(prefs::kDnsPrefetchingStartupList);
user_prefs->RegisterListPref(prefs::kDnsPrefetchingHostReferralList);
diff --git a/chrome/browser/net/predictor_api.h b/chrome/browser/net/predictor_api.h
index 8f22d31..1eb27c0 100644
--- a/chrome/browser/net/predictor_api.h
+++ b/chrome/browser/net/predictor_api.h
@@ -41,6 +41,7 @@ void FreePredictorResources();
//------------------------------------------------------------------------------
// Global APIs relating to predictions in browser.
void EnablePredictor(bool enable);
+void DiscardInitialNavigationHistory();
void RegisterUserPrefs(PrefService* user_prefs);
// Renderer bundles up list and sends to this browser API via IPC.