Chromium Code Reviews| Index: chrome/browser/history/history.h |
| diff --git a/chrome/browser/history/history.h b/chrome/browser/history/history.h |
| index fdbc3f3e4d69551406d830ec344d67f3e34d70b8..7b116b047f30f9e913ef75a0b92029bcbe068485 100644 |
| --- a/chrome/browser/history/history.h |
| +++ b/chrome/browser/history/history.h |
| @@ -25,6 +25,7 @@ |
| #include "chrome/browser/history/history_types.h" |
| #include "chrome/browser/profiles/profile_keyed_service.h" |
| #include "chrome/browser/search_engines/template_url_id.h" |
| +#include "chrome/browser/visitedlink/visitedlink_delegate.h" |
| #include "chrome/common/cancelable_task_tracker.h" |
| #include "chrome/common/ref_counted_util.h" |
| #include "content/public/browser/notification_observer.h" |
| @@ -45,6 +46,7 @@ class HistoryURLProvider; |
| class PageUsageData; |
| class PageUsageRequest; |
| class Profile; |
| +class VisitedLinkMaster; |
| struct HistoryURLProviderParams; |
| namespace base { |
| @@ -107,7 +109,8 @@ class HistoryDBTask : public base::RefCountedThreadSafe<HistoryDBTask> { |
| class HistoryService : public CancelableRequestProvider, |
| public content::NotificationObserver, |
| public syncer::SyncableService, |
| - public ProfileKeyedService { |
| + public ProfileKeyedService, |
| + public VisitedLinkDelegate { |
| public: |
| // Miscellaneous commonly-used types. |
| typedef std::vector<PageUsageData*> PageUsageDataList; |
| @@ -261,31 +264,6 @@ class HistoryService : public CancelableRequestProvider, |
| // Querying ------------------------------------------------------------------ |
| - // Callback class that a client can implement to iterate over URLs. The |
| - // callbacks WILL BE CALLED ON THE BACKGROUND THREAD! Your implementation |
| - // should handle this appropriately. |
| - class URLEnumerator { |
| - public: |
| - // Indicates that a URL is available. There will be exactly one call for |
| - // every URL in history. |
| - virtual void OnURL(const history::URLRow& url_row) = 0; |
| - |
| - // Indicates we are done iterating over URLs. Once called, there will be no |
| - // more callbacks made. This call is guaranteed to occur, even if there are |
| - // no URLs. If all URLs were iterated, success will be true. |
| - virtual void OnComplete(bool success) = 0; |
| - |
| - protected: |
| - virtual ~URLEnumerator() {} |
| - }; |
| - |
| - // Enumerate all URLs in history. The given iterator will be owned by the |
| - // caller, so the caller should ensure it exists until OnComplete is called. |
| - // You should not generally use this since it will be slow to slurp all URLs |
| - // in from the database. It is designed for rebuilding the visited link |
| - // database from history. |
| - void IterateURLs(URLEnumerator* iterator); |
| - |
| // Returns the information about the requested URL. If the URL is found, |
| // success will be true and the information will be in the URLRow parameter. |
| // On success, the visits, if requested, will be sorted by date. If they have |
| @@ -673,6 +651,12 @@ class HistoryService : public CancelableRequestProvider, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) OVERRIDE; |
| + // Implementation of VisitedLinkDelegate. |
| + virtual bool IsEquivalentContext(content::BrowserContext* context1, |
|
Jói
2012/12/19 14:07:20
nit: I know I suggested this name, but now that I
boliu
2012/12/29 01:48:12
Done.
|
| + content::BrowserContext* context2) OVERRIDE; |
| + virtual void RebuildTable( |
| + VisitedLinkDelegate::URLEnumerator* enumerator) OVERRIDE; |
| + |
| // Low-level Init(). Same as the public version, but adds a |no_db| parameter |
| // that is only set by unittests which causes the backend to not init its DB. |
| bool Init(const FilePath& history_dir, |
| @@ -1094,6 +1078,9 @@ class HistoryService : public CancelableRequestProvider, |
| // The profile, may be null when testing. |
| Profile* profile_; |
| + // This is null in tests. |
| + scoped_ptr<VisitedLinkMaster> visitedlink_master_; |
| + |
| // Has the backend finished loading? The backend is loaded once Init has |
| // completed. |
| bool backend_loaded_; |