Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ |
| 6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ | 6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "chrome/browser/autocomplete/history_provider.h" | 9 #include "chrome/browser/autocomplete/history_provider.h" |
| 10 #include "chrome/browser/history/history.h" | 10 #include "chrome/browser/history/history.h" |
| 11 | 11 |
| 12 struct MatchReference; | |
|
Peter Kasting
2011/08/09 20:53:00
Nit: Shouldn't this be moved inside HistoryContent
dominich
2011/08/09 21:43:43
I went back and forward on this a couple of times.
| |
| 13 | |
| 12 namespace bookmark_utils { | 14 namespace bookmark_utils { |
| 13 struct TitleMatch; | 15 struct TitleMatch; |
| 14 } | 16 } |
| 15 | 17 |
| 16 // HistoryContentsProvider is an AutocompleteProvider that provides results from | 18 // HistoryContentsProvider is an AutocompleteProvider that provides results from |
| 17 // the contents (body and/or title) of previously visited pages. | 19 // the contents (body and/or title) of previously visited pages. |
| 18 // HistoryContentsProvider gets results from two sources: | 20 // HistoryContentsProvider gets results from two sources: |
| 19 // . HistoryService: this provides results for matches in the body/title of | 21 // . HistoryService: this provides results for matches in the body/title of |
| 20 // previously viewed pages. This is asynchronous. | 22 // previously viewed pages. This is asynchronous. |
| 21 // . BookmarkModel: provides results for matches in the titles of bookmarks. | 23 // . BookmarkModel: provides results for matches in the titles of bookmarks. |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 38 virtual ~HistoryContentsProvider(); | 40 virtual ~HistoryContentsProvider(); |
| 39 | 41 |
| 40 void QueryComplete(HistoryService::Handle handle, | 42 void QueryComplete(HistoryService::Handle handle, |
| 41 history::QueryResults* results); | 43 history::QueryResults* results); |
| 42 | 44 |
| 43 // Converts each MatchingPageResult in results_ to an AutocompleteMatch and | 45 // Converts each MatchingPageResult in results_ to an AutocompleteMatch and |
| 44 // adds it to matches_. | 46 // adds it to matches_. |
| 45 void ConvertResults(); | 47 void ConvertResults(); |
| 46 | 48 |
| 47 // Creates and returns an AutocompleteMatch from a MatchingPageResult. | 49 // Creates and returns an AutocompleteMatch from a MatchingPageResult. |
| 48 AutocompleteMatch ResultToMatch(const history::URLResult& result, | 50 AutocompleteMatch ResultToMatch(const MatchReference& match_reference); |
| 49 int score); | |
| 50 | 51 |
| 51 // Adds ACMatchClassifications to match from the offset positions in | 52 // Adds ACMatchClassifications to match from the offset positions in |
| 52 // page_result. | 53 // page_result. |
| 53 void ClassifyDescription(const history::URLResult& result, | 54 void ClassifyDescription(const history::URLResult& result, |
| 54 AutocompleteMatch* match) const; | 55 AutocompleteMatch* match) const; |
| 55 | 56 |
| 56 // Calculates and returns the relevance of a particular result. See the | 57 // Calculates and returns the relevance of a particular result. See the |
| 57 // chart in autocomplete.h for the list of values this returns. | 58 // chart in autocomplete.h for the list of values this returns. |
| 58 int CalculateRelevance(const history::URLResult& result); | 59 int CalculateRelevance(const history::URLResult& result); |
| 59 | 60 |
| 61 // Calculates and returns the confidence for a particular result. This is | |
| 62 // calculated by comparing the result's |visit_count| to that of all the | |
| 63 // results. | |
| 64 float CalculateConfidence(const history::URLResult& result, | |
| 65 const history::QueryResults& results) const; | |
| 66 | |
| 60 // Queries the bookmarks for any bookmarks whose title matches input. All | 67 // Queries the bookmarks for any bookmarks whose title matches input. All |
| 61 // matches are added directly to results_. | 68 // matches are added directly to results_. |
| 62 void QueryBookmarks(const AutocompleteInput& input); | 69 void QueryBookmarks(const AutocompleteInput& input); |
| 63 | 70 |
| 64 // Converts a BookmarkModel::TitleMatch to a QueryResult and adds it to | 71 // Converts a BookmarkModel::TitleMatch to a QueryResult and adds it to |
| 65 // results_. | 72 // results_. |
| 66 void AddBookmarkTitleMatchToResults(const bookmark_utils::TitleMatch& match); | 73 void AddBookmarkTitleMatchToResults(const bookmark_utils::TitleMatch& match); |
| 67 | 74 |
| 68 // Return true if the search term can be found in the title of |result|. | 75 // Return true if the search term can be found in the title of |result|. |
| 69 bool MatchInTitle(const history::URLResult& result); | 76 bool MatchInTitle(const history::URLResult& result); |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 96 // Whether results_ is valid (so we can tell invalid apart from empty). | 103 // Whether results_ is valid (so we can tell invalid apart from empty). |
| 97 bool have_results_; | 104 bool have_results_; |
| 98 | 105 |
| 99 // Current query string. | 106 // Current query string. |
| 100 string16 query_; | 107 string16 query_; |
| 101 | 108 |
| 102 DISALLOW_COPY_AND_ASSIGN(HistoryContentsProvider); | 109 DISALLOW_COPY_AND_ASSIGN(HistoryContentsProvider); |
| 103 }; | 110 }; |
| 104 | 111 |
| 105 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ | 112 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_CONTENTS_PROVIDER_H_ |
| OLD | NEW |