| Index: chrome/browser/history/shortcuts_database.h
|
| ===================================================================
|
| --- chrome/browser/history/shortcuts_database.h (revision 257281)
|
| +++ chrome/browser/history/shortcuts_database.h (working copy)
|
| @@ -13,7 +13,6 @@
|
| #include "base/gtest_prod_util.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/strings/string16.h"
|
| -#include "chrome/browser/history/shortcuts_backend.h"
|
| #include "sql/connection.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -39,23 +38,69 @@
|
| // number_of_hits Number of times that the entry has been selected.
|
| class ShortcutsDatabase : public base::RefCountedThreadSafe<ShortcutsDatabase> {
|
| public:
|
| - typedef std::map<std::string, ShortcutsBackend::Shortcut> GuidToShortcutMap;
|
| + // The following struct encapsulates one previously selected omnibox shortcut.
|
| + struct Shortcut {
|
| + // The fields of an AutocompleteMatch that we preserve in a shortcut.
|
| + struct MatchCore {
|
| + MatchCore(const base::string16& fill_into_edit,
|
| + const GURL& destination_url,
|
| + const base::string16& contents,
|
| + const std::string& contents_class,
|
| + const base::string16& description,
|
| + const std::string& description_class,
|
| + int transition,
|
| + int type,
|
| + const base::string16& keyword);
|
| + ~MatchCore();
|
|
|
| + base::string16 fill_into_edit;
|
| + GURL destination_url;
|
| + base::string16 contents;
|
| + // For both contents_class and description_class, we strip MATCH
|
| + // classifications; the ShortcutsProvider will re-mark MATCH regions based
|
| + // on the user's current typing.
|
| + std::string contents_class;
|
| + base::string16 description;
|
| + std::string description_class;
|
| + int transition;
|
| + int type;
|
| + base::string16 keyword;
|
| + };
|
| +
|
| + Shortcut(const std::string& id,
|
| + const base::string16& text,
|
| + const MatchCore& match_core,
|
| + const base::Time& last_access_time,
|
| + int number_of_hits);
|
| + // Required for STL, we don't use this directly.
|
| + Shortcut();
|
| + ~Shortcut();
|
| +
|
| + std::string id; // Unique guid for the shortcut.
|
| + base::string16 text; // The user's original input string.
|
| + MatchCore match_core;
|
| + base::Time last_access_time; // Last time shortcut was selected.
|
| + int number_of_hits; // How many times shortcut was selected.
|
| + };
|
| +
|
| + typedef std::vector<std::string> ShortcutIDs;
|
| + typedef std::map<std::string, Shortcut> GuidToShortcutMap;
|
| +
|
| explicit ShortcutsDatabase(const base::FilePath& database_path);
|
|
|
| bool Init();
|
|
|
| // Adds the ShortcutsProvider::Shortcut to the database.
|
| - bool AddShortcut(const ShortcutsBackend::Shortcut& shortcut);
|
| + bool AddShortcut(const Shortcut& shortcut);
|
|
|
| // Updates timing and selection count for the ShortcutsProvider::Shortcut.
|
| - bool UpdateShortcut(const ShortcutsBackend::Shortcut& shortcut);
|
| + bool UpdateShortcut(const Shortcut& shortcut);
|
|
|
| - // Deletes the ShortcutsProvider::Shortcuts with the id.
|
| - bool DeleteShortcutsWithIds(const std::vector<std::string>& shortcut_ids);
|
| + // Deletes the ShortcutsProvider::Shortcuts with these IDs.
|
| + bool DeleteShortcutsWithIDs(const ShortcutIDs& shortcut_ids);
|
|
|
| // Deletes the ShortcutsProvider::Shortcuts with the url.
|
| - bool DeleteShortcutsWithUrl(const std::string& shortcut_url_spec);
|
| + bool DeleteShortcutsWithURL(const std::string& shortcut_url_spec);
|
|
|
| // Deletes all of the ShortcutsProvider::Shortcuts.
|
| bool DeleteAllShortcuts();
|
| @@ -69,7 +114,7 @@
|
| FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, AddShortcut);
|
| FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, UpdateShortcut);
|
| FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, DeleteShortcutsWithIds);
|
| - FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, DeleteShortcutsWithUrl);
|
| + FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, DeleteShortcutsWithURL);
|
| FRIEND_TEST_ALL_PREFIXES(ShortcutsDatabaseTest, LoadShortcuts);
|
|
|
| virtual ~ShortcutsDatabase();
|
|
|