summaryrefslogtreecommitdiffstats
path: root/chrome/browser/history/history_unittest.cc
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-21 15:20:33 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-21 15:20:33 +0000
commitf25387b62a3cccde48622d0b7fca57cd6fb16ab7 (patch)
tree06ac2c1972d6608fb65979c3a279a6d214fecc6c /chrome/browser/history/history_unittest.cc
parentbcc682fc4f5050ac911635ab649fbd30002fc2b4 (diff)
downloadchromium_src-f25387b62a3cccde48622d0b7fca57cd6fb16ab7.zip
chromium_src-f25387b62a3cccde48622d0b7fca57cd6fb16ab7.tar.gz
chromium_src-f25387b62a3cccde48622d0b7fca57cd6fb16ab7.tar.bz2
Moves bookmarks out of history into its own file (JSON).
Interesting points: . Migration was a bit atypical. Here is the approach I took: . If the URL db contains bookmarks it writes the bookmarks to a temporary file. . When the bookmark bar model is loaded it assumes bookmarks are stored in a file. If the bookmarks file doesn't exist it then attempts to load from history, after waiting for history to finish processing tasks. . I've broken having the omnibox query for starred only. This patch was already too ginormous for me to contemplate this too. I'll return to it after I land this. . Similarly the history page isn't searching for starred titles now. As we discussed with Glen, that is probably fine for now. . I've converted NOTIFY_STARRED_FAVICON_CHANGED to NOTIFY_FAVICON_CHANGED and it is notified ANY time a favicon changes. I'm mildly concerned about the extra notifications, but without having history know about starred it's the best I can do for now. . Autocomplete (specifically URLDatabase::AutocompleteForPrefix) previously sorted by starred. It can no longer do this. I don't think I can get this functionality back:( Luckily it only mattered if you had a starred and non-starred URL with the same type count that matched a query. Probably pretty rare. What's left: . Fix up HistoryContentsProvider to query for starred entries titles. . Clean up the delete all case. I basically just made it compile; it can be greatly simplified. . Rename BookmarkBarModel to BookmarksModel. BUG=1256202 TEST=this is a huge change to bookmarks. Thanfully it's pretty well covered by tests, none-the-less make sure you exercise bookmarks pretty heavily to make sure nothing is busted. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1153 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/history/history_unittest.cc')
-rw-r--r--chrome/browser/history/history_unittest.cc73
1 files changed, 0 insertions, 73 deletions
diff --git a/chrome/browser/history/history_unittest.cc b/chrome/browser/history/history_unittest.cc
index 37b9179..cc0bfb4 100644
--- a/chrome/browser/history/history_unittest.cc
+++ b/chrome/browser/history/history_unittest.cc
@@ -120,12 +120,6 @@ class BackendDelegate : public HistoryBackend::Delegate {
HistoryTest* history_test_;
};
-bool IsURLStarred(URLDatabase* db, const GURL& url) {
- URLRow row;
- EXPECT_TRUE(db->GetRowForURL(url, &row)) << "URL not found";
- return row.starred();
-}
-
} // namespace
// This must be outside the anonymous namespace for the friend statement in
@@ -272,21 +266,6 @@ class HistoryTest : public testing::Test {
MessageLoop::current()->Quit();
}
- void SetURLStarred(const GURL& url, bool starred) {
- history::StarredEntry entry;
- entry.type = history::StarredEntry::URL;
- entry.url = url;
- history::StarID star_id = db_->GetStarIDForEntry(entry);
- if (star_id && !starred) {
- // Unstar.
- backend_->DeleteStarredEntry(star_id);
- } else if (!star_id && starred) {
- // Star.
- entry.parent_group_id = HistoryService::kBookmarkBarID;
- backend_->CreateStarredEntry(NULL, entry);
- }
- }
-
// PageUsageData vector to test segments.
ScopedVector<PageUsageData> page_usage_data_;
@@ -870,56 +849,4 @@ TEST_F(HistoryTest, HistoryDBTaskCanceled) {
ASSERT_FALSE(task->done_invoked);
}
-TEST_F(HistoryTest, Starring) {
- CreateBackendAndDatabase();
-
- // Add one page and star it.
- GURL simple_page("http://google.com");
- scoped_refptr<HistoryAddPageArgs> args(MakeAddArgs(simple_page));
- backend_->AddPage(args);
- EXPECT_FALSE(IsURLStarred(db_, simple_page));
- EXPECT_FALSE(IsURLStarred(in_mem_backend_->db(), simple_page));
- SetURLStarred(simple_page, true);
-
- // The URL should be starred in both the main and memory DBs.
- EXPECT_TRUE(IsURLStarred(db_, simple_page));
- EXPECT_TRUE(IsURLStarred(in_mem_backend_->db(), simple_page));
-
- // Unstar it.
- SetURLStarred(simple_page, false);
- EXPECT_FALSE(IsURLStarred(db_, simple_page));
- EXPECT_FALSE(IsURLStarred(in_mem_backend_->db(), simple_page));
-}
-
-TEST_F(HistoryTest, SetStarredOnPageWithTypeCount0) {
- CreateBackendAndDatabase();
-
- // Add a page to the backend.
- const GURL url(L"http://google.com/");
- scoped_refptr<HistoryAddPageArgs> args(new HistoryAddPageArgs(
- url, Time::Now(), NULL, 1, GURL(), HistoryService::RedirectList(),
- PageTransition::LINK));
- backend_->AddPage(args);
-
- // Now fetch the URLInfo from the in memory db, it should not be there since
- // it was not typed.
- URLRow url_info;
- EXPECT_EQ(0, in_mem_backend_->db()->GetRowForURL(url, &url_info));
-
- // Mark the URL starred.
- SetURLStarred(url, true);
-
- // The type count is 0, so the page shouldn't be starred in the in memory
- // db.
- EXPECT_EQ(0, in_mem_backend_->db()->GetRowForURL(url, &url_info));
- EXPECT_TRUE(IsURLStarred(db_, url));
-
- // Now unstar it.
- SetURLStarred(url, false);
-
- // Make sure both the back end and in memory DB think it is unstarred.
- EXPECT_EQ(0, in_mem_backend_->db()->GetRowForURL(url, &url_info));
- EXPECT_FALSE(IsURLStarred(db_, url));
-}
-
} // namespace history