blob: 01adeea5d57d8d5fd633c4dfdb9330b637100f08 [file] [log] [blame]
// 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.SuppressLint;
import android.annotation.TargetApi;
import android.os.Build;
import android.webkit.SafeBrowsingResponse;
import org.chromium.android_webview.AwSafeBrowsingResponse;
import org.chromium.android_webview.SafeBrowsingAction;
import org.chromium.base.Callback;
/**
* Chromium implementation of {@link SafeBrowsingResponse}.
*/
// TODO(ntfschr): remove @SuppressLint once lint uses 27 for targetSdk (this is needed to
// subclass SafeBrowsingResponse)
@SuppressLint({"Override"})
@TargetApi(Build.VERSION_CODES.O_MR1)
public class SafeBrowsingResponseAdapter extends SafeBrowsingResponse {
private final Callback<AwSafeBrowsingResponse> mCallback;
public SafeBrowsingResponseAdapter(Callback<AwSafeBrowsingResponse> callback) {
mCallback = callback;
}
/* package */ Callback<AwSafeBrowsingResponse> getAwSafeBrowsingResponseCallback() {
return mCallback;
}
@Override
public void showInterstitial(boolean allowReporting) {
mCallback.onResult(
new AwSafeBrowsingResponse(SafeBrowsingAction.SHOW_INTERSTITIAL, allowReporting));
}
@Override
public void proceed(boolean report) {
mCallback.onResult(new AwSafeBrowsingResponse(SafeBrowsingAction.PROCEED, report));
}
@Override
public void backToSafety(boolean report) {
mCallback.onResult(new AwSafeBrowsingResponse(SafeBrowsingAction.BACK_TO_SAFETY, report));
}
}