Home | History | Annotate | Download | only in omnibox
      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
      3 // found in the LICENSE file.
      4 
      5 #include "components/metrics/proto/omnibox_input_type.pb.h"
      6 #include "components/omnibox/test_scheme_classifier.h"
      7 #include "net/url_request/url_request.h"
      8 #include "url/url_constants.h"
      9 
     10 TestSchemeClassifier::TestSchemeClassifier() {}
     11 
     12 TestSchemeClassifier::~TestSchemeClassifier() {}
     13 
     14 metrics::OmniboxInputType::Type TestSchemeClassifier::GetInputTypeForScheme(
     15     const std::string& scheme) const {
     16   // This doesn't check the preference but check some chrome-ish schemes.
     17   const char* kKnownURLSchemes[] = {
     18     url::kFileScheme, url::kAboutScheme, url::kFtpScheme, url::kBlobScheme,
     19     url::kFileSystemScheme, "view-source", "javascript", "chrome", "chrome-ui",
     20   };
     21   for (size_t i = 0; i < arraysize(kKnownURLSchemes); ++i) {
     22     if (scheme == kKnownURLSchemes[i])
     23       return metrics::OmniboxInputType::URL;
     24   }
     25   if (net::URLRequest::IsHandledProtocol(scheme))
     26       return metrics::OmniboxInputType::URL;
     27 
     28   return metrics::OmniboxInputType::INVALID;
     29 }
     30