Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: chrome/browser/autocomplete/shortcuts_provider.cc

Issue 200493006: Move the ShortcutsBackend from history to autocomplete so that it can fully (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autocomplete/shortcuts_provider.cc
===================================================================
--- chrome/browser/autocomplete/shortcuts_provider.cc (revision 257281)
+++ chrome/browser/autocomplete/shortcuts_provider.cc (working copy)
@@ -23,11 +23,11 @@
#include "chrome/browser/autocomplete/autocomplete_provider_listener.h"
#include "chrome/browser/autocomplete/autocomplete_result.h"
#include "chrome/browser/autocomplete/history_provider.h"
+#include "chrome/browser/autocomplete/shortcuts_backend_factory.h"
#include "chrome/browser/autocomplete/url_prefix.h"
#include "chrome/browser/history/history_notifications.h"
#include "chrome/browser/history/history_service.h"
#include "chrome/browser/history/history_service_factory.h"
-#include "chrome/browser/history/shortcuts_backend_factory.h"
#include "chrome/browser/omnibox/omnibox_field_trial.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/net/url_fixer_upper.h"
@@ -76,7 +76,7 @@
AutocompleteProvider::TYPE_SHORTCUTS),
languages_(profile_->GetPrefs()->GetString(prefs::kAcceptLanguages)),
initialized_(false) {
- scoped_refptr<history::ShortcutsBackend> backend =
+ scoped_refptr<ShortcutsBackend> backend =
ShortcutsBackendFactory::GetForProfile(profile_);
if (backend.get()) {
backend->AddObserver(this);
@@ -115,13 +115,14 @@
void ShortcutsProvider::DeleteMatch(const AutocompleteMatch& match) {
// Copy the URL since deleting from |matches_| will invalidate |match|.
GURL url(match.destination_url);
+ DCHECK(url.is_valid());
// When a user deletes a match, he probably means for the URL to disappear out
// of history entirely. So nuke all shortcuts that map to this URL.
- scoped_refptr<history::ShortcutsBackend> backend =
+ scoped_refptr<ShortcutsBackend> backend =
ShortcutsBackendFactory::GetForProfileIfExists(profile_);
if (backend) // Can be NULL in Incognito.
- backend->DeleteShortcutsWithUrl(url);
+ backend->DeleteShortcutsWithURL(url);
matches_.erase(std::remove_if(matches_.begin(), matches_.end(),
DestinationURLEqualsURL(url)),
@@ -129,16 +130,15 @@
// NOTE: |match| is now dead!
// Delete the match from the history DB. This will eventually result in a
- // second call to DeleteShortcutsWithURLs(), which is harmless.
+ // second call to DeleteShortcutsWithURL(), which is harmless.
HistoryService* const history_service =
HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
-
- DCHECK(history_service && url.is_valid());
+ DCHECK(history_service);
history_service->DeleteURL(url);
}
ShortcutsProvider::~ShortcutsProvider() {
- scoped_refptr<history::ShortcutsBackend> backend =
+ scoped_refptr<ShortcutsBackend> backend =
ShortcutsBackendFactory::GetForProfileIfExists(profile_);
if (backend.get())
backend->RemoveObserver(this);
@@ -149,7 +149,7 @@
}
void ShortcutsProvider::GetMatches(const AutocompleteInput& input) {
- scoped_refptr<history::ShortcutsBackend> backend =
+ scoped_refptr<ShortcutsBackend> backend =
ShortcutsBackendFactory::GetForProfileIfExists(profile_);
if (!backend.get())
return;
@@ -168,7 +168,7 @@
input.current_page_classification(), &max_relevance))
max_relevance = AutocompleteResult::kLowestDefaultScore - 1;
- for (history::ShortcutsBackend::ShortcutMap::const_iterator it =
+ for (ShortcutsBackend::ShortcutMap::const_iterator it =
FindFirstMatch(term_string, backend.get());
it != backend->shortcuts_map().end() &&
StartsWith(it->first, term_string, true); ++it) {
@@ -217,17 +217,29 @@
}
AutocompleteMatch ShortcutsProvider::ShortcutToACMatch(
- const history::ShortcutsBackend::Shortcut& shortcut,
+ const history::ShortcutsDatabase::Shortcut& shortcut,
int relevance,
const base::string16& term_string,
const base::string16& fixed_up_term_string,
const bool prevent_inline_autocomplete) {
DCHECK(!term_string.empty());
- AutocompleteMatch match(shortcut.match_core.ToMatch());
+ AutocompleteMatch match;
match.provider = this;
match.relevance = relevance;
match.deletable = true;
+ match.fill_into_edit = shortcut.match_core.fill_into_edit;
+ match.destination_url = shortcut.match_core.destination_url;
DCHECK(match.destination_url.is_valid());
+ match.contents = shortcut.match_core.contents;
+ match.contents_class = AutocompleteMatch::ClassificationsFromString(
+ shortcut.match_core.contents_class);
+ match.description = shortcut.match_core.description;
+ match.description_class = AutocompleteMatch::ClassificationsFromString(
+ shortcut.match_core.description_class);
+ match.transition =
+ static_cast<content::PageTransition>(shortcut.match_core.transition);
+ match.type = static_cast<AutocompleteMatch::Type>(shortcut.match_core.type);
+ match.keyword = shortcut.match_core.keyword;
match.RecordAdditionalInfo("number of hits", shortcut.number_of_hits);
match.RecordAdditionalInfo("last access time", shortcut.last_access_time);
match.RecordAdditionalInfo("original input text",
@@ -389,11 +401,11 @@
return AutocompleteMatch::MergeClassifications(original_class, match_class);
}
-history::ShortcutsBackend::ShortcutMap::const_iterator
+ShortcutsBackend::ShortcutMap::const_iterator
ShortcutsProvider::FindFirstMatch(const base::string16& keyword,
- history::ShortcutsBackend* backend) {
+ ShortcutsBackend* backend) {
DCHECK(backend);
- history::ShortcutsBackend::ShortcutMap::const_iterator it =
+ ShortcutsBackend::ShortcutMap::const_iterator it =
backend->shortcuts_map().lower_bound(keyword);
// Lower bound not necessarily matches the keyword, check for item pointed by
// the lower bound iterator to at least start with keyword.
@@ -404,7 +416,7 @@
int ShortcutsProvider::CalculateScore(
const base::string16& terms,
- const history::ShortcutsBackend::Shortcut& shortcut,
+ const history::ShortcutsDatabase::Shortcut& shortcut,
int max_relevance) {
DCHECK(!terms.empty());
DCHECK_LE(terms.length(), shortcut.text.length());
« no previous file with comments | « chrome/browser/autocomplete/shortcuts_provider.h ('k') | chrome/browser/autocomplete/shortcuts_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698