OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_AUTOCOMPLETE_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ | 5 #ifndef COMPONENTS_OMNIBOX_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ |
6 #define COMPONENTS_AUTOCOMPLETE_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ | 6 #define COMPONENTS_OMNIBOX_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "components/metrics/proto/omnibox_input_type.pb.h" | 10 #include "components/metrics/proto/omnibox_input_type.pb.h" |
11 | 11 |
12 // An interface that gives embedders the ability to automatically classify the | 12 // An interface that gives embedders the ability to automatically classify the |
13 // omnibox input type based on an explicitly-specified schemes. If users type | 13 // omnibox input type based on an explicitly-specified schemes. If users type |
14 // an input with an explicit scheme other than http, https, or file, this class | 14 // an input with an explicit scheme other than http, https, or file, this class |
15 // will be used to try and determine whether the input should be treated as a | 15 // will be used to try and determine whether the input should be treated as a |
16 // URL (for known schemes we want to handle) or a query (for known schemes that | 16 // URL (for known schemes we want to handle) or a query (for known schemes that |
17 // should be blocked), or if the scheme alone isn't sufficient to make a | 17 // should be blocked), or if the scheme alone isn't sufficient to make a |
18 // determination. | 18 // determination. |
19 class AutocompleteSchemeClassifier { | 19 class AutocompleteSchemeClassifier { |
20 public: | 20 public: |
21 virtual ~AutocompleteSchemeClassifier() {} | 21 virtual ~AutocompleteSchemeClassifier() {} |
22 | 22 |
23 // Checks |scheme| and returns the type of the input if the scheme is known | 23 // Checks |scheme| and returns the type of the input if the scheme is known |
24 // and not blocked. Returns metrics::OmniboxInputType::INVALID if it's unknown | 24 // and not blocked. Returns metrics::OmniboxInputType::INVALID if it's unknown |
25 // or the classifier implementation cannot handle. | 25 // or the classifier implementation cannot handle. |
26 virtual metrics::OmniboxInputType::Type GetInputTypeForScheme( | 26 virtual metrics::OmniboxInputType::Type GetInputTypeForScheme( |
27 const std::string& scheme) const = 0; | 27 const std::string& scheme) const = 0; |
28 }; | 28 }; |
29 | 29 |
30 #endif // COMPONENTS_AUTOCOMPLETE_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ | 30 #endif // COMPONENTS_OMNIBOX_AUTOCOMPLETE_SCHEME_CLASSIFIER_H_ |
OLD | NEW |