/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ package org.mozilla.geckoview.test_runner; import static org.mozilla.geckoview.ExperimentDelegate.ExperimentException.ERROR_EXPERIMENT_SLUG_NOT_FOUND; import static org.mozilla.geckoview.ExperimentDelegate.ExperimentException.ERROR_FEATURE_NOT_FOUND; import static org.mozilla.geckoview.ExperimentDelegate.ExperimentException.ERROR_UNKNOWN; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.SurfaceTexture; import android.net.Uri; import android.os.Bundle; import android.view.Surface; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import java.util.ArrayDeque; import java.util.HashMap; import java.util.List; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; import org.mozilla.geckoview.AllowOrDeny; import org.mozilla.geckoview.ContentBlocking; import org.mozilla.geckoview.ExperimentDelegate; import org.mozilla.geckoview.GeckoDisplay; import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.GeckoRuntime; import org.mozilla.geckoview.GeckoRuntimeSettings; import org.mozilla.geckoview.GeckoSession; import org.mozilla.geckoview.GeckoSession.PermissionDelegate.ContentPermission; import org.mozilla.geckoview.GeckoSessionSettings; import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.OrientationController; import org.mozilla.geckoview.WebExtension; import org.mozilla.geckoview.WebExtensionController; import org.mozilla.geckoview.WebRequestError; public class TestRunnerActivity extends Activity { private static final String LOGTAG = "TestRunnerActivity"; private static final String ERROR_PAGE = "