// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/common/ssl_insecure_content.h" #include "base/metrics/histogram_macros.h" #include "base/strings/string_util.h" #include "url/gurl.h" namespace { // Constants for UMA statistic collection. static const char kDotJS[] = ".js"; static const char kDotCSS[] = ".css"; static const char kDotSWF[] = ".swf"; static const char kDotHTML[] = ".html"; } // namespace void ReportInsecureContent(SslInsecureContentType signal) { UMA_HISTOGRAM_ENUMERATION( "SSL.InsecureContent", static_cast(signal), static_cast(SslInsecureContentType::NUM_EVENTS)); } void FilteredReportInsecureContentDisplayed(const GURL& resource_gurl) { if (base::EndsWith(resource_gurl.path(), kDotHTML, base::CompareCase::INSENSITIVE_ASCII)) { ReportInsecureContent(SslInsecureContentType::DISPLAY_HTML); } } void FilteredReportInsecureContentRan(const GURL& resource_gurl) { if (base::EndsWith(resource_gurl.path(), kDotJS, base::CompareCase::INSENSITIVE_ASCII)) { ReportInsecureContent(SslInsecureContentType::RUN_JS); } else if (base::EndsWith(resource_gurl.path(), kDotCSS, base::CompareCase::INSENSITIVE_ASCII)) { ReportInsecureContent(SslInsecureContentType::RUN_CSS); } else if (base::EndsWith(resource_gurl.path(), kDotSWF, base::CompareCase::INSENSITIVE_ASCII)) { ReportInsecureContent(SslInsecureContentType::RUN_SWF); } }