diff options
author | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-21 15:20:33 +0000 |
---|---|---|
committer | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-21 15:20:33 +0000 |
commit | f25387b62a3cccde48622d0b7fca57cd6fb16ab7 (patch) | |
tree | 06ac2c1972d6608fb65979c3a279a6d214fecc6c /chrome/browser/history/history_unittest.cc | |
parent | bcc682fc4f5050ac911635ab649fbd30002fc2b4 (diff) | |
download | chromium_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.cc | 73 |
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 |