// Copyright 2015 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. package org.chromium.chrome.browser.ssl; import org.chromium.components.security_state.ConnectionSecurityLevel; import org.chromium.content_public.browser.WebContents; /** * Provides a way of accessing helpers for page security state. */ public class SecurityStateModel { /** * Fetch the security level for a given web contents. * * @param webContents The web contents to get the security level for. * @return The ConnectionSecurityLevel for the specified web contents. * * @see ConnectionSecurityLevel */ public static int getSecurityLevelForWebContents(WebContents webContents) { if (webContents == null) return ConnectionSecurityLevel.NONE; return nativeGetSecurityLevelForWebContents(webContents); } /** * @param webContents The web contents to query for deprecated SHA-1 presence. * @return Whether the security level of the page was deprecated due to SHA-1. */ public static boolean isDeprecatedSHA1Present(WebContents webContents) { if (webContents == null) return false; return nativeIsDeprecatedSHA1Present(webContents); } /** * @param webContents The web contents to query for passive mixed content presence. * @return Whether the page contains passive mixed content. */ public static boolean isPassiveMixedContentPresent(WebContents webContents) { if (webContents == null) return false; return nativeIsPassiveMixedContentPresent(webContents); } private SecurityStateModel() {} private static native int nativeGetSecurityLevelForWebContents(WebContents webContents); private static native boolean nativeIsDeprecatedSHA1Present(WebContents webContents); private static native boolean nativeIsPassiveMixedContentPresent(WebContents webContents); }