Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(885)

Unified Diff: chrome/browser/history/page_collector.cc

Issue 71723003: Remove HistoryPublisher code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove ref to history_indexer.idl Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/history/page_collector.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/history/page_collector.cc
diff --git a/chrome/browser/history/page_collector.cc b/chrome/browser/history/page_collector.cc
deleted file mode 100644
index da07ad1ed552e201012b4bd29300234f151ff409..0000000000000000000000000000000000000000
--- a/chrome/browser/history/page_collector.cc
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright (c) 2013 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/history/page_collector.h"
-
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/history/history_publisher.h"
-#include "url/gurl.h"
-
-namespace {
-
-// Page info older than this will be published even if we haven't
-// gotten a title and/or body.
-const int kExpirationSeconds = 20;
-
-} // namespace
-
-namespace history {
-
-// PageCollector::PageInfo -----------------------------------------------
-
-PageCollector::PageInfo::PageInfo(base::Time visit_time)
- : visit_time_(visit_time),
- added_time_(base::TimeTicks::Now()) {
-}
-
-PageCollector::PageInfo::~PageInfo() {}
-
-// NOTE(shess): Per the comment on has_title() and has_body(), this
-// code maps empty strings to single space to differentiate set title
-// and body from empty. This approach is held over from the original
-// TextDatabaseManager version.
-void PageCollector::PageInfo::set_title(const string16& ttl) {
- if (ttl.empty())
- title_ = ASCIIToUTF16(" ");
- else
- title_ = ttl;
-}
-
-void PageCollector::PageInfo::set_body(const string16& bdy) {
- if (bdy.empty())
- body_ = ASCIIToUTF16(" ");
- else
- body_ = bdy;
-}
-
-bool PageCollector::PageInfo::Expired(base::TimeTicks now) const {
- return now - added_time_ > base::TimeDelta::FromSeconds(kExpirationSeconds);
-}
-
-PageCollector::PageCollector()
- : recent_changes_(RecentChangeList::NO_AUTO_EVICT),
- weak_factory_(this) {
-}
-
-PageCollector::~PageCollector() {
-}
-
-void PageCollector::Init(const HistoryPublisher* history_publisher) {
- history_publisher_ = history_publisher;
-}
-
-void PageCollector::AddPageURL(const GURL& url, base::Time time) {
- // Don't collect data which cannot be published.
- if (!history_publisher_)
- return;
-
- // Just save this info for later (evicting any previous data). We
- // will delete it when it expires or when all the data is complete.
- recent_changes_.Put(url, PageInfo(time));
-
- // Schedule flush if not already scheduled.
- if (!weak_factory_.HasWeakPtrs())
- ScheduleFlushCollected();
-}
-
-void PageCollector::AddPageTitle(const GURL& url, const string16& title) {
- if (!history_publisher_)
- return;
-
- // If the title comes in after the page has aged out, drop it.
- // Older code would manufacture information from the database.
- RecentChangeList::iterator found = recent_changes_.Peek(url);
- if (found == recent_changes_.end())
- return;
-
- // Publish the info if complete.
- if (found->second.has_body()) {
- history_publisher_->PublishPageContent(
- found->second.visit_time(), url, title, found->second.body());
- recent_changes_.Erase(found);
- } else {
- found->second.set_title(title);
- }
-}
-
-void PageCollector::AddPageContents(const GURL& url,
- const string16& body) {
- if (!history_publisher_)
- return;
-
- // If the body comes in after the page has aged out, drop it.
- // Older code would manufacture information from the database.
- RecentChangeList::iterator found = recent_changes_.Peek(url);
- if (found == recent_changes_.end())
- return;
-
- // Publish the info if complete.
- if (found->second.has_title()) {
- history_publisher_->PublishPageContent(
- found->second.visit_time(), url, found->second.title(), body);
- recent_changes_.Erase(found);
- } else {
- found->second.set_body(body);
- }
-}
-
-void PageCollector::AddPageData(const GURL& url,
- base::Time visit_time,
- const string16& title,
- const string16& body) {
- if (!history_publisher_)
- return;
-
- // Publish the item.
- history_publisher_->PublishPageContent(visit_time, url, title, body);
-}
-
-void PageCollector::ScheduleFlushCollected() {
- weak_factory_.InvalidateWeakPtrs();
- base::MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&PageCollector::FlushCollected,
- weak_factory_.GetWeakPtr()),
- base::TimeDelta::FromSeconds(kExpirationSeconds));
-}
-
-void PageCollector::FlushCollected() {
- base::TimeTicks now = base::TimeTicks::Now();
-
- // Iterate from oldest to newest publishing items which expire while
- // waiting for title or body.
- RecentChangeList::reverse_iterator iter = recent_changes_.rbegin();
- while (iter != recent_changes_.rend() && iter->second.Expired(now)) {
- AddPageData(iter->first, iter->second.visit_time(),
- iter->second.title(), iter->second.body());
- iter = recent_changes_.Erase(iter);
- }
-
- if (!recent_changes_.empty())
- ScheduleFlushCollected();
-}
-
-} // namespace history
« no previous file with comments | « chrome/browser/history/page_collector.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698