// 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.os.Build;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebViewDelegate;

import androidx.annotation.RequiresApi;

import org.chromium.android_webview.AwRenderProcessGoneDetail;

/**
 * Utility class to use new APIs that were added in O (API level 26). 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.
 */
@RequiresApi(Build.VERSION_CODES.O)
public final class GlueApiHelperForO {
    private GlueApiHelperForO() {}

    /**
     * See {@link WebViewClient#onRenderProcessGone(WebView, RenderProcessGoneDetail)}, which was
     * added in O.
     *
     * Note that we are calling into AwRenderProcessGoneDetail so leaving it here. Potentially,
     * we might hide RenderProcessGoneDetail's constructor.
     */
    public static boolean onRenderProcessGone(
            WebViewClient webViewClient, WebView webView, AwRenderProcessGoneDetail detail) {
        return webViewClient.onRenderProcessGone(webView, new RenderProcessGoneDetail() {
            @Override
            public boolean didCrash() {
                return detail.didCrash();
            }

            @Override
            public int rendererPriorityAtExit() {
                return detail.rendererPriority();
            }
        });
    }

    public static boolean isMultiProcessEnabled(WebViewDelegate webViewDelegate) {
        return webViewDelegate.isMultiProcessEnabled();
    }
}
