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

Unified Diff: components/omnibox/browser/shortcuts_provider.h

Issue 1877833002: Optimize shortcuts provider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes after review, round 1 Created 4 years, 8 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: components/omnibox/browser/shortcuts_provider.h
diff --git a/components/omnibox/browser/shortcuts_provider.h b/components/omnibox/browser/shortcuts_provider.h
index 3344fe36d28d6a49bef689798136151e55a417dc..c97c8c70d5987896fb929a9d1272a1a623c87d84 100644
--- a/components/omnibox/browser/shortcuts_provider.h
+++ b/components/omnibox/browser/shortcuts_provider.h
@@ -15,6 +15,7 @@
class AutocompleteProviderClient;
class ShortcutsProviderTest;
+struct ShortcutMatch;
// Provider of recently autocompleted links. Provides autocomplete suggestions
// from previously selected suggestions. The more often a user selects a
@@ -36,6 +37,8 @@ class ShortcutsProvider : public AutocompleteProvider,
friend class ShortcutsProviderExtensionTest;
friend class ShortcutsProviderTest;
FRIEND_TEST_ALL_PREFIXES(ShortcutsProviderTest, CalculateScore);
+ FRIEND_TEST_ALL_PREFIXES(ShortcutsProviderTest,
+ DedupShortcutMatchesByDestination);
typedef std::multimap<base::char16, base::string16> WordMap;
@@ -52,11 +55,12 @@ class ShortcutsProvider : public AutocompleteProvider,
// contents against |input|, which should be the lower-cased version of
// the user's input. |input| and |fixed_up_input_text| are used to decide
// what can be inlined.
- AutocompleteMatch ShortcutToACMatch(
- const ShortcutsDatabase::Shortcut& shortcut,
- int relevance,
+ AutocompleteMatch ShortcutMatchToACMatch(
+ const ShortcutMatch& shortcut_match,
const AutocompleteInput& input,
- const base::string16& fixed_up_input_text);
+ const base::string16& fixed_up_input_text,
+ const base::string16 term_string,
+ const WordMap& terms_map);
// Returns a map mapping characters to groups of words from |text| that start
// with those characters, ordered lexicographically descending so that longer
@@ -100,6 +104,14 @@ class ShortcutsProvider : public AutocompleteProvider,
const ShortcutsDatabase::Shortcut& shortcut,
int max_relevance);
+ // Function removes duplicates from vector of ShortcutMatch objects.
+ // Deduplication algorithm is the same as used in
+ // AutocompleteResult::DedupMatchesByDestination.
+ // Matches with higher relevance are left from duplicates.
Peter Kasting 2016/04/12 23:29:50 Nit: Let's use a similar comment to what's in Auto
Alexander Yashkin 2016/04/13 09:29:36 Done, thanks.
+ static void DedupShortcutMatchesByDestination(
+ metrics::OmniboxEventProto::PageClassification page_classification,
+ std::vector<ShortcutMatch>* matches);
+
// The default max relevance unless overridden by a field trial.
static const int kShortcutsProviderDefaultMaxRelevance;

Powered by Google App Engine
This is Rietveld 408576698