Index: chrome/browser/history/history_backend_unittest.cc |
diff --git a/chrome/browser/history/history_backend_unittest.cc b/chrome/browser/history/history_backend_unittest.cc |
index 21d67c00ff9e0f7cc4feee695366b0c7457e6f9d..cbf82bf8fd29a89d0ce2b7cb9a3f9cf37572c60c 100644 |
--- a/chrome/browser/history/history_backend_unittest.cc |
+++ b/chrome/browser/history/history_backend_unittest.cc |
@@ -21,8 +21,6 @@ |
#include "base/strings/string16.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/utf_string_conversions.h" |
-#include "chrome/browser/chrome_notification_types.h" |
-#include "chrome/browser/history/history_notifications.h" |
#include "chrome/browser/history/history_service.h" |
#include "chrome/browser/history/history_service_factory.h" |
#include "chrome/browser/history/in_memory_history_backend.h" |
@@ -32,13 +30,12 @@ |
#include "chrome/test/base/testing_profile.h" |
#include "components/history/core/browser/history_constants.h" |
#include "components/history/core/browser/history_database_params.h" |
+#include "components/history/core/browser/history_service_observer.h" |
#include "components/history/core/browser/in_memory_database.h" |
#include "components/history/core/browser/keyword_search_term.h" |
#include "components/history/core/browser/visit_filter.h" |
#include "components/history/core/test/history_client_fake_bookmarks.h" |
#include "components/history/core/test/test_history_database.h" |
-#include "content/public/browser/notification_details.h" |
-#include "content/public/browser/notification_source.h" |
#include "content/public/test/test_browser_thread.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -128,12 +125,14 @@ class HistoryBackendTestDelegate : public HistoryBackend::Delegate { |
const RedirectList& redirects, |
base::Time visit_time) override; |
void NotifyURLsModified(const URLRows& changed_urls) override; |
+ void NotifyURLsDeleted(bool all_history, |
+ bool expired, |
+ const URLRows& deleted_rows, |
+ const std::set<GURL>& favicon_urls) override; |
void NotifyKeywordSearchTermUpdated(const URLRow& row, |
KeywordID keyword_id, |
const base::string16& term) override; |
void NotifyKeywordSearchTermDeleted(URLID url_id) override; |
- void BroadcastNotifications(int type, |
- scoped_ptr<HistoryDetails> details) override; |
void DBLoaded() override; |
private: |
@@ -145,9 +144,9 @@ class HistoryBackendTestDelegate : public HistoryBackend::Delegate { |
class HistoryBackendTestBase : public testing::Test { |
public: |
- typedef std::vector<std::pair<int, HistoryDetails*> > NotificationList; |
typedef std::vector<std::pair<ui::PageTransition, URLRow>> URLVisitedList; |
typedef std::vector<URLRows> URLsModifiedList; |
+ typedef std::vector<std::pair<bool, bool>> URLsDeletedList; |
HistoryBackendTestBase() |
: loaded_(false), |
@@ -155,7 +154,6 @@ class HistoryBackendTestBase : public testing::Test { |
ui_thread_(content::BrowserThread::UI, &message_loop_) {} |
~HistoryBackendTestBase() override { |
- STLDeleteValues(&broadcasted_notifications_); |
} |
protected: |
@@ -183,18 +181,14 @@ class HistoryBackendTestBase : public testing::Test { |
return urls_modified_notifications_; |
} |
- int num_broadcasted_notifications() const { |
- return broadcasted_notifications_.size(); |
- } |
- |
- const NotificationList& broadcasted_notifications() const { |
- return broadcasted_notifications_; |
+ const URLsDeletedList& urls_deleted_notifications() const { |
+ return urls_deleted_notifications_; |
} |
void ClearBroadcastedNotifications() { |
url_visited_notifications_.clear(); |
urls_modified_notifications_.clear(); |
- STLDeleteValues(&broadcasted_notifications_); |
+ urls_deleted_notifications_.clear(); |
} |
base::FilePath test_dir() { |
@@ -220,6 +214,15 @@ class HistoryBackendTestBase : public testing::Test { |
urls_modified_notifications_.push_back(changed_urls); |
} |
+ void NotifyURLsDeleted(bool all_history, |
+ bool expired, |
+ const URLRows& deleted_rows, |
+ const std::set<GURL>& favicon_urls) { |
+ mem_backend_->OnURLsDeleted(nullptr, all_history, expired, deleted_rows, |
+ favicon_urls); |
+ urls_deleted_notifications_.push_back(std::make_pair(all_history, expired)); |
+ } |
+ |
void NotifyKeywordSearchTermUpdated(const URLRow& row, |
KeywordID keyword_id, |
const base::string16& term) { |
@@ -230,17 +233,6 @@ class HistoryBackendTestBase : public testing::Test { |
mem_backend_->OnKeywordSearchTermDeleted(nullptr, url_id); |
} |
- void BroadcastNotifications(int type, scoped_ptr<HistoryDetails> details) { |
- // Send the notifications directly to the in-memory database. |
- content::Details<HistoryDetails> det(details.get()); |
- mem_backend_->Observe( |
- type, content::Source<HistoryBackendTestBase>(NULL), det); |
- |
- // The backend passes ownership of the details pointer to us. |
- broadcasted_notifications_.push_back( |
- std::make_pair(type, details.release())); |
- } |
- |
history::HistoryClientFakeBookmarks history_client_; |
scoped_refptr<HistoryBackend> backend_; // Will be NULL on init failure. |
scoped_ptr<InMemoryHistoryBackend> mem_backend_; |
@@ -276,10 +268,10 @@ class HistoryBackendTestBase : public testing::Test { |
} |
// The types and details of notifications which were broadcasted. |
- NotificationList broadcasted_notifications_; |
int favicon_changed_notifications_; |
URLVisitedList url_visited_notifications_; |
URLsModifiedList urls_modified_notifications_; |
+ URLsDeletedList urls_deleted_notifications_; |
base::MessageLoop message_loop_; |
base::FilePath test_dir_; |
@@ -310,6 +302,14 @@ void HistoryBackendTestDelegate::NotifyURLsModified( |
test_->NotifyURLsModified(changed_urls); |
} |
+void HistoryBackendTestDelegate::NotifyURLsDeleted( |
+ bool all_history, |
+ bool expired, |
+ const URLRows& deleted_rows, |
+ const std::set<GURL>& favicon_urls) { |
+ test_->NotifyURLsDeleted(all_history, expired, deleted_rows, favicon_urls); |
+} |
+ |
void HistoryBackendTestDelegate::NotifyKeywordSearchTermUpdated( |
const URLRow& row, |
KeywordID keyword_id, |
@@ -321,12 +321,6 @@ void HistoryBackendTestDelegate::NotifyKeywordSearchTermDeleted(URLID url_id) { |
test_->NotifyKeywordSearchTermDeleted(url_id); |
} |
-void HistoryBackendTestDelegate::BroadcastNotifications( |
- int type, |
- scoped_ptr<HistoryDetails> details) { |
- test_->BroadcastNotifications(type, details.Pass()); |
-} |
- |
void HistoryBackendTestDelegate::DBLoaded() { |
test_->loaded_ = true; |
} |
@@ -494,20 +488,15 @@ class InMemoryHistoryBackendTest : public HistoryBackendTestBase { |
~InMemoryHistoryBackendTest() override {} |
protected: |
- void SimulateNotification(int type, |
- const URLRow* row1, |
- const URLRow* row2 = NULL, |
- const URLRow* row3 = NULL) { |
- DCHECK(type == chrome::NOTIFICATION_HISTORY_URLS_DELETED); |
- |
+ void SimulateNotificationURLsDeleted(const URLRow* row1, |
+ const URLRow* row2 = NULL, |
+ const URLRow* row3 = NULL) { |
URLRows rows; |
rows.push_back(*row1); |
if (row2) rows.push_back(*row2); |
if (row3) rows.push_back(*row3); |
- scoped_ptr<URLsDeletedDetails> details(new URLsDeletedDetails()); |
- details->rows = rows; |
- BroadcastNotifications(type, details.Pass()); |
+ NotifyURLsDeleted(false, false, rows, std::set<GURL>()); |
} |
size_t GetNumberOfMatchingSearchTerms(const int keyword_id, |
@@ -710,13 +699,9 @@ TEST_F(HistoryBackendTest, DeleteAll) { |
EXPECT_TRUE(history_client_.IsBookmarked(row1.url())); |
// Check that we fire the notification about all history having been deleted. |
- ASSERT_EQ(1u, broadcasted_notifications().size()); |
- ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URLS_DELETED, |
- broadcasted_notifications()[0].first); |
- const URLsDeletedDetails* details = static_cast<const URLsDeletedDetails*>( |
- broadcasted_notifications()[0].second); |
- EXPECT_TRUE(details->all_history); |
- EXPECT_FALSE(details->expired); |
+ ASSERT_EQ(1u, urls_deleted_notifications().size()); |
+ EXPECT_TRUE(urls_deleted_notifications()[0].first); |
+ EXPECT_FALSE(urls_deleted_notifications()[0].second); |
} |
// Checks that adding a visit, then calling DeleteAll, and then trying to add |
@@ -3166,8 +3151,7 @@ TEST_F(InMemoryHistoryBackendTest, OnURLsDeletedPiecewise) { |
// Notify the in-memory database that the second typed URL and the non-typed |
// URL has been deleted. |
- SimulateNotification(chrome::NOTIFICATION_HISTORY_URLS_DELETED, |
- &row2, &row3); |
+ SimulateNotificationURLsDeleted(&row2, &row3); |
// Expect that the first typed URL remains intact, the second typed URL is |
// correctly removed, and the non-typed URL does not magically appear. |
@@ -3186,10 +3170,8 @@ TEST_F(InMemoryHistoryBackendTest, OnURLsDeletedEnMasse) { |
SimulateNotificationURLsModified(mem_backend_.get(), &row1, &row2, &row3); |
// Now notify the in-memory database that all history has been deleted. |
- scoped_ptr<URLsDeletedDetails> details(new URLsDeletedDetails()); |
- details->all_history = true; |
- BroadcastNotifications(chrome::NOTIFICATION_HISTORY_URLS_DELETED, |
- details.Pass()); |
+ mem_backend_->OnURLsDeleted(nullptr, true, false, URLRows(), |
+ std::set<GURL>()); |
// Expect that everything goes away. |
EXPECT_EQ(0, mem_backend_->db()->GetRowForURL(row1.url(), NULL)); |
@@ -3299,7 +3281,7 @@ TEST_F(InMemoryHistoryBackendTest, OnURLsDeletedWithSearchTerms) { |
PopulateTestURLsAndSearchTerms(&row1, &row2, term1, term2); |
// Notify the in-memory database that the second typed URL has been deleted. |
- SimulateNotification(chrome::NOTIFICATION_HISTORY_URLS_DELETED, &row2); |
+ SimulateNotificationURLsDeleted(&row2); |
// Verify that the second term is no longer returned as result, and also check |
// at the low level that it is gone for good. The term corresponding to the |