summaryrefslogtreecommitdiffstats
path: root/chrome/browser/history/history.h
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.h
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.h')
-rw-r--r--chrome/browser/history/history.h75
1 files changed, 7 insertions, 68 deletions
diff --git a/chrome/browser/history/history.h b/chrome/browser/history/history.h
index 9dca73a..3db1e23 100644
--- a/chrome/browser/history/history.h
+++ b/chrome/browser/history/history.h
@@ -393,29 +393,6 @@ class HistoryService : public CancelableRequestProvider,
void SetImportedFavicons(
const std::vector<history::ImportedFavIconUsage>& favicon_usage);
- // Starring ------------------------------------------------------------------
-
- // Starring mutation methods are private, go through the BookmarkBarModel
- // instead.
- //
- // The typedefs are public to allow template magic to work.
-
- typedef Callback2<Handle, std::vector<history::StarredEntry>* >::Type
- GetStarredEntriesCallback;
-
- typedef Callback2<Handle, history::StarID>::Type CreateStarredEntryCallback;
-
- typedef Callback2<Handle, std::vector<history::StarredEntry>* >::Type
- GetMostRecentStarredEntriesCallback;
-
- // Fetches up to max_count starred entries of type URL.
- // The results are ordered by date added in descending order (most recent
- // first).
- Handle GetMostRecentStarredEntries(
- int max_count,
- CancelableRequestConsumerBase* consumer,
- GetMostRecentStarredEntriesCallback* callback);
-
// Database management operations --------------------------------------------
// Delete all the information related to a single url.
@@ -544,6 +521,13 @@ class HistoryService : public CancelableRequestProvider,
Handle ScheduleDBTask(HistoryDBTask* task,
CancelableRequestConsumerBase* consumer);
+ typedef Callback1<Handle>::Type EmptyHistoryCallback;
+
+ // Schedules a task that does nothing on the backend. This can be used to get
+ // notification when then history backend is done processing requests.
+ Handle ScheduleEmptyCallback(CancelableRequestConsumerBase* consumer,
+ EmptyHistoryCallback* callback);
+
// Testing -------------------------------------------------------------------
// Designed for unit tests, this passes the given task on to the history
@@ -597,51 +581,6 @@ class HistoryService : public CancelableRequestProvider,
friend class HistoryOperation;
friend class HistoryURLProviderTest;
- // Starring ------------------------------------------------------------------
-
- // These are private as they should only be invoked from the bookmark bar
- // model.
-
- // Fetches all the starred entries (both groups and entries).
- Handle GetAllStarredEntries(
- CancelableRequestConsumerBase* consumer,
- GetStarredEntriesCallback* callback);
-
- // Updates the title, parent and visual order of the specified entry. The key
- // used to identify the entry is NOT entry.id, rather it is the url (if the
- // type is URL), or the group_id (if the type is other than URL).
- //
- // This can NOT be used to change the type of an entry.
- //
- // After updating the entry, NOTIFY_STAR_ENTRY_CHANGED is sent.
- void UpdateStarredEntry(const history::StarredEntry& entry);
-
- // Creates a starred entry at the specified position. This can be used
- // for creating groups and nodes.
- //
- // If the entry is a URL and the URL is already starred, this behaves the
- // same as invoking UpdateStarredEntry. If the entry is a URL and the URL is
- // not starred, the URL is starred appropriately.
- //
- // This honors the title, parent_group_id, visual_order and url (for URL
- // nodes) of the specified entry. All other attributes are ignored.
- //
- // NOTE: consumer and callback may be null, in which case the request
- // isn't cancelable and 0 is returned.
- Handle CreateStarredEntry(const history::StarredEntry& entry,
- CancelableRequestConsumerBase* consumer,
- CreateStarredEntryCallback* callback);
-
- // Deletes the specified starred group. All children groups are deleted and
- // starred descendants unstarred. If successful, this sends out the
- // notification NOTIFY_URLS_STARRED. To delete a starred URL, do
- // DeletedStarredEntry(id).
- void DeleteStarredGroup(history::UIStarID group_id);
-
- // Deletes the specified starred URL. If successful, this sends out the
- // notification NOTIFY_URLS_STARRED.
- void DeleteStarredURL(const GURL& url);
-
// Implementation of NotificationObserver.
virtual void Observe(NotificationType type,
const NotificationSource& source,