Index: chrome/browser/history/history_backend.cc |
=================================================================== |
--- chrome/browser/history/history_backend.cc (revision 105497) |
+++ chrome/browser/history/history_backend.cc (working copy) |
@@ -23,10 +23,13 @@ |
#include "chrome/browser/history/history_notifications.h" |
#include "chrome/browser/history/history_publisher.h" |
#include "chrome/browser/history/in_memory_history_backend.h" |
+#include "chrome/browser/history/in_memory_url_index.h" |
#include "chrome/browser/history/page_usage_data.h" |
#include "chrome/browser/history/top_sites.h" |
+#include "chrome/browser/profiles/profile.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_notification_types.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/url_constants.h" |
#include "content/browser/cancelable_request.h" |
#include "content/browser/download/download_persistent_store_info.h" |
@@ -199,7 +202,8 @@ |
// HistoryBackend -------------------------------------------------------------- |
-HistoryBackend::HistoryBackend(const FilePath& history_dir, |
+HistoryBackend::HistoryBackend(Profile* profile, |
+ const FilePath& history_dir, |
int id, |
Delegate* delegate, |
BookmarkService* bookmark_service) |
@@ -212,6 +216,9 @@ |
backend_destroy_task_(NULL), |
segment_queried_(false), |
bookmark_service_(bookmark_service) { |
+ if (!CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kDisableHistoryQuickProvider)) |
+ in_memory_url_index_.reset(new InMemoryURLIndex(profile, history_dir_)); |
} |
HistoryBackend::~HistoryBackend() { |
@@ -630,6 +637,9 @@ |
archived_db_.reset(); |
} |
+ if (in_memory_url_index_.get()) |
+ in_memory_url_index_->Init(db_.get(), languages); |
+ |
// Tell the expiration module about all the nice databases we made. This must |
// happen before db_->Init() is called since the callback ForceArchiveHistory |
// may need to expire stuff. |
@@ -777,7 +787,6 @@ |
NOTREACHED() << "Could not add row to DB"; |
return; |
} |
- |
if (i->typed_count() > 0) |
modified->changed_urls.push_back(*i); |
} |
@@ -864,6 +873,7 @@ |
if (row_id && row.title() != title) { |
row.set_title(title); |
db_->UpdateURLRow(row_id, row); |
+ row.id_ = row_id; |
changed_urls.push_back(row); |
if (row.typed_count() > 0) |
typed_url_changed = true; |