blob: 9e7b8acf594d30ba240188650d9afcf31cacd03d [file] [log] [blame]
[email protected]a817ed392014-06-27 05:03:001// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
avif57136c12015-12-25 23:27:455#include <stddef.h>
6
7#include "base/macros.h"
[email protected]a817ed392014-06-27 05:03:008#include "components/metrics/proto/omnibox_input_type.pb.h"
blundell2102f7c2015-07-09 10:00:539#include "components/omnibox/browser/test_scheme_classifier.h"
[email protected]a817ed392014-06-27 05:03:0010#include "net/url_request/url_request.h"
11#include "url/url_constants.h"
12
13TestSchemeClassifier::TestSchemeClassifier() {}
14
15TestSchemeClassifier::~TestSchemeClassifier() {}
16
17metrics::OmniboxInputType::Type TestSchemeClassifier::GetInputTypeForScheme(
18 const std::string& scheme) const {
19 // This doesn't check the preference but check some chrome-ish schemes.
20 const char* kKnownURLSchemes[] = {
21 url::kFileScheme, url::kAboutScheme, url::kFtpScheme, url::kBlobScheme,
22 url::kFileSystemScheme, "view-source", "javascript", "chrome", "chrome-ui",
23 };
24 for (size_t i = 0; i < arraysize(kKnownURLSchemes); ++i) {
25 if (scheme == kKnownURLSchemes[i])
26 return metrics::OmniboxInputType::URL;
27 }
28 if (net::URLRequest::IsHandledProtocol(scheme))
29 return metrics::OmniboxInputType::URL;
30
31 return metrics::OmniboxInputType::INVALID;
32}