summaryrefslogtreecommitdiffstats
path: root/chrome/test/testing_profile.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/test/testing_profile.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/test/testing_profile.cc')
-rw-r--r--chrome/test/testing_profile.cc34
1 files changed, 25 insertions, 9 deletions
diff --git a/chrome/test/testing_profile.cc b/chrome/test/testing_profile.cc
index d18a75d..d85662f 100644
--- a/chrome/test/testing_profile.cc
+++ b/chrome/test/testing_profile.cc
@@ -29,19 +29,35 @@
#include "chrome/test/testing_profile.h"
+#include "chrome/common/chrome_constants.h"
+
+TestingProfile::TestingProfile()
+ : start_time_(Time::Now()), has_history_service_(false) {
+ PathService::Get(base::DIR_TEMP, &path_);
+ file_util::AppendToPath(&path_, L"TestingProfilePath");
+ file_util::Delete(path_, true);
+ file_util::CreateDirectory(path_);
+}
+
TestingProfile::~TestingProfile() {
DestroyHistoryService();
+ file_util::Delete(path_, true);
}
-void TestingProfile::CreateHistoryService() {
- DCHECK(!history_service_.get());
+void TestingProfile::CreateHistoryService(bool delete_file) {
+ if (history_service_.get())
+ history_service_->Cleanup();
- PathService::Get(base::DIR_TEMP, &history_dir_);
- file_util::AppendToPath(&history_dir_, L"HistoryTest");
- file_util::Delete(history_dir_, true);
+ history_service_ = NULL;
+
+ if (delete_file) {
+ std::wstring path = GetPath();
+ file_util::AppendToPath(&path, chrome::kHistoryFilename);
+ file_util::Delete(path, false);
+ }
file_util::CreateDirectory(history_dir_);
history_service_ = new HistoryService();
- history_service_->Init(history_dir_);
+ history_service_->Init(GetPath());
}
void TestingProfile::DestroyHistoryService() {
@@ -59,9 +75,6 @@ void TestingProfile::DestroyHistoryService() {
// our destroy task.
MessageLoop::current()->Run();
- // Try to clean up the database file.
- file_util::Delete(history_dir_, true);
-
// Make sure we don't have any event pending that could disrupt the next
// test.
MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask);
@@ -69,6 +82,9 @@ void TestingProfile::DestroyHistoryService() {
}
void TestingProfile::CreateBookmarkBarModel() {
+ std::wstring path = GetPath();
+ file_util::AppendToPath(&path, chrome::kBookmarksFileName);
+ file_util::Delete(path, false);
bookmark_bar_model_.reset(new BookmarkBarModel(this));
}