diff options
author | cbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-15 19:57:29 +0000 |
---|---|---|
committer | cbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-15 19:57:29 +0000 |
commit | e26020469bc0ecf2a31471465fd6782465b9be1c (patch) | |
tree | 74d243147ebbac8bc55922a03e4c35df43be5f33 /chrome/browser/prerender/prerender_history.cc | |
parent | 1a5f6e5a2466e9a3bf47300dc56afe4d708d9524 (diff) | |
download | chromium_src-e26020469bc0ecf2a31471465fd6782465b9be1c.zip chromium_src-e26020469bc0ecf2a31471465fd6782465b9be1c.tar.gz chromium_src-e26020469bc0ecf2a31471465fd6782465b9be1c.tar.bz2 |
Prerender tab for net-internals
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7143001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89235 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_history.cc')
-rw-r--r-- | chrome/browser/prerender/prerender_history.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chrome/browser/prerender/prerender_history.cc b/chrome/browser/prerender/prerender_history.cc new file mode 100644 index 0000000..319af90 --- /dev/null +++ b/chrome/browser/prerender/prerender_history.cc @@ -0,0 +1,41 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/prerender/prerender_history.h" + +#include "base/logging.h" +#include "base/values.h" + +namespace prerender { + +PrerenderHistory::PrerenderHistory(size_t max_items) + : max_items_(max_items) { + DCHECK(max_items > 0); +} + +PrerenderHistory::~PrerenderHistory() { +} + +void PrerenderHistory::AddEntry(const Entry& entry) { + DCHECK(CalledOnValidThread()); + while (entries_.size() >= max_items_) + entries_.pop_front(); + entries_.push_back(entry); +} + +Value* PrerenderHistory::GetEntriesAsValue() const { + ListValue* return_list = new ListValue(); + for (std::list<Entry>::const_reverse_iterator it = entries_.rbegin(); + it != entries_.rend(); + ++it) { + const Entry& entry = *it; + DictionaryValue* v = new DictionaryValue(); + v->SetString("url", entry.url.spec()); + v->SetString("final_status", NameFromFinalStatus(entry.final_status)); + return_list->Append(v); + } + return return_list; +} + +} // namespace prerender |