| // Copyright 2018 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 com.android.webview.chromium; |
| |
| import android.annotation.TargetApi; |
| import android.os.Build; |
| import android.webkit.WebView; |
| import android.webkit.WebViewClient; |
| |
| import org.chromium.android_webview.AwContentsClient.AwWebResourceRequest; |
| import org.chromium.android_webview.AwSafeBrowsingResponse; |
| import org.chromium.base.Callback; |
| import org.chromium.base.annotations.VerifiesOnOMR1; |
| |
| /** |
| * Utility class to use new APIs that were added in OMR1 (API level 27). These need to exist in a |
| * separate class so that Android framework can successfully verify glue layer classes without |
| * encountering the new APIs. Note that GlueApiHelper is only for APIs that cannot go to ApiHelper |
| * in base/, for reasons such as using system APIs or instantiating an adapter class that is |
| * specific to glue layer. |
| */ |
| @VerifiesOnOMR1 |
| @TargetApi(Build.VERSION_CODES.O_MR1) |
| public final class GlueApiHelperForOMR1 { |
| private GlueApiHelperForOMR1() {} |
| |
| /** |
| * See {@link WebViewClient#onSafeBrowsingHit(WebView, WebResourceRequest, int, |
| * SafeBrowsingResponse)}, which was added in OMR1. |
| */ |
| public static void onSafeBrowsingHit(WebViewClient webViewClient, WebView webView, |
| AwWebResourceRequest request, int threatType, |
| Callback<AwSafeBrowsingResponse> callback) { |
| webViewClient.onSafeBrowsingHit(webView, new WebResourceRequestAdapter(request), threatType, |
| new SafeBrowsingResponseAdapter(callback)); |
| } |
| } |