Index: components/omnibox/browser/history_quick_provider_unittest.cc |
diff --git a/components/omnibox/browser/history_quick_provider_unittest.cc b/components/omnibox/browser/history_quick_provider_unittest.cc |
index cec085b80dbabdf1ade095bfb4c30892c4926562..8531c0e566d8005c93a0616558de088d4e48b073 100644 |
--- a/components/omnibox/browser/history_quick_provider_unittest.cc |
+++ b/components/omnibox/browser/history_quick_provider_unittest.cc |
@@ -26,17 +26,16 @@ |
#include "components/bookmarks/test/test_bookmark_client.h" |
#include "components/history/core/browser/history_backend.h" |
#include "components/history/core/browser/history_database.h" |
-#include "components/history/core/browser/history_database_params.h" |
#include "components/history/core/browser/history_service.h" |
#include "components/history/core/browser/history_service_observer.h" |
#include "components/history/core/browser/url_database.h" |
-#include "components/history/core/test/test_history_database.h" |
+#include "components/history/core/test/history_service_test_util.h" |
#include "components/metrics/proto/omnibox_event.pb.h" |
#include "components/omnibox/browser/autocomplete_match.h" |
#include "components/omnibox/browser/autocomplete_result.h" |
-#include "components/omnibox/browser/history_index_restore_observer.h" |
#include "components/omnibox/browser/history_url_provider.h" |
#include "components/omnibox/browser/in_memory_url_index.h" |
+#include "components/omnibox/browser/in_memory_url_index_test_util.h" |
#include "components/omnibox/browser/mock_autocomplete_provider_client.h" |
#include "components/omnibox/browser/test_scheme_classifier.h" |
#include "components/omnibox/browser/url_index_private_data.h" |
@@ -179,31 +178,21 @@ class GetURLTask : public history::HistoryDBTask { |
DISALLOW_COPY_AND_ASSIGN(GetURLTask); |
}; |
-class QuitTask : public history::HistoryDBTask { |
- public: |
- QuitTask() {} |
- |
- bool RunOnDBThread(history::HistoryBackend* backend, |
- history::HistoryDatabase* db) override { |
- return true; |
- } |
- |
- void DoneRunOnMainThread() override { |
- base::MessageLoop::current()->QuitWhenIdle(); |
- } |
- |
- private: |
- ~QuitTask() override {} |
- |
- DISALLOW_COPY_AND_ASSIGN(QuitTask); |
-}; |
- |
class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient { |
public: |
- FakeAutocompleteProviderClient() { |
+ FakeAutocompleteProviderClient() : pool_owner_(3, "Background Pool") { |
bookmark_model_ = bookmarks::TestBookmarkClient::CreateModel(); |
set_template_url_service( |
make_scoped_ptr(new TemplateURLService(nullptr, 0))); |
+ if (history_dir_.CreateUniqueTempDir()) { |
+ history_service_ = history::CreateHistoryService( |
+ history_dir_.path(), GetAcceptLanguages(), true); |
+ } |
+ |
+ in_memory_url_index_.reset(new InMemoryURLIndex( |
+ bookmark_model_.get(), history_service_.get(), pool_owner_.pool().get(), |
+ history_dir_.path(), GetAcceptLanguages(), SchemeSet())); |
+ in_memory_url_index_->Init(); |
} |
const AutocompleteSchemeClassifier& GetSchemeClassifier() const override { |
@@ -215,7 +204,7 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient { |
} |
history::HistoryService* GetHistoryService() override { |
- return &history_service_; |
+ return history_service_.get(); |
} |
bookmarks::BookmarkModel* GetBookmarkModel() override { |
@@ -233,11 +222,13 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient { |
} |
private: |
+ base::SequencedWorkerPoolOwner pool_owner_; |
+ base::ScopedTempDir history_dir_; |
scoped_ptr<bookmarks::BookmarkModel> bookmark_model_; |
TestSchemeClassifier scheme_classifier_; |
SearchTermsData search_terms_data_; |
scoped_ptr<InMemoryURLIndex> in_memory_url_index_; |
- history::HistoryService history_service_; |
+ scoped_ptr<history::HistoryService> history_service_; |
DISALLOW_COPY_AND_ASSIGN(FakeAutocompleteProviderClient); |
}; |
@@ -246,7 +237,7 @@ class FakeAutocompleteProviderClient : public MockAutocompleteProviderClient { |
class HistoryQuickProviderTest : public testing::Test { |
public: |
- HistoryQuickProviderTest() : pool_owner_(3, "Background Pool") {} |
+ HistoryQuickProviderTest() {} |
protected: |
class SetShouldContain : public std::unary_function<const std::string&, |
@@ -302,15 +293,7 @@ class HistoryQuickProviderTest : public testing::Test { |
// the result. |
bool GetURLProxy(const GURL& url); |
- // Helper functions to initialize the HistoryService. |
- bool InitializeHistoryService(); |
- void CreateInMemoryURLIndex(); |
- void BlockUntilHistoryProcessesPendingRequests(); |
- void BlockUntilHistoryIndexIsRefreshed(); |
- |
base::MessageLoop message_loop_; |
- base::SequencedWorkerPoolOwner pool_owner_; |
- base::ScopedTempDir history_dir_; |
scoped_ptr<FakeAutocompleteProviderClient> client_; |
ACMatches ac_matches_; // The resulting matches after running RunTest. |
@@ -320,16 +303,20 @@ class HistoryQuickProviderTest : public testing::Test { |
void HistoryQuickProviderTest::SetUp() { |
client_.reset(new FakeAutocompleteProviderClient()); |
- ASSERT_TRUE(InitializeHistoryService()); |
+ ASSERT_TRUE(client_->GetHistoryService()); |
FillData(); |
- // |FillData()| must be called before |CreateInMemoryURLIndex()|. This will |
+ // |FillData()| must be called before |RebuildFromHistory()|. This will |
// ensure that the index is properly populated with data from the database. |
- CreateInMemoryURLIndex(); |
- BlockUntilHistoryIndexIsRefreshed(); |
+ InMemoryURLIndex* url_index = client_->GetInMemoryURLIndex(); |
+ url_index->RebuildFromHistory( |
+ client_->GetHistoryService()->history_backend_->db()); |
+ BlockUntilInMemoryURLIndexIsRefreshed(url_index); |
+ |
// History index refresh creates rebuilt tasks to run on history thread. |
// Block here to make sure that all of them are complete. |
- BlockUntilHistoryProcessesPendingRequests(); |
+ history::BlockUntilHistoryProcessesPendingRequests( |
+ client_->GetHistoryService()); |
provider_ = new HistoryQuickProvider(client_.get()); |
} |
@@ -496,46 +483,6 @@ bool HistoryQuickProviderTest::GetURLProxy(const GURL& url) { |
return result; |
} |
-bool HistoryQuickProviderTest::InitializeHistoryService() { |
- if (!history_dir_.CreateUniqueTempDir() || |
- !client_->GetHistoryService()->Init( |
- false, client_->GetAcceptLanguages(), |
- history::TestHistoryDatabaseParamsForPath(history_dir_.path()))) |
- return false; |
- |
- BlockUntilHistoryProcessesPendingRequests(); |
- return true; |
-} |
- |
-void HistoryQuickProviderTest::CreateInMemoryURLIndex() { |
- scoped_ptr<InMemoryURLIndex> in_memory_url_index(new InMemoryURLIndex( |
- client_->GetBookmarkModel(), client_->GetHistoryService(), |
- pool_owner_.pool().get(), history_dir_.path(), |
- client_->GetAcceptLanguages(), SchemeSet())); |
- in_memory_url_index->Init(); |
- in_memory_url_index->RebuildFromHistory(history_backend()->db()); |
- client_->set_in_memory_url_index(std::move(in_memory_url_index)); |
-} |
- |
-void HistoryQuickProviderTest::BlockUntilHistoryProcessesPendingRequests() { |
- base::CancelableTaskTracker tracker; |
- client_->GetHistoryService()->ScheduleDBTask( |
- scoped_ptr<history::HistoryDBTask>(new QuitTask()), &tracker); |
- base::MessageLoop::current()->Run(); |
-} |
- |
-void HistoryQuickProviderTest::BlockUntilHistoryIndexIsRefreshed() { |
- InMemoryURLIndex* index = client_->GetInMemoryURLIndex(); |
- if (!index || index->restored()) |
- return; |
- base::RunLoop run_loop; |
- HistoryIndexRestoreObserver observer(run_loop.QuitClosure()); |
- index->set_restore_cache_observer(&observer); |
- run_loop.Run(); |
- index->set_restore_cache_observer(nullptr); |
- DCHECK(index->restored()); |
-} |
- |
TEST_F(HistoryQuickProviderTest, SimpleSingleMatch) { |
std::vector<std::string> expected_urls; |
expected_urls.push_back("http://slashdot.org/favorite_page.html"); |