| 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 #include <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "components/metrics/proto/omnibox_input_type.pb.h" | 8 #include "components/metrics/proto/omnibox_input_type.pb.h" |
| 9 #include "components/omnibox/browser/test_scheme_classifier.h" | 9 #include "components/omnibox/browser/test_scheme_classifier.h" |
| 10 #include "net/url_request/url_request.h" | 10 #include "net/url_request/url_request.h" |
| 11 #include "url/url_constants.h" | 11 #include "url/url_constants.h" |
| 12 | 12 |
| 13 TestSchemeClassifier::TestSchemeClassifier() {} | 13 TestSchemeClassifier::TestSchemeClassifier() {} |
| 14 | 14 |
| 15 TestSchemeClassifier::~TestSchemeClassifier() {} | 15 TestSchemeClassifier::~TestSchemeClassifier() {} |
| 16 | 16 |
| 17 metrics::OmniboxInputType::Type TestSchemeClassifier::GetInputTypeForScheme( | 17 metrics::OmniboxInputType::Type TestSchemeClassifier::GetInputTypeForScheme( |
| 18 const std::string& scheme) const { | 18 const std::string& scheme) const { |
| 19 // This doesn't check the preference but check some chrome-ish schemes. | 19 // This doesn't check the preference but check some chrome-ish schemes. |
| 20 const char* kKnownURLSchemes[] = { | 20 const char* kKnownURLSchemes[] = { |
| 21 url::kFileScheme, url::kAboutScheme, url::kFtpScheme, url::kBlobScheme, | 21 url::kFileScheme, |
| 22 url::kFileSystemScheme, "view-source", "javascript", "chrome", "chrome-ui", | 22 url::kAboutScheme, |
| 23 url::kFtpScheme, |
| 24 url::kBlobScheme, |
| 25 url::kFileSystemScheme, |
| 26 "view-source", |
| 27 "javascript", |
| 28 "chrome", |
| 29 "chrome-ui", |
| 30 url::kHttpScheme, |
| 31 url::kHttpsScheme, |
| 32 url::kWsScheme, |
| 33 url::kWssScheme, |
| 23 }; | 34 }; |
| 24 for (size_t i = 0; i < arraysize(kKnownURLSchemes); ++i) { | 35 for (size_t i = 0; i < arraysize(kKnownURLSchemes); ++i) { |
| 25 if (scheme == kKnownURLSchemes[i]) | 36 if (scheme == kKnownURLSchemes[i]) |
| 26 return metrics::OmniboxInputType::URL; | 37 return metrics::OmniboxInputType::URL; |
| 27 } | 38 } |
| 28 if (net::URLRequest::IsHandledProtocol(scheme)) | |
| 29 return metrics::OmniboxInputType::URL; | |
| 30 | |
| 31 return metrics::OmniboxInputType::INVALID; | 39 return metrics::OmniboxInputType::INVALID; |
| 32 } | 40 } |
| OLD | NEW |