OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/autocomplete/autocomplete_classifier.h" | 5 #include "chrome/browser/autocomplete/autocomplete_classifier.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "chrome/browser/autocomplete/autocomplete_controller.h" | 8 #include "chrome/browser/autocomplete/autocomplete_controller.h" |
9 #include "chrome/browser/autocomplete/autocomplete_input.h" | 9 #include "chrome/browser/autocomplete/autocomplete_input.h" |
10 #include "chrome/browser/autocomplete/autocomplete_match.h" | 10 #include "chrome/browser/autocomplete/autocomplete_match.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 : controller_(new AutocompleteController(profile, NULL, | 26 : controller_(new AutocompleteController(profile, NULL, |
27 kDefaultOmniboxProviders)), | 27 kDefaultOmniboxProviders)), |
28 inside_classify_(false) { | 28 inside_classify_(false) { |
29 } | 29 } |
30 | 30 |
31 AutocompleteClassifier::~AutocompleteClassifier() { | 31 AutocompleteClassifier::~AutocompleteClassifier() { |
32 // We should only reach here after Shutdown() has been called. | 32 // We should only reach here after Shutdown() has been called. |
33 DCHECK(!controller_.get()); | 33 DCHECK(!controller_.get()); |
34 } | 34 } |
35 | 35 |
36 void AutocompleteClassifier::Classify(const string16& text, | 36 void AutocompleteClassifier::Classify(const base::string16& text, |
37 bool prefer_keyword, | 37 bool prefer_keyword, |
38 bool allow_exact_keyword_match, | 38 bool allow_exact_keyword_match, |
39 AutocompleteMatch* match, | 39 AutocompleteMatch* match, |
40 GURL* alternate_nav_url) { | 40 GURL* alternate_nav_url) { |
41 DCHECK(!inside_classify_); | 41 DCHECK(!inside_classify_); |
42 base::AutoReset<bool> reset(&inside_classify_, true); | 42 base::AutoReset<bool> reset(&inside_classify_, true); |
43 controller_->Start(AutocompleteInput( | 43 controller_->Start(AutocompleteInput( |
44 text, string16::npos, string16(), GURL(), | 44 text, base::string16::npos, base::string16(), GURL(), |
45 AutocompleteInput::INVALID_SPEC, true, prefer_keyword, | 45 AutocompleteInput::INVALID_SPEC, true, prefer_keyword, |
46 allow_exact_keyword_match, AutocompleteInput::BEST_MATCH)); | 46 allow_exact_keyword_match, AutocompleteInput::BEST_MATCH)); |
47 DCHECK(controller_->done()); | 47 DCHECK(controller_->done()); |
48 const AutocompleteResult& result = controller_->result(); | 48 const AutocompleteResult& result = controller_->result(); |
49 if (result.empty()) { | 49 if (result.empty()) { |
50 if (alternate_nav_url) | 50 if (alternate_nav_url) |
51 *alternate_nav_url = GURL(); | 51 *alternate_nav_url = GURL(); |
52 return; | 52 return; |
53 } | 53 } |
54 | 54 |
55 DCHECK(result.default_match() != result.end()); | 55 DCHECK(result.default_match() != result.end()); |
56 *match = *result.default_match(); | 56 *match = *result.default_match(); |
57 if (alternate_nav_url) | 57 if (alternate_nav_url) |
58 *alternate_nav_url = result.alternate_nav_url(); | 58 *alternate_nav_url = result.alternate_nav_url(); |
59 } | 59 } |
60 | 60 |
61 void AutocompleteClassifier::Shutdown() { | 61 void AutocompleteClassifier::Shutdown() { |
62 controller_.reset(); | 62 controller_.reset(); |
63 } | 63 } |
OLD | NEW |