| Index: chrome/browser/history/history.h
 | 
| diff --git a/chrome/browser/history/history.h b/chrome/browser/history/history.h
 | 
| index c640f055277a660579f8118e50c56950a5e821b2..47cdeb80d75628d9f5e91792bda99000e8c0a6bf 100644
 | 
| --- a/chrome/browser/history/history.h
 | 
| +++ b/chrome/browser/history/history.h
 | 
| @@ -35,19 +35,17 @@ class BookmarkService;
 | 
|  class FilePath;
 | 
|  class GURL;
 | 
|  class HistoryURLProvider;
 | 
| -struct HistoryURLProviderParams;
 | 
|  class PageUsageData;
 | 
|  class PageUsageRequest;
 | 
|  class Profile;
 | 
| +struct DownloadPersistentStoreInfo;
 | 
| +struct HistoryURLProviderParams;
 | 
|  
 | 
|  namespace base {
 | 
|  class Thread;
 | 
|  class Time;
 | 
|  }
 | 
|  
 | 
| -namespace content {
 | 
| -struct DownloadPersistentStoreInfo;
 | 
| -}
 | 
|  
 | 
|  namespace history {
 | 
|  class InMemoryHistoryBackend;
 | 
| @@ -93,8 +91,8 @@ class HistoryDBTask : public base::RefCountedThreadSafe<HistoryDBTask> {
 | 
|  // The history service records page titles, and visit times, as well as
 | 
|  // (eventually) information about autocomplete.
 | 
|  //
 | 
| -// This service is thread safe. Each request callback is invoked in the
 | 
| -// thread that made the request.
 | 
| +// This service is thread safe. Each request callback that uses a
 | 
| +// CancelableRequestConsumer is invoked in the thread that made the request.
 | 
|  class HistoryService : public CancelableRequestProvider,
 | 
|                         public content::NotificationObserver,
 | 
|                         public RefcountedProfileKeyedService {
 | 
| @@ -444,15 +442,23 @@ class HistoryService : public CancelableRequestProvider,
 | 
|  
 | 
|    // Implemented by the caller of 'CreateDownload' below, and is called when the
 | 
|    // history service has created a new entry for a download in the history db.
 | 
| -  typedef base::Callback<void(int32, int64)> DownloadCreateCallback;
 | 
| +  typedef base::Callback<void(int64)> DownloadCreateCallback;
 | 
|  
 | 
|    // Begins a history request to create a new persistent entry for a download.
 | 
|    // 'info' contains all the download's creation state, and 'callback' runs
 | 
|    // when the history service request is complete.
 | 
| -  Handle CreateDownload(int32 id,
 | 
| -                        const content::DownloadPersistentStoreInfo& info,
 | 
| -                        CancelableRequestConsumerBase* consumer,
 | 
| -                        const DownloadCreateCallback& callback);
 | 
| +  virtual void CreateDownload(const DownloadPersistentStoreInfo& info,
 | 
| +                              const DownloadCreateCallback& callback);
 | 
| +
 | 
| +  typedef base::Callback<
 | 
| +      void(bool,        // Were we able to determine the # of visits?
 | 
| +           int,         // Number of visits.
 | 
| +           base::Time)> // Time of first visit. Only set if bool
 | 
| +                        // is true and int is > 0.
 | 
| +      GetVisibleVisitCountToHostSimpleCallback;
 | 
| +  virtual void GetVisibleVisitCountToHostSimple(
 | 
| +      const GURL& url,
 | 
| +      const GetVisibleVisitCountToHostSimpleCallback& callback);
 | 
|  
 | 
|    // Implemented by the caller of 'GetNextDownloadId' below.
 | 
|    typedef base::Callback<void(int)> DownloadNextIdCallback;
 | 
| @@ -464,15 +470,14 @@ class HistoryService : public CancelableRequestProvider,
 | 
|    // Implemented by the caller of 'QueryDownloads' below, and is called when the
 | 
|    // history service has retrieved a list of all download state. The call
 | 
|    typedef base::Callback<void(
 | 
| -      std::vector<content::DownloadPersistentStoreInfo>*)>
 | 
| +      scoped_ptr<std::vector<DownloadPersistentStoreInfo> >)>
 | 
|            DownloadQueryCallback;
 | 
|  
 | 
|    // Begins a history request to retrieve the state of all downloads in the
 | 
|    // history db. 'callback' runs when the history service request is complete,
 | 
|    // at which point 'info' contains an array of DownloadPersistentStoreInfo, one
 | 
|    // per download.
 | 
| -  Handle QueryDownloads(CancelableRequestConsumerBase* consumer,
 | 
| -                        const DownloadQueryCallback& callback);
 | 
| +  virtual void QueryDownloads(const DownloadQueryCallback& callback);
 | 
|  
 | 
|    // Begins a request to clean up entries that has been corrupted (because of
 | 
|    // the crash, for example).
 | 
| @@ -481,22 +486,11 @@ class HistoryService : public CancelableRequestProvider,
 | 
|    // Called to update the history service about the current state of a download.
 | 
|    // This is a 'fire and forget' query, so just pass the relevant state info to
 | 
|    // the database with no need for a callback.
 | 
| -  void UpdateDownload(const content::DownloadPersistentStoreInfo& data);
 | 
| -
 | 
| -  // Called to update the history service about the path of a download.
 | 
| -  // This is a 'fire and forget' query.
 | 
| -  void UpdateDownloadPath(const FilePath& path, int64 db_handle);
 | 
| -
 | 
| -  // Permanently remove a download from the history system. This is a 'fire and
 | 
| -  // forget' operation.
 | 
| -  void RemoveDownload(int64 db_handle);
 | 
| -
 | 
| -  // Permanently removes all completed download from the history system within
 | 
| -  // the specified range. This function does not delete downloads that are in
 | 
| -  // progress or in the process of being cancelled. This is a 'fire and forget'
 | 
| -  // operation. You can pass is_null times to get unbounded time in either or
 | 
| -  // both directions.
 | 
| -  void RemoveDownloadsBetween(base::Time remove_begin, base::Time remove_end);
 | 
| +  virtual void UpdateDownload(const DownloadPersistentStoreInfo& data);
 | 
| +
 | 
| +  // Permanently remove a set of downloads from the history system. This is a
 | 
| +  // 'fire and forget' operation.
 | 
| +  virtual void RemoveDownloads(const std::set<int64>& handles);
 | 
|  
 | 
|    // Visit Segments ------------------------------------------------------------
 | 
|  
 | 
| 
 |