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

Side by Side Diff: chrome/browser/autocomplete/history_quick_provider.h

Issue 8120004: HQP Refactoring (in Preparation for SQLite Cache) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_QUICK_PROVIDER_H_ 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_HISTORY_QUICK_PROVIDER_H_
6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_QUICK_PROVIDER_H_ 6 #define CHROME_BROWSER_AUTOCOMPLETE_HISTORY_QUICK_PROVIDER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 19 matching lines...) Expand all
30 30
31 virtual ~HistoryQuickProvider(); 31 virtual ~HistoryQuickProvider();
32 32
33 // AutocompleteProvider. |minimal_changes| is ignored since there 33 // AutocompleteProvider. |minimal_changes| is ignored since there
34 // is no asynch completion performed. 34 // is no asynch completion performed.
35 virtual void Start(const AutocompleteInput& input, 35 virtual void Start(const AutocompleteInput& input,
36 bool minimal_changes) OVERRIDE; 36 bool minimal_changes) OVERRIDE;
37 37
38 virtual void DeleteMatch(const AutocompleteMatch& match) OVERRIDE; 38 virtual void DeleteMatch(const AutocompleteMatch& match) OVERRIDE;
39 39
40 // Performs the autocomplete matching and scoring.
41 void DoAutocomplete();
42
43 // Disable this provider. For unit testing purposes only. This is required 40 // Disable this provider. For unit testing purposes only. This is required
44 // because this provider is closely associated with the HistoryURLProvider 41 // because this provider is closely associated with the HistoryURLProvider
45 // and in order to properly test the latter the HistoryQuickProvider must 42 // and in order to properly test the latter the HistoryQuickProvider must
46 // be disabled. 43 // be disabled.
47 // TODO(mrossetti): Eliminate this once the HUP has been refactored. 44 // TODO(mrossetti): Eliminate this once the HUP has been refactored.
48 static void set_disabled(bool disabled) { disabled_ = disabled; } 45 static void set_disabled(bool disabled) { disabled_ = disabled; }
49 46
50 private: 47 private:
51 friend class HistoryQuickProviderTest; 48 friend class HistoryQuickProviderTest;
52 FRIEND_TEST_ALL_PREFIXES(HistoryQuickProviderTest, Spans); 49 FRIEND_TEST_ALL_PREFIXES(HistoryQuickProviderTest, Spans);
53 FRIEND_TEST_ALL_PREFIXES(HistoryQuickProviderTest, Relevance); 50 FRIEND_TEST_ALL_PREFIXES(HistoryQuickProviderTest, Relevance);
54 51
52 // The initial maximum allowable score for a match which cannot be inlined.
53 static const int kMaxNonInliningScore;
Peter Kasting 2011/10/05 00:11:42 I suspect this is leftover from merges, since we r
mrossetti 2011/10/07 17:04:14 Done.
54
55 // Performs the autocomplete matching and scoring.
56 void DoAutocomplete();
57
55 // Creates an AutocompleteMatch from |history_match|. |max_match_score| gives 58 // Creates an AutocompleteMatch from |history_match|. |max_match_score| gives
56 // the maximum possible score for the match. |history_matches| is the full set 59 // the maximum possible score for the match. |history_matches| is the full set
57 // of matches to compare each match to when calculating confidence. 60 // of matches to compare each match to when calculating confidence.
58 AutocompleteMatch QuickMatchToACMatch( 61 AutocompleteMatch QuickMatchToACMatch(
59 const history::ScoredHistoryMatch& history_match, 62 const history::ScoredHistoryMatch& history_match,
60 const history::ScoredHistoryMatches& history_matches, 63 const history::ScoredHistoryMatches& history_matches,
61 bool prevent_inline_autocomplete, 64 bool prevent_inline_autocomplete,
62 int* max_match_score); 65 int* max_match_score);
63 66
64 // Determines the relevance score of |history_match|. The maximum allowed 67 // Determines the relevance score of |history_match|. The maximum allowed
65 // score for the match is passed in |max_match_score|. The |max_match_score| 68 // score for the match is passed in |max_match_score|. The |max_match_score|
66 // is always set to the resulting score minus 1 whenever the match's score 69 // is always set to the resulting score minus 1 whenever the match's score
67 // has to be limited or is <= to |max_match_score|. This function should be 70 // has to be limited or is <= to |max_match_score|. This function should be
68 // called in a loop with each match in decreasing order of raw score. 71 // called in a loop with each match in decreasing order of raw score.
69 static int CalculateRelevance( 72 static int CalculateRelevance(
70 const history::ScoredHistoryMatch& history_match, 73 const history::ScoredHistoryMatch& history_match,
71 int* max_match_score); 74 int* max_match_score);
72 75
73 // Returns the index that should be used for history lookups. 76 // Returns the index that should be used for history lookups.
74 history::InMemoryURLIndex* GetIndex(); 77 history::InMemoryURLIndex* GetIndex();
75 78
76 // Fill and return an ACMatchClassifications structure given the term 79 // Fill and return an ACMatchClassifications structure given the term
77 // matches (|matches|) to highlight where terms were found. 80 // matches (|matches|) to highlight where terms were found.
78 static ACMatchClassifications SpansFromTermMatch( 81 static ACMatchClassifications SpansFromTermMatch(
79 const history::TermMatches& matches, 82 const history::TermMatches& matches,
80 size_t text_length, 83 size_t text_length,
81 bool is_url); 84 bool is_url);
82 85
83 // Only for use in unittests. Takes ownership of |index|. 86 // Only for use in unittests. Takes ownership of |index|.
84 void SetIndexForTesting(history::InMemoryURLIndex* index); 87 void set_index(history::InMemoryURLIndex* index);
88
85 AutocompleteInput autocomplete_input_; 89 AutocompleteInput autocomplete_input_;
86 std::string languages_; 90 std::string languages_;
87 91
88 // Only used for testing. 92 // Only used for testing.
89 scoped_ptr<history::InMemoryURLIndex> index_for_testing_; 93 scoped_ptr<history::InMemoryURLIndex> index_for_testing_;
90 94
91 // This provider is disabled when true. 95 // This provider is disabled when true.
92 static bool disabled_; 96 static bool disabled_;
93 }; 97 };
94 98
95 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_QUICK_PROVIDER_H_ 99 #endif // CHROME_BROWSER_AUTOCOMPLETE_HISTORY_QUICK_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698