#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/strings/string16.h"
-#include "chrome/browser/autocomplete/autocomplete_match.h"
-#include "chrome/browser/autocomplete/history_provider_util.h"
#include "chrome/browser/common/cancelable_request.h"
#include "chrome/browser/history/history_db_task.h"
#include "chrome/browser/history/history_types.h"
namespace imui = in_memory_url_index;
+class HistoryClient;
class HistoryDatabase;
class URLIndexPrivateData;
struct URLsDeletedDetails;
// which URLs and omnibox searches are broken down into words and characters.
InMemoryURLIndex(Profile* profile,
const base::FilePath& history_dir,
- const std::string& languages);
+ const std::string& languages,
+ HistoryClient* client);
virtual ~InMemoryURLIndex();
// Opens and prepares the index of historical URL visits. If the index private
// URLIndexPrivateData class. For a complete description of this function
// refer to that class. If |cursor_position| is base::string16::npos, the
// function doesn't do anything special with the cursor; this is equivalent
- // to the cursor being at the end.
+ // to the cursor being at the end. In total, |max_matches| of items will be
+ // returned in the |ScoredHistoryMatches| vector.
ScoredHistoryMatches HistoryItemsForTerms(const base::string16& term_string,
- size_t cursor_position);
+ size_t cursor_position,
+ size_t max_matches);
// Deletes the index entry, if any, for the given |url|.
void DeleteURL(const GURL& url);
// The profile, may be null when testing.
Profile* profile_;
+ // The HistoryClient; may be NULL when testing.
+ HistoryClient* history_client_;
+
// Directory where cache file resides. This is, except when unit testing,
// the same directory in which the profile's history database is found. It
// should never be empty.
// to be cached. Set to false when the index has been cached. Used as a
// temporary safety check to insure that the cache is saved before the
// index has been destructed.
- // TODO(mrossetti): Eliminate once the transition to SQLite has been done.
- // http://crbug.com/83659
bool needs_to_be_cached_;
DISALLOW_COPY_AND_ASSIGN(InMemoryURLIndex);