| Index: chrome/browser/history/page_collector.h
|
| diff --git a/chrome/browser/history/page_collector.h b/chrome/browser/history/page_collector.h
|
| deleted file mode 100644
|
| index c044a3bfbd85f5565b13862a02564fd67c12faa7..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/history/page_collector.h
|
| +++ /dev/null
|
| @@ -1,123 +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.
|
| -
|
| -#ifndef CHROME_BROWSER_HISTORY_PAGE_COLLECTOR_H_
|
| -#define CHROME_BROWSER_HISTORY_PAGE_COLLECTOR_H_
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/containers/mru_cache.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/strings/string16.h"
|
| -#include "base/time/time.h"
|
| -
|
| -class GURL;
|
| -
|
| -namespace history {
|
| -
|
| -class HistoryPublisher;
|
| -
|
| -// Collect page data and publish to HistoryPublisher.
|
| -class PageCollector {
|
| - public:
|
| - // You must call Init() to complete initialization.
|
| - PageCollector();
|
| - ~PageCollector();
|
| -
|
| - // Must call before using other functions.
|
| - void Init(const HistoryPublisher* history_publisher);
|
| -
|
| - // Sets specific information for the given page to be published.
|
| - // In normal operation, URLs will be added as the user visits them, the titles
|
| - // and bodies will come in some time after that. These changes will be
|
| - // automatically coalesced and added to the database some time in the future
|
| - // using AddPageData().
|
| - //
|
| - // AddPageURL must be called for a given URL before either the title
|
| - // or body set. The visit time should be the time corresponding to
|
| - // that visit in the history database.
|
| - void AddPageURL(const GURL& url, base::Time visit_time);
|
| - void AddPageTitle(const GURL& url, const string16& title);
|
| - void AddPageContents(const GURL& url, const string16& body);
|
| -
|
| - void AddPageData(const GURL& url,
|
| - base::Time visit_time,
|
| - const string16& title,
|
| - const string16& body);
|
| -
|
| - private:
|
| - // Stores "recent stuff" that has happened with the page, since the page
|
| - // visit, title, and body all come in at different times.
|
| - class PageInfo {
|
| - public:
|
| - explicit PageInfo(base::Time visit_time);
|
| - ~PageInfo();
|
| -
|
| - // Getters.
|
| - base::Time visit_time() const { return visit_time_; }
|
| - const string16& title() const { return title_; }
|
| - const string16& body() const { return body_; }
|
| -
|
| - // Setters, we can only update the title and body.
|
| - void set_title(const string16& ttl);
|
| - void set_body(const string16& bdy);
|
| -
|
| - // Returns true if both the title or body of the entry has been set. Since
|
| - // both the title and body setters will "fix" empty strings to be a space,
|
| - // these indicate if the setter was ever called.
|
| - bool has_title() const { return !title_.empty(); }
|
| - bool has_body() const { return !body_.empty(); }
|
| -
|
| - // Returns true if this entry was added too long ago and we should give up
|
| - // waiting for more data. The current time is passed in as an argument so we
|
| - // can check many without re-querying the timer.
|
| - bool Expired(base::TimeTicks now) const;
|
| -
|
| - private:
|
| - // Time of the visit of the URL. This will be the value stored in the URL
|
| - // and visit tables for the entry.
|
| - base::Time visit_time_;
|
| -
|
| - // When this page entry was created. We have a cap on the maximum time that
|
| - // an entry will be in the queue before being flushed to the database.
|
| - base::TimeTicks added_time_;
|
| -
|
| - // Will be the string " " when they are set to distinguish set and unset.
|
| - string16 title_;
|
| - string16 body_;
|
| - };
|
| -
|
| - // Collected data is published when both the title and body are
|
| - // present. https data is never passed to AddPageContents(), so
|
| - // periodically collected data is published without the contents.
|
| - // Pages which take a long time to load will not have their bodies
|
| - // published.
|
| - void ScheduleFlushCollected();
|
| - void FlushCollected();
|
| -
|
| - // Lists recent additions that we have not yet filled out with the title and
|
| - // body. Sorted by time, we will flush them when they are complete or have
|
| - // been in the queue too long without modification.
|
| - //
|
| - // We kind of abuse the MRUCache because we never move things around in it
|
| - // using Get. Instead, we keep them in the order they were inserted, since
|
| - // this is the metric we use to measure age. The MRUCache gives us an ordered
|
| - // list with fast lookup by URL.
|
| - typedef base::MRUCache<GURL, PageInfo> RecentChangeList;
|
| - RecentChangeList recent_changes_;
|
| -
|
| - // Generates tasks for our periodic checking of expired "recent changes".
|
| - base::WeakPtrFactory<PageCollector> weak_factory_;
|
| -
|
| - // This object is created and managed by the history backend. We maintain an
|
| - // opaque pointer to the object for our use.
|
| - // This can be NULL if there are no indexers registered to receive indexing
|
| - // data from us.
|
| - const HistoryPublisher* history_publisher_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PageCollector);
|
| -};
|
| -
|
| -} // namespace history
|
| -
|
| -#endif // CHROME_BROWSER_HISTORY_PAGE_COLLECTOR_H_
|
|
|