diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-17 22:50:14 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-17 22:50:14 +0000 |
commit | 03c5e868627fd74ec5c13cb26df3cb110853765f (patch) | |
tree | c97563d5255b2ae0de3faf921577130bb346008f /base | |
parent | b7125fd56addf151194b09314c1f7f2c9d03a5b9 (diff) | |
download | chromium_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 'base')
-rw-r--r-- | base/values.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/base/values.h b/base/values.h index 19a1cb9..cad1311 100644 --- a/base/values.h +++ b/base/values.h @@ -260,14 +260,14 @@ class DictionaryValue : public Value { // It can't be used to modify the dictionary. class key_iterator : private std::iterator<std::input_iterator_tag, const std::wstring> { - public: + public: key_iterator(ValueMap::const_iterator itr) { itr_ = itr; } key_iterator operator++() { ++itr_; return *this; } const std::wstring& operator*() { return itr_->first; } bool operator!=(const key_iterator& other) { return itr_ != other.itr_; } bool operator==(const key_iterator& other) { return itr_ == other.itr_; } - private: + private: ValueMap::const_iterator itr_; }; |