Chromium Code Reviews| Index: components/omnibox/browser/url_index_private_data.h |
| diff --git a/components/omnibox/browser/url_index_private_data.h b/components/omnibox/browser/url_index_private_data.h |
| index 50bcf4b7ebc141548414f53a4b833f35de5717db..3b7afd8b2f5dddb1577ddaf1c2f900fbcf54a0b1 100644 |
| --- a/components/omnibox/browser/url_index_private_data.h |
| +++ b/components/omnibox/browser/url_index_private_data.h |
| @@ -8,6 +8,7 @@ |
| #include <stddef.h> |
| #include <set> |
| +#include <stack> |
| #include <string> |
| #include "base/files/file_path.h" |
| @@ -204,9 +205,15 @@ class URLIndexPrivateData |
| // URL History indexing support functions. |
| - // Composes a set of history item IDs by intersecting the set for each word |
| + // Composes a vector of history item IDs by intersecting the set for each word |
| // in |unsorted_words|. |
| - HistoryIDSet HistoryIDSetFromWords(const String16Vector& unsorted_words); |
| + HistoryIDVector HistoryIDsFromWords(const String16Vector& unsorted_words); |
| + |
| + // Trim the candidate pool if it is large. Note that we do not filter out |
|
Peter Kasting
2017/02/18 01:46:31
Nit: Trims
Might want to give a little idea of ho
dyaroshev
2017/02/18 11:48:14
Done.
|
| + // items that do not contain the search terms as proper substrings -- |
| + // doing so is the performance-costly operation we are trying to avoid in |
| + // order to maintain omnibox responsiveness. |
| + void TrimHistoryIdsPool(HistoryIDVector* history_ids) const; |
| // Helper function to HistoryIDSetFromWords which composes a set of history |
| // ids for the given term given in |term|. |
| @@ -216,13 +223,12 @@ class URLIndexPrivateData |
| WordIDSet WordIDSetForTermChars(const Char16Set& term_chars); |
| // Helper function for HistoryItemsForTerms(). Fills in |scored_items| from |
| - // the matches listed in |history_id_set|. |
| - void HistoryIdSetToScoredMatches( |
| - HistoryIDSet history_id_set, |
| - const base::string16& lower_raw_string, |
| - const TemplateURLService* template_url_service, |
| - bookmarks::BookmarkModel* bookmark_model, |
| - ScoredHistoryMatches* scored_items) const; |
| + // the matches listed in |history_ids|. |
| + void HistoryIdsToScoredMatches(HistoryIDVector history_ids, |
| + const base::string16& lower_raw_string, |
| + const TemplateURLService* template_url_service, |
| + bookmarks::BookmarkModel* bookmark_model, |
| + ScoredHistoryMatches* scored_items) const; |
| // Fills in |terms_to_word_starts_offsets| according to where the word starts |
| // in each term. For example, in the term "-foo" the word starts at offset 1. |
| @@ -253,17 +259,9 @@ class URLIndexPrivateData |
| // history item identified by |history_id| to the index. |
| void AddWordToIndex(const base::string16& uni_word, HistoryID history_id); |
| - // Creates a new entry in the word/history map for |word_id| and add |
| - // |history_id| as the initial element of the word's set. |
| - void AddWordHistory(const base::string16& uni_word, HistoryID history_id); |
| - |
| - // Updates an existing entry in the word/history index by adding the |
| - // |history_id| to set for |word_id| in the word_id_history_map_. |
| - void UpdateWordHistory(WordID word_id, HistoryID history_id); |
| - |
| - // Adds |word_id| to |history_id|'s entry in the history/word map, |
| - // creating a new entry if one does not already exist. |
| - void AddToHistoryIDWordMap(HistoryID history_id, WordID word_id); |
| + // Adds a new entry to word_list. Uses previously freed positions if |
| + // available. |
| + WordID AddNewWordToWordList(const base::string16& term); |
| // Removes |row| and all associated words and characters from the index. |
| void RemoveRowFromIndex(const history::URLRow& row); |
| @@ -346,7 +344,7 @@ class URLIndexPrivateData |
| // modified or deleted old words may be removed from the index, in which |
| // case the slots for those words are added to available_words_ for resuse |
| // by future URL updates. |
| - WordIDSet available_words_; |
| + std::stack<WordID> available_words_; |
| // A one-to-one mapping from the a word string to its slot number (i.e. |
| // WordID) in the |word_list_|. |