import android.app.Activity; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Region; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; import android.util.SparseArray; import android.view.ActionMode; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.PointerIcon; import android.view.Surface; import android.view.SurfaceControl; import android.view.View; import android.view.ViewStructure; import android.view.autofill.AutofillValue; import android.view.inputmethod.CursorAnchorInfo; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.ExtractedText; import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; import android.widget.FrameLayout; import androidx.annotation.AnyThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.UiThread; import java.io.File; import java.io.InputStream; import java.lang.Boolean; import java.lang.CharSequence; import java.lang.Class; import java.lang.Deprecated; import java.lang.Double; import java.lang.Exception; import java.lang.Float; import java.lang.Integer; import java.lang.Long; import java.lang.Object; import java.lang.Runnable; import java.lang.RuntimeException; import java.lang.SafeVarargs; import java.lang.String; import java.lang.Throwable; import java.lang.Void; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.net.InetAddress; import java.nio.ByteBuffer; import java.security.cert.X509Certificate; import java.util.AbstractSequentialList; import java.util.Collection; import java.util.List; import java.util.Map; import org.json.JSONObject; import org.mozilla.geckoview.AllowOrDeny; import org.mozilla.geckoview.Autocomplete; import org.mozilla.geckoview.Autofill; import org.mozilla.geckoview.CompositorController; import org.mozilla.geckoview.ContentBlocking; import org.mozilla.geckoview.ContentBlockingController; import org.mozilla.geckoview.DeprecationSchedule; 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.GeckoSessionSettings; import org.mozilla.geckoview.GeckoView; import org.mozilla.geckoview.Image; import org.mozilla.geckoview.MediaSession; import org.mozilla.geckoview.OrientationController; import org.mozilla.geckoview.OverscrollEdgeEffect; import org.mozilla.geckoview.PanZoomController; import org.mozilla.geckoview.ProfilerController; import org.mozilla.geckoview.RuntimeSettings; import org.mozilla.geckoview.RuntimeTelemetry; import org.mozilla.geckoview.ScreenLength; import org.mozilla.geckoview.SessionAccessibility; import org.mozilla.geckoview.SessionFinder; import org.mozilla.geckoview.SessionTextInput; import org.mozilla.geckoview.SlowScriptResponse; import org.mozilla.geckoview.StorageController; import org.mozilla.geckoview.WebExtension; import org.mozilla.geckoview.WebExtensionController; import org.mozilla.geckoview.WebMessage; import org.mozilla.geckoview.WebNotification; import org.mozilla.geckoview.WebNotificationDelegate; import org.mozilla.geckoview.WebPushController; import org.mozilla.geckoview.WebPushDelegate; import org.mozilla.geckoview.WebPushSubscription; import org.mozilla.geckoview.WebRequest; import org.mozilla.geckoview.WebRequestError; import org.mozilla.geckoview.WebResponse; package org.mozilla.geckoview { @AnyThread public final enum AllowOrDeny { method public static AllowOrDeny valueOf(String); method public static AllowOrDeny[] values(); enum_constant public static final AllowOrDeny ALLOW; enum_constant public static final AllowOrDeny DENY; } public class Autocomplete { ctor protected Autocomplete(); } public static class Autocomplete.Address { ctor @AnyThread protected Address(); field @NonNull public final String additionalName; field @NonNull public final String addressLevel1; field @NonNull public final String addressLevel2; field @NonNull public final String addressLevel3; field @NonNull public final String country; field @NonNull public final String email; field @NonNull public final String familyName; field @NonNull public final String givenName; field @Nullable public final String guid; field @NonNull public final String name; field @NonNull public final String organization; field @NonNull public final String postalCode; field @NonNull public final String streetAddress; field @NonNull public final String tel; } public static class Autocomplete.Address.Builder { ctor @AnyThread public Builder(); method @AnyThread @NonNull public Autocomplete.Address.Builder additionalName(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel1(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel2(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel3(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address build(); method @AnyThread @NonNull public Autocomplete.Address.Builder country(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder email(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder familyName(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder givenName(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder guid(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder name(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder organization(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder postalCode(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder streetAddress(@Nullable String); method @AnyThread @NonNull public Autocomplete.Address.Builder tel(@Nullable String); } public static class Autocomplete.AddressSaveOption extends Autocomplete.SaveOption { ctor public AddressSaveOption(@NonNull Autocomplete.Address); } public static class Autocomplete.AddressSelectOption extends Autocomplete.SelectOption { ctor public AddressSelectOption(@NonNull Autocomplete.Address); } @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.AddressSelectOption.AddressSelectHint { } public static class Autocomplete.AddressSelectOption.Hint { ctor public Hint(); field public static final int INSECURE_FORM = 2; field public static final int NONE = 0; } public static class Autocomplete.CreditCard { ctor @AnyThread protected CreditCard(); field @NonNull public final String expirationMonth; field @NonNull public final String expirationYear; field @Nullable public final String guid; field @NonNull public final String name; field @NonNull public final String number; } public static class Autocomplete.CreditCard.Builder { ctor @AnyThread public Builder(); method @AnyThread @NonNull public Autocomplete.CreditCard build(); method @AnyThread @NonNull public Autocomplete.CreditCard.Builder expirationMonth(@Nullable String); method @AnyThread @NonNull public Autocomplete.CreditCard.Builder expirationYear(@Nullable String); method @AnyThread @NonNull public Autocomplete.CreditCard.Builder guid(@Nullable String); method @AnyThread @NonNull public Autocomplete.CreditCard.Builder name(@Nullable String); method @AnyThread @NonNull public Autocomplete.CreditCard.Builder number(@Nullable String); } public static class Autocomplete.CreditCardSaveOption extends Autocomplete.SaveOption { ctor public CreditCardSaveOption(@NonNull Autocomplete.CreditCard); } public static class Autocomplete.CreditCardSelectOption extends Autocomplete.SelectOption { ctor public CreditCardSelectOption(@NonNull Autocomplete.CreditCard); } @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.CreditCardSelectOption.CreditCardSelectHint { } public static class Autocomplete.CreditCardSelectOption.Hint { ctor public Hint(); field public static final int INSECURE_FORM = 2; field public static final int NONE = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.LSUsedField { } public static class Autocomplete.LoginEntry { ctor @AnyThread protected LoginEntry(); field @Nullable public final String formActionOrigin; field @Nullable public final String guid; field @Nullable public final String httpRealm; field @NonNull public final String origin; field @NonNull public final String password; field @NonNull public final String username; } public static class Autocomplete.LoginEntry.Builder { ctor @AnyThread public Builder(); method @AnyThread @NonNull public Autocomplete.LoginEntry build(); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder formActionOrigin(@Nullable String); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder guid(@Nullable String); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder httpRealm(@Nullable String); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder origin(@NonNull String); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder password(@NonNull String); method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder username(@NonNull String); } public static class Autocomplete.LoginSaveOption extends Autocomplete.SaveOption { ctor public LoginSaveOption(@NonNull Autocomplete.LoginEntry); } public static class Autocomplete.LoginSelectOption extends Autocomplete.SelectOption { ctor public LoginSelectOption(@NonNull Autocomplete.LoginEntry); } public abstract static class Autocomplete.Option { ctor public Option(@NonNull T, int); field public final int hint; field @NonNull public final T value; } public abstract static class Autocomplete.SaveOption extends Autocomplete.Option { ctor public SaveOption(@NonNull T, int); } public static class Autocomplete.SaveOption.Hint { ctor protected Hint(); field public static final int GENERATED = 1; field public static final int LOW_CONFIDENCE = 2; field public static final int NONE = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.SaveOption.SaveOptionHint { } public abstract static class Autocomplete.SelectOption extends Autocomplete.Option { ctor public SelectOption(@NonNull T, int); } public static class Autocomplete.SelectOption.Hint { ctor public Hint(); field public static final int DUPLICATE_USERNAME = 4; field public static final int GENERATED = 1; field public static final int INSECURE_FORM = 2; field public static final int MATCHING_ORIGIN = 8; field public static final int NONE = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.SelectOption.SelectOptionHint { } public static interface Autocomplete.StorageDelegate { method @Nullable @UiThread default public GeckoResult onAddressFetch(); method @UiThread default public void onAddressSave(@NonNull Autocomplete.Address); method @Nullable @UiThread default public GeckoResult onCreditCardFetch(); method @UiThread default public void onCreditCardSave(@NonNull Autocomplete.CreditCard); method @Nullable @UiThread default public GeckoResult onLoginFetch(@NonNull String); method @Nullable @UiThread default public GeckoResult onLoginFetch(); method @UiThread default public void onLoginSave(@NonNull Autocomplete.LoginEntry); method @UiThread default public void onLoginUsed(@NonNull Autocomplete.LoginEntry, int); } public static class Autocomplete.UsedField { ctor protected UsedField(); field public static final int PASSWORD = 1; } public class Autofill { ctor public Autofill(); } @Retention(value=RetentionPolicy.SOURCE) public static interface Autofill.AutofillHint { } @Retention(value=RetentionPolicy.SOURCE) public static interface Autofill.AutofillInputType { } public static interface Autofill.AutofillNotify { } public static interface Autofill.Delegate { method @UiThread default public void onNodeAdd(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onNodeBlur(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onNodeFocus(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onNodeRemove(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onNodeUpdate(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onSessionCancel(@NonNull GeckoSession); method @UiThread default public void onSessionCommit(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); method @UiThread default public void onSessionStart(@NonNull GeckoSession); } public static final class Autofill.Hint { method @AnyThread @Nullable public static String toString(int); field public static final int EMAIL_ADDRESS = 0; field public static final int NONE = -1; field public static final int PASSWORD = 1; field public static final int URI = 2; field public static final int USERNAME = 3; } public static final class Autofill.InputType { method @AnyThread @Nullable public static String toString(int); field public static final int NONE = -1; field public static final int NUMBER = 1; field public static final int PHONE = 2; field public static final int TEXT = 0; } public static final class Autofill.Node { method @AnyThread @Nullable public String getAttribute(@NonNull String); method @AnyThread @NonNull public Map getAttributes(); method @AnyThread @NonNull public Collection getChildren(); method @AnyThread @Deprecated @DeprecationSchedule(id="autofill-fission",version=112) @NonNull public Rect getDimensions(); method @AnyThread @NonNull public String getDomain(); method @AnyThread public boolean getEnabled(); method @AnyThread public boolean getFocusable(); method @AnyThread public int getHint(); method @AnyThread public int getInputType(); method @AnyThread @NonNull public Rect getScreenRect(); method @AnyThread @NonNull public String getTag(); } public static class Autofill.NodeData { method @AnyThread public int getId(); method @AnyThread @Nullable public String getValue(); } public static final class Autofill.Session { method @UiThread public void autofill(@NonNull SparseArray); method @NonNull @UiThread public Autofill.NodeData dataFor(@NonNull Autofill.Node); method @UiThread public void fillViewStructure(@NonNull View, @NonNull ViewStructure, int); method @UiThread public void fillViewStructure(@NonNull Autofill.Node, @NonNull View, @NonNull ViewStructure, int); method @NonNull @UiThread public Rect getDefaultDimensions(); method @Nullable @UiThread public Autofill.Node getFocused(); method @Nullable @UiThread public Autofill.NodeData getFocusedData(); method @AnyThread @NonNull public Autofill.Node getRoot(); method @UiThread public boolean isVisible(@NonNull Autofill.Node); } @UiThread public class BasicSelectionActionDelegate implements ActionMode.Callback GeckoSession.SelectionActionDelegate { ctor public BasicSelectionActionDelegate(@NonNull Activity); ctor public BasicSelectionActionDelegate(@NonNull Activity, boolean); method public boolean areExternalActionsEnabled(); method public void clearSelection(); method public void enableExternalActions(boolean); method @Nullable public GeckoSession.SelectionActionDelegate.Selection getSelection(); method public boolean isActionAvailable(); method public void onGetContentRect(@Nullable ActionMode, @Nullable View, @NonNull Rect); method @NonNull protected String[] getAllActions(); method protected boolean isActionAvailable(@NonNull String); method protected boolean performAction(@NonNull String, @NonNull MenuItem); method protected void prepareAction(@NonNull String, @NonNull MenuItem); field protected static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT"; field @Nullable protected ActionMode mActionMode; field @NonNull protected final Activity mActivity; field protected boolean mRepopulatedMenu; field @Nullable protected GeckoSession.SelectionActionDelegate.Selection mSelection; field @Nullable protected GeckoSession mSession; field @Deprecated @DeprecationSchedule(id="selection-fission",version=112) @NonNull protected final Matrix mTempMatrix; field @Deprecated @DeprecationSchedule(id="selection-fission",version=112) @NonNull protected final RectF mTempRect; field protected final boolean mUseFloatingToolbar; } @UiThread public final class CompositorController { method public void addDrawCallback(@NonNull Runnable); method public int getClearColor(); method @Nullable public Runnable getFirstPaintCallback(); method public void removeDrawCallback(@NonNull Runnable); method public void setClearColor(int); method public void setFirstPaintCallback(@Nullable Runnable); } @AnyThread public class ContentBlocking { ctor protected ContentBlocking(); field public static final ContentBlocking.SafeBrowsingProvider GOOGLE_LEGACY_SAFE_BROWSING_PROVIDER; field public static final ContentBlocking.SafeBrowsingProvider GOOGLE_SAFE_BROWSING_PROVIDER; } public static class ContentBlocking.AntiTracking { ctor protected AntiTracking(); field public static final int AD = 2; field public static final int ANALYTIC = 4; field public static final int CONTENT = 16; field public static final int CRYPTOMINING = 64; field public static final int DEFAULT = 46; field public static final int FINGERPRINTING = 128; field public static final int NONE = 0; field public static final int SOCIAL = 8; field public static final int STP = 256; field public static final int STRICT = 254; field public static final int TEST = 32; } public static class ContentBlocking.BlockEvent { ctor public BlockEvent(@NonNull String, int, int, int, boolean); method @UiThread public int getAntiTrackingCategory(); method @UiThread public int getCookieBehaviorCategory(); method @UiThread public int getSafeBrowsingCategory(); method @UiThread public boolean isBlocking(); field @NonNull public final String uri; } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBAntiTracking { } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBCookieBannerMode { } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBCookieBehavior { } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBEtpLevel { } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBSafeBrowsing { } public static class ContentBlocking.CookieBannerMode { ctor protected CookieBannerMode(); field public static final int COOKIE_BANNER_MODE_DETECT_ONLY = 3; field public static final int COOKIE_BANNER_MODE_DISABLED = 0; field public static final int COOKIE_BANNER_MODE_REJECT = 1; field public static final int COOKIE_BANNER_MODE_REJECT_OR_ACCEPT = 2; } public static class ContentBlocking.CookieBehavior { ctor protected CookieBehavior(); field public static final int ACCEPT_ALL = 0; field public static final int ACCEPT_FIRST_PARTY = 1; field public static final int ACCEPT_FIRST_PARTY_AND_ISOLATE_OTHERS = 5; field public static final int ACCEPT_NONE = 2; field public static final int ACCEPT_NON_TRACKERS = 4; field public static final int ACCEPT_VISITED = 3; } public static interface ContentBlocking.Delegate { method @UiThread default public void onContentBlocked(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent); method @UiThread default public void onContentLoaded(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent); } public static class ContentBlocking.EtpLevel { ctor public EtpLevel(); field public static final int DEFAULT = 1; field public static final int NONE = 0; field public static final int STRICT = 2; } public static class ContentBlocking.SafeBrowsing { ctor protected SafeBrowsing(); field public static final int DEFAULT = 15360; field public static final int HARMFUL = 4096; field public static final int MALWARE = 1024; field public static final int NONE = 0; field public static final int PHISHING = 8192; field public static final int UNWANTED = 2048; } @AnyThread public static class ContentBlocking.SafeBrowsingProvider extends RuntimeSettings { method @NonNull public static ContentBlocking.SafeBrowsingProvider.Builder from(@NonNull ContentBlocking.SafeBrowsingProvider); method @Nullable public String getAdvisoryName(); method @Nullable public String getAdvisoryUrl(); method @Nullable public Boolean getDataSharingEnabled(); method @Nullable public String getDataSharingUrl(); method @Nullable public String getGetHashUrl(); method @NonNull public String[] getLists(); method @NonNull public String getName(); method @Nullable public String getReportMalwareMistakeUrl(); method @Nullable public String getReportPhishingMistakeUrl(); method @Nullable public String getReportUrl(); method @Nullable public String getUpdateUrl(); method @Nullable public String getVersion(); method @NonNull public static ContentBlocking.SafeBrowsingProvider.Builder withName(@NonNull String); field public static final Parcelable.Creator CREATOR; } @AnyThread public static class ContentBlocking.SafeBrowsingProvider.Builder { method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder advisoryName(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder advisoryUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider build(); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder dataSharingEnabled(boolean); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder dataSharingUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder getHashUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder lists(@NonNull String...); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportMalwareMistakeUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportPhishingMistakeUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder updateUrl(@NonNull String); method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder version(@NonNull String); } @AnyThread public static class ContentBlocking.Settings extends RuntimeSettings { method public int getAntiTrackingCategories(); method public int getCookieBannerMode(); method public int getCookieBannerModePrivateBrowsing(); method public int getCookieBehavior(); method public int getCookieBehaviorPrivateMode(); method public boolean getCookiePurging(); method public int getEnhancedTrackingProtectionLevel(); method public int getSafeBrowsingCategories(); method @NonNull public String[] getSafeBrowsingMalwareTable(); method @NonNull public String[] getSafeBrowsingPhishingTable(); method @NonNull public Collection getSafeBrowsingProviders(); method public boolean getStrictSocialTrackingProtection(); method @NonNull public ContentBlocking.Settings setAntiTracking(int); method @NonNull public ContentBlocking.Settings setCookieBannerMode(int); method @NonNull public ContentBlocking.Settings setCookieBannerModePrivateBrowsing(int); method @NonNull public ContentBlocking.Settings setCookieBehavior(int); method @NonNull public ContentBlocking.Settings setCookieBehaviorPrivateMode(int); method @NonNull public ContentBlocking.Settings setCookiePurging(boolean); method @NonNull public ContentBlocking.Settings setEnhancedTrackingProtectionLevel(int); method @NonNull public ContentBlocking.Settings setSafeBrowsing(int); method @NonNull public ContentBlocking.Settings setSafeBrowsingMalwareTable(@NonNull String...); method @NonNull public ContentBlocking.Settings setSafeBrowsingPhishingTable(@NonNull String...); method @NonNull public ContentBlocking.Settings setSafeBrowsingProviders(@NonNull ContentBlocking.SafeBrowsingProvider...); method @NonNull public ContentBlocking.Settings setStrictSocialTrackingProtection(boolean); field public static final Parcelable.Creator CREATOR; } @AnyThread public static class ContentBlocking.Settings.Builder extends RuntimeSettings.Builder { ctor public Builder(); method @NonNull public ContentBlocking.Settings.Builder antiTracking(int); method @NonNull public ContentBlocking.Settings.Builder cookieBannerHandlingMode(int); method @NonNull public ContentBlocking.Settings.Builder cookieBannerHandlingModePrivateBrowsing(int); method @NonNull public ContentBlocking.Settings.Builder cookieBehavior(int); method @NonNull public ContentBlocking.Settings.Builder cookieBehaviorPrivateMode(int); method @NonNull public ContentBlocking.Settings.Builder cookiePurging(boolean); method @NonNull public ContentBlocking.Settings.Builder enhancedTrackingProtectionLevel(int); method @NonNull public ContentBlocking.Settings.Builder safeBrowsing(int); method @NonNull public ContentBlocking.Settings.Builder safeBrowsingMalwareTable(@NonNull String[]); method @NonNull public ContentBlocking.Settings.Builder safeBrowsingPhishingTable(@NonNull String[]); method @NonNull public ContentBlocking.Settings.Builder safeBrowsingProviders(@NonNull ContentBlocking.SafeBrowsingProvider...); method @NonNull public ContentBlocking.Settings.Builder strictSocialTrackingProtection(boolean); method @NonNull protected ContentBlocking.Settings newSettings(@Nullable ContentBlocking.Settings); } @AnyThread public class ContentBlockingController { ctor public ContentBlockingController(); method @NonNull @UiThread public GeckoResult> getLog(@NonNull GeckoSession); } public static class ContentBlockingController.Event { ctor protected Event(); field public static final int ALLOWED_TRACKING_CONTENT = 32; field public static final int BLOCKED_CRYPTOMINING_CONTENT = 2048; field public static final int BLOCKED_FINGERPRINTING_CONTENT = 64; field public static final int BLOCKED_SOCIALTRACKING_CONTENT = 65536; field public static final int BLOCKED_TRACKING_CONTENT = 4096; field public static final int BLOCKED_UNSAFE_CONTENT = 16384; field public static final int COOKIES_BLOCKED_ALL = 1073741824; field public static final int COOKIES_BLOCKED_BY_PERMISSION = 268435456; field public static final int COOKIES_BLOCKED_FOREIGN = 128; field public static final int COOKIES_BLOCKED_SOCIALTRACKER = 16777216; field public static final int COOKIES_BLOCKED_TRACKER = 536870912; field public static final int COOKIES_LOADED = 32768; field public static final int COOKIES_LOADED_SOCIALTRACKER = 524288; field public static final int COOKIES_LOADED_TRACKER = 262144; field public static final int COOKIES_PARTITIONED_FOREIGN = -2147483648; field public static final int LOADED_CRYPTOMINING_CONTENT = 2097152; field public static final int LOADED_FINGERPRINTING_CONTENT = 1024; field public static final int LOADED_LEVEL_1_TRACKING_CONTENT = 8192; field public static final int LOADED_LEVEL_2_TRACKING_CONTENT = 1048576; field public static final int LOADED_SOCIALTRACKING_CONTENT = 131072; field public static final int REPLACED_TRACKING_CONTENT = 16; } @AnyThread public static class ContentBlockingController.LogEntry { ctor protected LogEntry(); field @NonNull public final List blockingData; field @NonNull public final String origin; } public static class ContentBlockingController.LogEntry.BlockingData { ctor protected BlockingData(); field public final boolean blocked; field public final int category; field public final int count; } @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlockingController.LogEntry.BlockingData.LogEvent { } public class CrashReporter { ctor public CrashReporter(); method @AnyThread @NonNull public static GeckoResult sendCrashReport(@NonNull Context, @NonNull Intent, @NonNull String); method @AnyThread @NonNull public static GeckoResult sendCrashReport(@NonNull Context, @NonNull Bundle, @NonNull String); method @AnyThread @NonNull public static GeckoResult sendCrashReport(@NonNull Context, @NonNull File, @NonNull File, @NonNull String); method @AnyThread @NonNull public static GeckoResult sendCrashReport(@NonNull String, @NonNull File, @NonNull JSONObject); } @Documented @Retention(value=RetentionPolicy.RUNTIME) @Target(value={ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.LOCAL_VARIABLE, ElementType.METHOD, ElementType.PACKAGE, ElementType.PARAMETER, ElementType.TYPE}) public interface DeprecationSchedule { element public String id(); element public int version(); } public class GeckoDisplay { ctor protected GeckoDisplay(GeckoSession); method @NonNull @UiThread public GeckoResult capturePixels(); method @UiThread public void safeAreaInsetsChanged(int, int, int, int); method @UiThread public void screenOriginChanged(int, int); method @NonNull @UiThread public GeckoDisplay.ScreenshotBuilder screenshot(); method @UiThread public void setDynamicToolbarMaxHeight(int); method @UiThread public void setVerticalClipping(int); method @UiThread public boolean shouldPinOnScreen(); method @UiThread public void surfaceChanged(@NonNull GeckoDisplay.SurfaceInfo); method @UiThread public void surfaceDestroyed(); } public static final class GeckoDisplay.ScreenshotBuilder { method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder aspectPreservingSize(int); method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder bitmap(@Nullable Bitmap); method @NonNull @UiThread public GeckoResult capture(); method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder scale(float); method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder size(int, int); method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(int, int, int, int); method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(@NonNull Rect); } public static class GeckoDisplay.SurfaceInfo { } public static class GeckoDisplay.SurfaceInfo.Builder { ctor public Builder(@NonNull Surface); method @NonNull @UiThread public GeckoDisplay.SurfaceInfo build(); method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder offset(int, int); method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder size(int, int); method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder surfaceControl(@Nullable SurfaceControl); } @AnyThread public class GeckoResult { ctor public GeckoResult(); ctor public GeckoResult(Handler); ctor public GeckoResult(GeckoResult); method @NonNull public GeckoResult accept(@Nullable GeckoResult.Consumer); method @NonNull public GeckoResult accept(@Nullable GeckoResult.Consumer, @Nullable GeckoResult.Consumer); method @NonNull @SafeVarargs public static GeckoResult> allOf(@NonNull GeckoResult...); method @NonNull public static GeckoResult> allOf(@Nullable List>); method @AnyThread @NonNull public static GeckoResult allow(); method @NonNull public synchronized GeckoResult cancel(); method public synchronized void complete(@Nullable T); method public synchronized void completeExceptionally(@NonNull Throwable); method public void completeFrom(@Nullable GeckoResult); method @AnyThread @NonNull public static GeckoResult deny(); method @NonNull public GeckoResult exceptionally(@NonNull GeckoResult.OnExceptionListener); method @NonNull public GeckoResult finally_(@NonNull Runnable); method @NonNull public static GeckoResult fromException(@NonNull Throwable); method @NonNull public static GeckoResult fromValue(@Nullable U); method @Nullable public Looper getLooper(); method @NonNull public GeckoResult map(@Nullable GeckoResult.OnValueMapper); method @NonNull public GeckoResult map(@Nullable GeckoResult.OnValueMapper, @Nullable GeckoResult.OnExceptionMapper); method @Nullable public synchronized T poll(); method @Nullable public synchronized T poll(long); method public void setCancellationDelegate(@Nullable GeckoResult.CancellationDelegate); method @NonNull public GeckoResult then(@NonNull GeckoResult.OnValueListener); method @NonNull public GeckoResult then(@Nullable GeckoResult.OnValueListener, @Nullable GeckoResult.OnExceptionListener); method @NonNull public GeckoResult withHandler(@Nullable Handler); } @AnyThread public static interface GeckoResult.CancellationDelegate { method @NonNull default public GeckoResult cancel(); } public static interface GeckoResult.Consumer { method @AnyThread public void accept(@Nullable T); } public static interface GeckoResult.OnExceptionListener { method @AnyThread @Nullable public GeckoResult onException(@NonNull Throwable); } public static interface GeckoResult.OnExceptionMapper { method @AnyThread @Nullable public Throwable onException(@NonNull Throwable); } public static interface GeckoResult.OnValueListener { method @AnyThread @Nullable public GeckoResult onValue(@Nullable T); } public static interface GeckoResult.OnValueMapper { method @AnyThread @Nullable public U onValue(@Nullable T); } public static final class GeckoResult.UncaughtException extends RuntimeException { ctor public UncaughtException(Throwable); } public final class GeckoRuntime implements Parcelable { method @AnyThread public void appendAppNotesToCrashReport(@NonNull String); method @UiThread public void attachTo(@NonNull Context); method @UiThread public void configurationChanged(@NonNull Configuration); method @NonNull @UiThread public static GeckoRuntime create(@NonNull Context); method @NonNull @UiThread public static GeckoRuntime create(@NonNull Context, @NonNull GeckoRuntimeSettings); method @Nullable @UiThread public GeckoRuntime.ActivityDelegate getActivityDelegate(); method @Nullable @UiThread public Autocomplete.StorageDelegate getAutocompleteStorageDelegate(); method @NonNull @UiThread public ContentBlockingController getContentBlockingController(); method @NonNull @UiThread public static synchronized GeckoRuntime getDefault(@NonNull Context); method @Nullable @UiThread public GeckoRuntime.Delegate getDelegate(); method @NonNull @UiThread public OrientationController getOrientationController(); method @NonNull @UiThread public ProfilerController getProfilerController(); method @Nullable @UiThread public GeckoRuntime.ServiceWorkerDelegate getServiceWorkerDelegate(); method @AnyThread @NonNull public GeckoRuntimeSettings getSettings(); method @NonNull @UiThread public StorageController getStorageController(); method @NonNull @UiThread public WebExtensionController getWebExtensionController(); method @Nullable @UiThread public WebNotificationDelegate getWebNotificationDelegate(); method @NonNull @UiThread public WebPushController getWebPushController(); method @UiThread public void orientationChanged(); method @UiThread public void orientationChanged(int); method @AnyThread public void readFromParcel(@NonNull Parcel); method @UiThread public void setActivityDelegate(@Nullable GeckoRuntime.ActivityDelegate); method @UiThread public void setAutocompleteStorageDelegate(@Nullable Autocomplete.StorageDelegate); method @UiThread public void setDelegate(@Nullable GeckoRuntime.Delegate); method @UiThread public void setServiceWorkerDelegate(@Nullable GeckoRuntime.ServiceWorkerDelegate); method @UiThread public void setWebNotificationDelegate(@Nullable WebNotificationDelegate); method @AnyThread public void shutdown(); field public static final String ACTION_CRASHED = "org.mozilla.gecko.ACTION_CRASHED"; field public static final String CRASHED_PROCESS_TYPE_BACKGROUND_CHILD = "BACKGROUND_CHILD"; field public static final String CRASHED_PROCESS_TYPE_FOREGROUND_CHILD = "FOREGROUND_CHILD"; field public static final String CRASHED_PROCESS_TYPE_MAIN = "MAIN"; field public static final Parcelable.Creator CREATOR; field public static final String EXTRA_CRASH_PROCESS_TYPE = "processType"; field public static final String EXTRA_EXTRAS_PATH = "extrasPath"; field public static final String EXTRA_MINIDUMP_PATH = "minidumpPath"; } public static interface GeckoRuntime.ActivityDelegate { method @Nullable @UiThread public GeckoResult onStartActivityForResult(@NonNull PendingIntent); } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntime.CrashedProcessType { } public static interface GeckoRuntime.Delegate { method @UiThread public void onShutdown(); } @UiThread public static interface GeckoRuntime.ServiceWorkerDelegate { method @NonNull @UiThread public GeckoResult onOpenWindow(@NonNull String); } @AnyThread public final class GeckoRuntimeSettings extends RuntimeSettings { method public boolean getAboutConfigEnabled(); method public int getAllowInsecureConnections(); method @NonNull public String[] getArguments(); method public boolean getAutomaticFontSizeAdjustment(); method @Nullable public String getConfigFilePath(); method public boolean getConsoleOutputEnabled(); method @NonNull public ContentBlocking.Settings getContentBlocking(); method @Nullable public Class getCrashHandler(); method @Nullable public Float getDisplayDensityOverride(); method @Nullable public Integer getDisplayDpiOverride(); method public boolean getDoubleTapZoomingEnabled(); method public boolean getEnterpriseRootsEnabled(); method @NonNull public Bundle getExtras(); method public boolean getFontInflationEnabled(); method public float getFontSizeFactor(); method public boolean getForceEnableAccessibility(); method public boolean getForceUserScalableEnabled(); method public int getGlMsaaLevel(); method public boolean getInputAutoZoomEnabled(); method public boolean getJavaScriptEnabled(); method @Nullable public String[] getLocales(); method public boolean getLoginAutofillEnabled(); method public boolean getPauseForDebuggerEnabled(); method public int getPreferredColorScheme(); method public boolean getRemoteDebuggingEnabled(); method @Nullable public GeckoRuntime getRuntime(); method @Nullable public Rect getScreenSizeOverride(); method @Nullable public RuntimeTelemetry.Delegate getTelemetryDelegate(); method public boolean getUseMaxScreenDepth(); method public boolean getWebFontsEnabled(); method public boolean getWebManifestEnabled(); method @NonNull public GeckoRuntimeSettings setAboutConfigEnabled(boolean); method @NonNull public GeckoRuntimeSettings setAllowInsecureConnections(int); method @NonNull public GeckoRuntimeSettings setAutomaticFontSizeAdjustment(boolean); method @NonNull public GeckoRuntimeSettings setConsoleOutputEnabled(boolean); method @NonNull public GeckoRuntimeSettings setDoubleTapZoomingEnabled(boolean); method @NonNull public GeckoRuntimeSettings setEnterpriseRootsEnabled(boolean); method @NonNull public GeckoRuntimeSettings setFontInflationEnabled(boolean); method @NonNull public GeckoRuntimeSettings setFontSizeFactor(float); method @NonNull public GeckoRuntimeSettings setForceEnableAccessibility(boolean); method @NonNull public GeckoRuntimeSettings setForceUserScalableEnabled(boolean); method @NonNull public GeckoRuntimeSettings setGlMsaaLevel(int); method @NonNull public GeckoRuntimeSettings setInputAutoZoomEnabled(boolean); method @NonNull public GeckoRuntimeSettings setJavaScriptEnabled(boolean); method public void setLocales(@Nullable String[]); method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean); method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int); method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean); method @NonNull public GeckoRuntimeSettings setWebFontsEnabled(boolean); method @NonNull public GeckoRuntimeSettings setWebManifestEnabled(boolean); field public static final int ALLOW_ALL = 0; field public static final int COLOR_SCHEME_DARK = 1; field public static final int COLOR_SCHEME_LIGHT = 0; field public static final int COLOR_SCHEME_SYSTEM = -1; field public static final Parcelable.Creator CREATOR; field public static final int HTTPS_ONLY = 2; field public static final int HTTPS_ONLY_PRIVATE = 1; } @AnyThread public static final class GeckoRuntimeSettings.Builder extends RuntimeSettings.Builder { ctor public Builder(); method @NonNull public GeckoRuntimeSettings.Builder aboutConfigEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder allowInsecureConnections(int); method @NonNull public GeckoRuntimeSettings.Builder arguments(@NonNull String[]); method @NonNull public GeckoRuntimeSettings.Builder automaticFontSizeAdjustment(boolean); method @NonNull public GeckoRuntimeSettings.Builder configFilePath(@Nullable String); method @NonNull public GeckoRuntimeSettings.Builder consoleOutput(boolean); method @NonNull public GeckoRuntimeSettings.Builder contentBlocking(@NonNull ContentBlocking.Settings); method @NonNull public GeckoRuntimeSettings.Builder crashHandler(@Nullable Class); method @NonNull public GeckoRuntimeSettings.Builder debugLogging(boolean); method @NonNull public GeckoRuntimeSettings.Builder displayDensityOverride(float); method @NonNull public GeckoRuntimeSettings.Builder displayDpiOverride(int); method @NonNull public GeckoRuntimeSettings.Builder doubleTapZoomingEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder enterpriseRootsEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder extras(@NonNull Bundle); method @NonNull public GeckoRuntimeSettings.Builder fontInflation(boolean); method @NonNull public GeckoRuntimeSettings.Builder fontSizeFactor(float); method @NonNull public GeckoRuntimeSettings.Builder forceUserScalableEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder glMsaaLevel(int); method @NonNull public GeckoRuntimeSettings.Builder inputAutoZoomEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder javaScriptEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder locales(@Nullable String[]); method @NonNull public GeckoRuntimeSettings.Builder loginAutofillEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder pauseForDebugger(boolean); method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int); method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int); method @NonNull public GeckoRuntimeSettings.Builder telemetryDelegate(@NonNull RuntimeTelemetry.Delegate); method @NonNull public GeckoRuntimeSettings.Builder useMaxScreenDepth(boolean); method @NonNull public GeckoRuntimeSettings.Builder webFontsEnabled(boolean); method @NonNull public GeckoRuntimeSettings.Builder webManifest(boolean); method @NonNull protected GeckoRuntimeSettings newSettings(@Nullable GeckoRuntimeSettings); } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.ColorScheme { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.HttpsOnlyMode { } public class GeckoSession { ctor public GeckoSession(); ctor public GeckoSession(@Nullable GeckoSessionSettings); method @NonNull @UiThread public GeckoDisplay acquireDisplay(); method @UiThread public void close(); method @AnyThread @NonNull public GeckoResult containsFormData(); method @AnyThread public void exitFullScreen(); method @NonNull @UiThread public SessionAccessibility getAccessibility(); method @Nullable @UiThread public Autofill.Delegate getAutofillDelegate(); method @NonNull @UiThread public Autofill.Session getAutofillSession(); method @UiThread public void getClientBounds(@NonNull RectF); method @UiThread public void getClientToScreenMatrix(@NonNull Matrix); method @UiThread public void getClientToSurfaceMatrix(@NonNull Matrix); method @NonNull @UiThread public CompositorController getCompositorController(); method @AnyThread @Nullable public ContentBlocking.Delegate getContentBlockingDelegate(); method @Nullable @UiThread public GeckoSession.ContentDelegate getContentDelegate(); method @AnyThread @NonNull public static String getDefaultUserAgent(); method @AnyThread @NonNull public SessionFinder getFinder(); method @AnyThread @Nullable public GeckoSession.HistoryDelegate getHistoryDelegate(); method @AnyThread @Nullable public GeckoSession.MediaDelegate getMediaDelegate(); method @AnyThread @Nullable public MediaSession.Delegate getMediaSessionDelegate(); method @Nullable @UiThread public GeckoSession.NavigationDelegate getNavigationDelegate(); method @NonNull @UiThread public OverscrollEdgeEffect getOverscrollEdgeEffect(); method @UiThread public void getPageToScreenMatrix(@NonNull Matrix); method @UiThread public void getPageToSurfaceMatrix(@NonNull Matrix); method @NonNull @UiThread public PanZoomController getPanZoomController(); method @Nullable @UiThread public GeckoSession.PermissionDelegate getPermissionDelegate(); method @Nullable @UiThread public GeckoSession.ProgressDelegate getProgressDelegate(); method @AnyThread @Nullable public GeckoSession.PromptDelegate getPromptDelegate(); method @Nullable @UiThread public GeckoSession.ScrollDelegate getScrollDelegate(); method @AnyThread @Nullable public GeckoSession.SelectionActionDelegate getSelectionActionDelegate(); method @AnyThread @NonNull public GeckoSessionSettings getSettings(); method @UiThread public void getSurfaceBounds(@NonNull Rect); method @AnyThread @NonNull public SessionTextInput getTextInput(); method @AnyThread @NonNull public GeckoResult getUserAgent(); method @NonNull @UiThread public WebExtension.SessionController getWebExtensionController(); method @AnyThread public void goBack(); method @AnyThread public void goBack(boolean); method @AnyThread public void goForward(); method @AnyThread public void goForward(boolean); method @AnyThread public void gotoHistoryIndex(int); method @UiThread public boolean isOpen(); method @AnyThread public void load(@NonNull GeckoSession.Loader); method @AnyThread public void loadUri(@NonNull String); method @UiThread public void open(@NonNull GeckoRuntime); method @AnyThread public void purgeHistory(); method @UiThread public void releaseDisplay(@NonNull GeckoDisplay); method @AnyThread public void reload(); method @AnyThread public void reload(int); method @AnyThread public void restoreState(@NonNull GeckoSession.SessionState); method @AnyThread @NonNull public GeckoResult saveAsPdf(); method @AnyThread public void setActive(boolean); method @UiThread public void setAutofillDelegate(@Nullable Autofill.Delegate); method @AnyThread public void setContentBlockingDelegate(@Nullable ContentBlocking.Delegate); method @UiThread public void setContentDelegate(@Nullable GeckoSession.ContentDelegate); method @AnyThread public void setFocused(boolean); method @AnyThread public void setHistoryDelegate(@Nullable GeckoSession.HistoryDelegate); method @AnyThread public void setMediaDelegate(@Nullable GeckoSession.MediaDelegate); method @AnyThread public void setMediaSessionDelegate(@Nullable MediaSession.Delegate); method @UiThread public void setNavigationDelegate(@Nullable GeckoSession.NavigationDelegate); method @UiThread public void setPermissionDelegate(@Nullable GeckoSession.PermissionDelegate); method @AnyThread public void setPriorityHint(int); method @UiThread public void setProgressDelegate(@Nullable GeckoSession.ProgressDelegate); method @AnyThread public void setPromptDelegate(@Nullable GeckoSession.PromptDelegate); method @UiThread public void setScrollDelegate(@Nullable GeckoSession.ScrollDelegate); method @UiThread public void setSelectionActionDelegate(@Nullable GeckoSession.SelectionActionDelegate); method @AnyThread public void stop(); method @UiThread protected void setShouldPinOnScreen(boolean); field public static final int FINDER_DISPLAY_DIM_PAGE = 2; field public static final int FINDER_DISPLAY_DRAW_LINK_OUTLINE = 4; field public static final int FINDER_DISPLAY_HIGHLIGHT_ALL = 1; field public static final int FINDER_FIND_BACKWARDS = 1; field public static final int FINDER_FIND_LINKS_ONLY = 8; field public static final int FINDER_FIND_MATCH_CASE = 2; field public static final int FINDER_FIND_WHOLE_WORD = 4; field public static final int HEADER_FILTER_CORS_SAFELISTED = 1; field public static final int HEADER_FILTER_UNRESTRICTED_UNSAFE = 2; field public static final int LOAD_FLAGS_ALLOW_POPUPS = 8; field public static final int LOAD_FLAGS_BYPASS_CACHE = 1; field public static final int LOAD_FLAGS_BYPASS_CLASSIFIER = 16; field public static final int LOAD_FLAGS_BYPASS_PROXY = 2; field public static final int LOAD_FLAGS_EXTERNAL = 4; field public static final int LOAD_FLAGS_FORCE_ALLOW_DATA_URI = 32; field public static final int LOAD_FLAGS_NONE = 0; field public static final int LOAD_FLAGS_REPLACE_HISTORY = 64; field public static final int PRIORITY_DEFAULT = 0; field public static final int PRIORITY_HIGH = 1; field @Nullable protected GeckoSession.Window mWindow; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ClipboardPermissionType { } public static interface GeckoSession.ContentDelegate { method @UiThread default public void onCloseRequest(@NonNull GeckoSession); method @UiThread default public void onContextMenu(@NonNull GeckoSession, int, int, @NonNull GeckoSession.ContentDelegate.ContextElement); method @AnyThread default public void onCookieBannerDetected(@NonNull GeckoSession); method @AnyThread default public void onCookieBannerHandled(@NonNull GeckoSession); method @UiThread default public void onCrash(@NonNull GeckoSession); method @UiThread default public void onExternalResponse(@NonNull GeckoSession, @NonNull WebResponse); method @UiThread default public void onFirstComposite(@NonNull GeckoSession); method @UiThread default public void onFirstContentfulPaint(@NonNull GeckoSession); method @UiThread default public void onFocusRequest(@NonNull GeckoSession); method @UiThread default public void onFullScreen(@NonNull GeckoSession, boolean); method @UiThread default public void onKill(@NonNull GeckoSession); method @UiThread default public void onMetaViewportFitChange(@NonNull GeckoSession, @NonNull String); method @UiThread default public void onPaintStatusReset(@NonNull GeckoSession); method @UiThread default public void onPointerIconChange(@NonNull GeckoSession, @NonNull PointerIcon); method @UiThread default public void onPreviewImage(@NonNull GeckoSession, @NonNull String); method @UiThread default public void onShowDynamicToolbar(@NonNull GeckoSession); method @Nullable @UiThread default public GeckoResult onSlowScript(@NonNull GeckoSession, @NonNull String); method @UiThread default public void onTitleChange(@NonNull GeckoSession, @Nullable String); method @UiThread default public void onWebAppManifest(@NonNull GeckoSession, @NonNull JSONObject); } public static class GeckoSession.ContentDelegate.ContextElement { ctor protected ContextElement(@Nullable String, @Nullable String, @Nullable String, @Nullable String, @NonNull String, @Nullable String); field public static final int TYPE_AUDIO = 3; field public static final int TYPE_IMAGE = 1; field public static final int TYPE_NONE = 0; field public static final int TYPE_VIDEO = 2; field @Nullable public final String altText; field @Nullable public final String baseUri; field @Nullable public final String linkUri; field @Nullable public final String srcUri; field @Nullable public final String title; field public final int type; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ContentDelegate.ContextElement.Type { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.FinderDisplayFlags { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.FinderFindFlags { } @AnyThread public static class GeckoSession.FinderResult { ctor protected FinderResult(); field @Nullable public final RectF clientRect; field public final int current; field public final int flags; field public final boolean found; field @Nullable public final String linkUri; field @NonNull public final String searchString; field public final int total; field public final boolean wrapped; } public static class GeckoSession.GeckoPrintException extends Exception { ctor protected GeckoPrintException(); field public static final int ERROR_PRINT_SETTINGS_SERVICE_NOT_AVAILABLE = -1; field public static final int ERROR_UNABLE_TO_CREATE_PRINT_SETTINGS = -2; field public static final int ERROR_UNABLE_TO_RETRIEVE_CANONICAL_BROWSING_CONTEXT = -3; field public final int code; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.GeckoPrintException.Codes { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.HeaderFilter { } public static interface GeckoSession.HistoryDelegate { method @Nullable @UiThread default public GeckoResult getVisited(@NonNull GeckoSession, @NonNull String[]); method @UiThread default public void onHistoryStateChange(@NonNull GeckoSession, @NonNull GeckoSession.HistoryDelegate.HistoryList); method @Nullable @UiThread default public GeckoResult onVisited(@NonNull GeckoSession, @NonNull String, @Nullable String, int); field public static final int VISIT_REDIRECT_PERMANENT = 4; field public static final int VISIT_REDIRECT_SOURCE = 8; field public static final int VISIT_REDIRECT_SOURCE_PERMANENT = 16; field public static final int VISIT_REDIRECT_TEMPORARY = 2; field public static final int VISIT_TOP_LEVEL = 1; field public static final int VISIT_UNRECOVERABLE_ERROR = 32; } public static interface GeckoSession.HistoryDelegate.HistoryItem { method @AnyThread @NonNull default public String getTitle(); method @AnyThread @NonNull default public String getUri(); } public static interface GeckoSession.HistoryDelegate.HistoryList implements List { method @AnyThread default public int getCurrentIndex(); } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.LoadFlags { } @AnyThread public static class GeckoSession.Loader { ctor public Loader(); method @NonNull public GeckoSession.Loader additionalHeaders(@NonNull Map); method @NonNull public GeckoSession.Loader data(@NonNull byte[], @Nullable String); method @NonNull public GeckoSession.Loader data(@NonNull String, @Nullable String); method @NonNull public GeckoSession.Loader flags(int); method @NonNull public GeckoSession.Loader headerFilter(int); method @NonNull public GeckoSession.Loader referrer(@NonNull GeckoSession); method @NonNull public GeckoSession.Loader referrer(@NonNull Uri); method @NonNull public GeckoSession.Loader referrer(@NonNull String); method @NonNull public GeckoSession.Loader uri(@NonNull String); method @NonNull public GeckoSession.Loader uri(@NonNull Uri); } public static interface GeckoSession.MediaDelegate { method @UiThread default public void onRecordingStatusChanged(@NonNull GeckoSession, @NonNull GeckoSession.MediaDelegate.RecordingDevice[]); } public static class GeckoSession.MediaDelegate.RecordingDevice { ctor protected RecordingDevice(); field public final long status; field public final long type; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.MediaDelegate.RecordingDevice.DeviceType { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.MediaDelegate.RecordingDevice.RecordingStatus { } public static class GeckoSession.MediaDelegate.RecordingDevice.Status { ctor protected Status(); field public static final long INACTIVE = 1L; field public static final long RECORDING = 0L; } public static class GeckoSession.MediaDelegate.RecordingDevice.Type { ctor protected Type(); field public static final long CAMERA = 0L; field public static final long MICROPHONE = 1L; } public static interface GeckoSession.NavigationDelegate { method @UiThread default public void onCanGoBack(@NonNull GeckoSession, boolean); method @UiThread default public void onCanGoForward(@NonNull GeckoSession, boolean); method @Nullable @UiThread default public GeckoResult onLoadError(@NonNull GeckoSession, @Nullable String, @NonNull WebRequestError); method @Nullable @UiThread default public GeckoResult onLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest); method @UiThread default public void onLocationChange(@NonNull GeckoSession, @Nullable String, @NonNull List); method @Nullable @UiThread default public GeckoResult onNewSession(@NonNull GeckoSession, @NonNull String); method @Nullable @UiThread default public GeckoResult onSubframeLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest); field public static final int LOAD_REQUEST_IS_REDIRECT = 8388608; field public static final int TARGET_WINDOW_CURRENT = 1; field public static final int TARGET_WINDOW_NEW = 2; field public static final int TARGET_WINDOW_NONE = 0; } public static class GeckoSession.NavigationDelegate.LoadRequest { ctor protected LoadRequest(); field public final boolean hasUserGesture; field public final boolean isDirectNavigation; field public final boolean isRedirect; field public final int target; field @Nullable public final String triggerUri; field @NonNull public final String uri; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.Permission { } public static interface GeckoSession.PermissionDelegate { method @UiThread default public void onAndroidPermissionsRequest(@NonNull GeckoSession, @Nullable String[], @NonNull GeckoSession.PermissionDelegate.Callback); method @Nullable @UiThread default public GeckoResult onContentPermissionRequest(@NonNull GeckoSession, @NonNull GeckoSession.PermissionDelegate.ContentPermission); method @UiThread default public void onMediaPermissionRequest(@NonNull GeckoSession, @NonNull String, @Nullable GeckoSession.PermissionDelegate.MediaSource[], @Nullable GeckoSession.PermissionDelegate.MediaSource[], @NonNull GeckoSession.PermissionDelegate.MediaCallback); field public static final int PERMISSION_AUTOPLAY_AUDIBLE = 5; field public static final int PERMISSION_AUTOPLAY_INAUDIBLE = 4; field public static final int PERMISSION_DESKTOP_NOTIFICATION = 1; field public static final int PERMISSION_GEOLOCATION = 0; field public static final int PERMISSION_MEDIA_KEY_SYSTEM_ACCESS = 6; field public static final int PERMISSION_PERSISTENT_STORAGE = 2; field public static final int PERMISSION_STORAGE_ACCESS = 8; field public static final int PERMISSION_TRACKING = 7; field public static final int PERMISSION_XR = 3; } public static interface GeckoSession.PermissionDelegate.Callback { method @UiThread default public void grant(); method @UiThread default public void reject(); } public static class GeckoSession.PermissionDelegate.ContentPermission { ctor protected ContentPermission(); method @AnyThread @Nullable public static GeckoSession.PermissionDelegate.ContentPermission fromJson(@NonNull JSONObject); method @AnyThread @NonNull public JSONObject toJson(); field public static final int VALUE_ALLOW = 1; field public static final int VALUE_DENY = 2; field public static final int VALUE_PROMPT = 3; field @Nullable public final String contextId; field public final int permission; field public final boolean privateMode; field @Nullable public final String thirdPartyOrigin; field @NonNull public final String uri; field public final int value; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.ContentPermission.Value { } public static interface GeckoSession.PermissionDelegate.MediaCallback { method @UiThread default public void grant(@Nullable String, @Nullable String); method @UiThread default public void grant(@Nullable GeckoSession.PermissionDelegate.MediaSource, @Nullable GeckoSession.PermissionDelegate.MediaSource); method @UiThread default public void reject(); } public static class GeckoSession.PermissionDelegate.MediaSource { ctor protected MediaSource(); field public static final int SOURCE_AUDIOCAPTURE = 3; field public static final int SOURCE_CAMERA = 0; field public static final int SOURCE_MICROPHONE = 2; field public static final int SOURCE_OTHER = 4; field public static final int SOURCE_SCREEN = 1; field public static final int TYPE_AUDIO = 1; field public static final int TYPE_VIDEO = 0; field @NonNull public final String id; field @Nullable public final String name; field public final int source; field public final int type; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.MediaSource.Source { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.MediaSource.Type { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.Priority { } public static interface GeckoSession.ProgressDelegate { method @UiThread default public void onPageStart(@NonNull GeckoSession, @NonNull String); method @UiThread default public void onPageStop(@NonNull GeckoSession, boolean); method @UiThread default public void onProgressChange(@NonNull GeckoSession, int); method @UiThread default public void onSecurityChange(@NonNull GeckoSession, @NonNull GeckoSession.ProgressDelegate.SecurityInformation); method @UiThread default public void onSessionStateChange(@NonNull GeckoSession, @NonNull GeckoSession.SessionState); } public static class GeckoSession.ProgressDelegate.SecurityInformation { ctor protected SecurityInformation(); field public static final int CONTENT_BLOCKED = 1; field public static final int CONTENT_LOADED = 2; field public static final int CONTENT_UNKNOWN = 0; field public static final int SECURITY_MODE_IDENTIFIED = 1; field public static final int SECURITY_MODE_UNKNOWN = 0; field public static final int SECURITY_MODE_VERIFIED = 2; field @Nullable public final X509Certificate certificate; field @NonNull public final String host; field public final boolean isException; field public final boolean isSecure; field public final int mixedModeActive; field public final int mixedModePassive; field @Nullable public final String origin; field public final int securityMode; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ProgressDelegate.SecurityInformation.ContentType { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ProgressDelegate.SecurityInformation.SecurityMode { } public static interface GeckoSession.PromptDelegate { method @Nullable @UiThread default public GeckoResult onAddressSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onAddressSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onAlertPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AlertPrompt); method @Nullable @UiThread default public GeckoResult onAuthPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AuthPrompt); method @Nullable @UiThread default public GeckoResult onBeforeUnloadPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.BeforeUnloadPrompt); method @Nullable @UiThread default public GeckoResult onButtonPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ButtonPrompt); method @Nullable @UiThread default public GeckoResult onChoicePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ChoicePrompt); method @Nullable @UiThread default public GeckoResult onColorPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ColorPrompt); method @Nullable @UiThread default public GeckoResult onCreditCardSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onCreditCardSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onDateTimePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.DateTimePrompt); method @Nullable @UiThread default public GeckoResult onFilePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.FilePrompt); method @Nullable @UiThread default public GeckoResult onLoginSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onLoginSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest); method @Nullable @UiThread default public GeckoResult onPopupPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.PopupPrompt); method @Nullable @UiThread default public GeckoResult onRepostConfirmPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.RepostConfirmPrompt); method @Nullable @UiThread default public GeckoResult onSharePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.SharePrompt); method @Nullable @UiThread default public GeckoResult onTextPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.TextPrompt); } public static class GeckoSession.PromptDelegate.AlertPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected AlertPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); field @Nullable public final String message; } public static class GeckoSession.PromptDelegate.AuthPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected AuthPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.AuthPrompt.AuthOptions, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String, @NonNull String); field @NonNull public final GeckoSession.PromptDelegate.AuthPrompt.AuthOptions authOptions; field @Nullable public final String message; } public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions { ctor protected AuthOptions(); field public final int flags; field public final int level; field @Nullable public final String password; field @Nullable public final String uri; field @Nullable public final String username; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.AuthFlag { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.AuthLevel { } public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Flags { ctor protected Flags(); field public static final int CROSS_ORIGIN_SUB_RESOURCE = 32; field public static final int HOST = 1; field public static final int ONLY_PASSWORD = 8; field public static final int PREVIOUS_FAILED = 16; field public static final int PROXY = 2; } public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Level { ctor protected Level(); field public static final int NONE = 0; field public static final int PW_ENCRYPTED = 1; field public static final int SECURE = 2; } public static class GeckoSession.PromptDelegate.AutocompleteRequest> extends GeckoSession.PromptDelegate.BasePrompt { ctor protected AutocompleteRequest(@NonNull String, @NonNull T[], GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Autocomplete.Option); field @NonNull public final T[] options; } public static class GeckoSession.PromptDelegate.BasePrompt { method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse dismiss(); method @Nullable @UiThread public GeckoSession.PromptDelegate.PromptInstanceDelegate getDelegate(); method @UiThread public boolean isComplete(); method @UiThread public void setDelegate(@Nullable GeckoSession.PromptDelegate.PromptInstanceDelegate); method @NonNull @UiThread protected GeckoSession.PromptDelegate.PromptResponse confirm(); field @Nullable public final String title; } protected static interface GeckoSession.PromptDelegate.BasePrompt.Observer { method @AnyThread default public void onPromptCompleted(@NonNull GeckoSession.PromptDelegate.BasePrompt); } public static class GeckoSession.PromptDelegate.BeforeUnloadPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected BeforeUnloadPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny); } public static class GeckoSession.PromptDelegate.ButtonPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected ButtonPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(int); field @Nullable public final String message; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.ButtonPrompt.ButtonType { } public static class GeckoSession.PromptDelegate.ButtonPrompt.Type { ctor protected Type(); field public static final int NEGATIVE = 2; field public static final int POSITIVE = 0; } public static class GeckoSession.PromptDelegate.ChoicePrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected ChoicePrompt(@NonNull String, @Nullable String, @Nullable String, int, @NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String[]); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[]); field @NonNull public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] choices; field @Nullable public final String message; field public final int type; } public static class GeckoSession.PromptDelegate.ChoicePrompt.Choice { ctor protected Choice(); field public final boolean disabled; field @Nullable public final String icon; field @NonNull public final String id; field @Nullable public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] items; field @NonNull public final String label; field public final boolean selected; field public final boolean separator; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.ChoicePrompt.ChoiceType { } public static class GeckoSession.PromptDelegate.ChoicePrompt.Type { ctor protected Type(); field public static final int MENU = 1; field public static final int MULTIPLE = 3; field public static final int SINGLE = 2; } public static class GeckoSession.PromptDelegate.ColorPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected ColorPrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); field @Nullable public final String defaultValue; field @Nullable public final String[] predefinedValues; } public static class GeckoSession.PromptDelegate.DateTimePrompt extends GeckoSession.PromptDelegate.BasePrompt { method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); field @Nullable public final String defaultValue; field @Nullable public final String maxValue; field @Nullable public final String minValue; field @Nullable public final String stepValue; field public final int type; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.DateTimePrompt.DatetimeType { } public static class GeckoSession.PromptDelegate.DateTimePrompt.Type { ctor protected Type(); field public static final int DATE = 1; field public static final int DATETIME_LOCAL = 5; field public static final int MONTH = 2; field public static final int TIME = 4; field public static final int WEEK = 3; } public static class GeckoSession.PromptDelegate.FilePrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected FilePrompt(@NonNull String, @Nullable String, int, int, @Nullable String[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri[]); field public final int capture; field @Nullable public final String[] mimeTypes; field public final int type; } public static class GeckoSession.PromptDelegate.FilePrompt.Capture { ctor protected Capture(); field public static final int ANY = 1; field public static final int ENVIRONMENT = 3; field public static final int NONE = 0; field public static final int USER = 2; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.FilePrompt.CaptureType { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.FilePrompt.FileType { } public static class GeckoSession.PromptDelegate.FilePrompt.Type { ctor protected Type(); field public static final int MULTIPLE = 2; field public static final int SINGLE = 1; } public static class GeckoSession.PromptDelegate.PopupPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected PopupPrompt(@NonNull String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull AllowOrDeny); field @Nullable public final String targetUri; } public static interface GeckoSession.PromptDelegate.PromptInstanceDelegate { method @UiThread default public void onPromptDismiss(@NonNull GeckoSession.PromptDelegate.BasePrompt); method @UiThread default public void onPromptUpdate(@NonNull GeckoSession.PromptDelegate.BasePrompt); } public static class GeckoSession.PromptDelegate.PromptResponse { } public static class GeckoSession.PromptDelegate.RepostConfirmPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected RepostConfirmPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny); } public static class GeckoSession.PromptDelegate.SharePrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected SharePrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(int); field @Nullable public final String text; field @Nullable public final String uri; } public static class GeckoSession.PromptDelegate.SharePrompt.Result { ctor protected Result(); field public static final int ABORT = 2; field public static final int FAILURE = 1; field public static final int SUCCESS = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.SharePrompt.ShareResult { } public static class GeckoSession.PromptDelegate.TextPrompt extends GeckoSession.PromptDelegate.BasePrompt { ctor protected TextPrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); field @Nullable public final String defaultValue; field @Nullable public final String message; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.RestartReason { } public static interface GeckoSession.ScrollDelegate { method @UiThread default public void onScrollChanged(@NonNull GeckoSession, int, int); } public static interface GeckoSession.SelectionActionDelegate { method @UiThread default public void onDismissClipboardPermissionRequest(@NonNull GeckoSession); method @UiThread default public void onHideAction(@NonNull GeckoSession, int); method @UiThread default public void onShowActionRequest(@NonNull GeckoSession, @NonNull GeckoSession.SelectionActionDelegate.Selection); method @Nullable @UiThread default public GeckoResult onShowClipboardPermissionRequest(@NonNull GeckoSession, @NonNull GeckoSession.SelectionActionDelegate.ClipboardPermission); field public static final String ACTION_COLLAPSE_TO_END = "org.mozilla.geckoview.COLLAPSE_TO_END"; field public static final String ACTION_COLLAPSE_TO_START = "org.mozilla.geckoview.COLLAPSE_TO_START"; field public static final String ACTION_COPY = "org.mozilla.geckoview.COPY"; field public static final String ACTION_CUT = "org.mozilla.geckoview.CUT"; field public static final String ACTION_DELETE = "org.mozilla.geckoview.DELETE"; field public static final String ACTION_HIDE = "org.mozilla.geckoview.HIDE"; field public static final String ACTION_PASTE = "org.mozilla.geckoview.PASTE"; field public static final String ACTION_PASTE_AS_PLAIN_TEXT = "org.mozilla.geckoview.PASTE_AS_PLAIN_TEXT"; field public static final String ACTION_SELECT_ALL = "org.mozilla.geckoview.SELECT_ALL"; field public static final String ACTION_UNSELECT = "org.mozilla.geckoview.UNSELECT"; field public static final int FLAG_IS_COLLAPSED = 1; field public static final int FLAG_IS_EDITABLE = 2; field public static final int FLAG_IS_PASSWORD = 4; field public static final int HIDE_REASON_ACTIVE_SCROLL = 3; field public static final int HIDE_REASON_ACTIVE_SELECTION = 2; field public static final int HIDE_REASON_INVISIBLE_SELECTION = 1; field public static final int HIDE_REASON_NO_SELECTION = 0; field public static final int PERMISSION_CLIPBOARD_READ = 1; } public static class GeckoSession.SelectionActionDelegate.ClipboardPermission { ctor protected ClipboardPermission(); field @Nullable public final Point screenPoint; field public final int type; field @NonNull public final String uri; } public static class GeckoSession.SelectionActionDelegate.Selection { ctor protected Selection(); method @AnyThread public void collapseToEnd(); method @AnyThread public void collapseToStart(); method @AnyThread public void copy(); method @AnyThread public void cut(); method @AnyThread public void delete(); method @AnyThread public void execute(@NonNull String); method @AnyThread public void hide(); method @AnyThread public boolean isActionAvailable(@NonNull String); method @AnyThread public void paste(); method @AnyThread public void pasteAsPlainText(); method @AnyThread public void selectAll(); method @AnyThread public void unselect(); field @NonNull public final Collection availableActions; field @Deprecated @DeprecationSchedule(id="selection-fission",version=112) @Nullable public final RectF clientRect; field public final int flags; field @Nullable public final RectF screenRect; field @NonNull public final String text; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateAction { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateFlag { } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateHideReason { } @AnyThread public static class GeckoSession.SessionState extends AbstractSequentialList implements Parcelable GeckoSession.HistoryDelegate.HistoryList { ctor public SessionState(@NonNull GeckoSession.SessionState); method @Nullable public static GeckoSession.SessionState fromString(@Nullable String); method public void readFromParcel(@NonNull Parcel); field public static final Parcelable.Creator CREATOR; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.TargetWindow { } public static interface GeckoSession.TextInputDelegate { method @UiThread default public void hideSoftInput(@NonNull GeckoSession); method @UiThread default public void restartInput(@NonNull GeckoSession, int); method @UiThread default public void showSoftInput(@NonNull GeckoSession); method @UiThread default public void updateCursorAnchorInfo(@NonNull GeckoSession, @NonNull CursorAnchorInfo); method @UiThread default public void updateExtractedText(@NonNull GeckoSession, @NonNull ExtractedTextRequest, @NonNull ExtractedText); method @UiThread default public void updateSelection(@NonNull GeckoSession, int, int, int, int); field public static final int RESTART_REASON_BLUR = 1; field public static final int RESTART_REASON_CONTENT_CHANGE = 2; field public static final int RESTART_REASON_FOCUS = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.VisitFlags { } @AnyThread public static class GeckoSession.WebResponseInfo { ctor protected WebResponseInfo(); field @Nullable public final long contentLength; field @Nullable public final String contentType; field @Nullable public final String filename; field @NonNull public final String uri; } @AnyThread public final class GeckoSessionSettings implements Parcelable { ctor public GeckoSessionSettings(); ctor public GeckoSessionSettings(@NonNull GeckoSessionSettings); method public boolean getAllowJavascript(); method @Nullable public String getChromeUri(); method @Nullable public String getContextId(); method public int getDisplayMode(); method public boolean getFullAccessibilityTree(); method public int getScreenId(); method public boolean getSuspendMediaWhenInactive(); method public boolean getUsePrivateMode(); method public boolean getUseTrackingProtection(); method public int getUserAgentMode(); method @Nullable public String getUserAgentOverride(); method public int getViewportMode(); method public void readFromParcel(@NonNull Parcel); method public void setAllowJavascript(boolean); method public void setDisplayMode(int); method public void setFullAccessibilityTree(boolean); method public void setSuspendMediaWhenInactive(boolean); method public void setUseTrackingProtection(boolean); method public void setUserAgentMode(int); method public void setUserAgentOverride(@Nullable String); method public void setViewportMode(int); field public static final Parcelable.Creator CREATOR; field public static final int DISPLAY_MODE_BROWSER = 0; field public static final int DISPLAY_MODE_FULLSCREEN = 3; field public static final int DISPLAY_MODE_MINIMAL_UI = 1; field public static final int DISPLAY_MODE_STANDALONE = 2; field public static final int USER_AGENT_MODE_DESKTOP = 1; field public static final int USER_AGENT_MODE_MOBILE = 0; field public static final int USER_AGENT_MODE_VR = 2; field public static final int VIEWPORT_MODE_DESKTOP = 1; field public static final int VIEWPORT_MODE_MOBILE = 0; } @AnyThread public static final class GeckoSessionSettings.Builder { ctor public Builder(); ctor public Builder(GeckoSessionSettings); method @NonNull public GeckoSessionSettings.Builder allowJavascript(boolean); method @NonNull public GeckoSessionSettings build(); method @NonNull public GeckoSessionSettings.Builder chromeUri(@NonNull String); method @NonNull public GeckoSessionSettings.Builder contextId(@Nullable String); method @NonNull public GeckoSessionSettings.Builder displayMode(int); method @NonNull public GeckoSessionSettings.Builder fullAccessibilityTree(boolean); method @NonNull public GeckoSessionSettings.Builder screenId(int); method @NonNull public GeckoSessionSettings.Builder suspendMediaWhenInactive(boolean); method @NonNull public GeckoSessionSettings.Builder usePrivateMode(boolean); method @NonNull public GeckoSessionSettings.Builder useTrackingProtection(boolean); method @NonNull public GeckoSessionSettings.Builder userAgentMode(int); method @NonNull public GeckoSessionSettings.Builder userAgentOverride(@NonNull String); method @NonNull public GeckoSessionSettings.Builder viewportMode(int); } public static class GeckoSessionSettings.Key { } public class GeckoVRManager { method @AnyThread public static synchronized void setExternalContext(long); } @UiThread public class GeckoView extends FrameLayout { ctor public GeckoView(Context); ctor public GeckoView(Context, AttributeSet); method @NonNull @UiThread public GeckoResult capturePixels(); method public void coverUntilFirstPaint(int); method public void dispatchDraw(@Nullable Canvas); method public boolean getAutofillEnabled(); method @NonNull public PanZoomController getPanZoomController(); method @AnyThread @Nullable public GeckoSession getSession(); method public void onAttachedToWindow(); method public void onDetachedFromWindow(); method @NonNull public GeckoResult onTouchEventForDetailResult(@NonNull MotionEvent); method @Nullable @UiThread public GeckoSession releaseSession(); method public void setAutofillEnabled(boolean); method public void setDynamicToolbarMaxHeight(int); method @UiThread public void setSession(@NonNull GeckoSession); method public void setVerticalClipping(int); method public void setViewBackend(int); method public boolean shouldPinOnScreen(); field public static final int BACKEND_SURFACE_VIEW = 1; field public static final int BACKEND_TEXTURE_VIEW = 2; field @NonNull protected final GeckoView.Display mDisplay; field @Nullable protected GeckoSession mSession; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoView.ViewBackend { } @AnyThread public class GeckoWebExecutor { ctor public GeckoWebExecutor(@NonNull GeckoRuntime); method @NonNull public GeckoResult fetch(@NonNull WebRequest); method @NonNull public GeckoResult fetch(@NonNull WebRequest, int); method @NonNull public GeckoResult resolve(@NonNull String); method public void speculativeConnect(@NonNull String); field public static final int FETCH_FLAGS_ANONYMOUS = 1; field public static final int FETCH_FLAGS_NONE = 0; field public static final int FETCH_FLAGS_NO_REDIRECTS = 2; field public static final int FETCH_FLAGS_PRIVATE = 8; field public static final int FETCH_FLAGS_STREAM_FAILURE_TEST = 1024; } @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoWebExecutor.FetchFlags { } @AnyThread public class Image { method @NonNull public GeckoResult getBitmap(int); } public static class Image.ImageProcessingException extends RuntimeException { ctor public ImageProcessingException(String); } @UiThread public class MediaSession { ctor protected MediaSession(GeckoSession); method public boolean isActive(); method public void muteAudio(boolean); method public void nextTrack(); method public void pause(); method public void play(); method public void previousTrack(); method public void seekBackward(); method public void seekForward(); method public void seekTo(double, boolean); method public void skipAd(); method public void stop(); } @UiThread public static interface MediaSession.Delegate { method default public void onActivated(@NonNull GeckoSession, @NonNull MediaSession); method default public void onDeactivated(@NonNull GeckoSession, @NonNull MediaSession); method default public void onFeatures(@NonNull GeckoSession, @NonNull MediaSession, long); method default public void onFullscreen(@NonNull GeckoSession, @NonNull MediaSession, boolean, @Nullable MediaSession.ElementMetadata); method default public void onMetadata(@NonNull GeckoSession, @NonNull MediaSession, @NonNull MediaSession.Metadata); method default public void onPause(@NonNull GeckoSession, @NonNull MediaSession); method default public void onPlay(@NonNull GeckoSession, @NonNull MediaSession); method default public void onPositionState(@NonNull GeckoSession, @NonNull MediaSession, @NonNull MediaSession.PositionState); method default public void onStop(@NonNull GeckoSession, @NonNull MediaSession); } public static class MediaSession.ElementMetadata { ctor public ElementMetadata(@Nullable String, double, long, long, int, int); field public final int audioTrackCount; field public final double duration; field public final long height; field @Nullable public final String source; field public final int videoTrackCount; field public final long width; } public static class MediaSession.Feature { ctor public Feature(); field public static final long FOCUS = 512L; field public static final long NEXT_TRACK = 128L; field public static final long NONE = 0L; field public static final long PAUSE = 2L; field public static final long PLAY = 1L; field public static final long PREVIOUS_TRACK = 256L; field public static final long SEEK_BACKWARD = 32L; field public static final long SEEK_FORWARD = 16L; field public static final long SEEK_TO = 8L; field public static final long SKIP_AD = 64L; field public static final long STOP = 4L; } @Retention(value=RetentionPolicy.SOURCE) public static interface MediaSession.MSFeature { } public static class MediaSession.Metadata { ctor protected Metadata(@Nullable String, @Nullable String, @Nullable String, @Nullable Image); field @Nullable public final String album; field @Nullable public final String artist; field @Nullable public final Image artwork; field @Nullable public final String title; } public static class MediaSession.PositionState { ctor protected PositionState(double, double, double); field public final double duration; field public final double playbackRate; field public final double position; } public class OrientationController { method @Nullable @UiThread public OrientationController.OrientationDelegate getDelegate(); method @UiThread public void setDelegate(@Nullable OrientationController.OrientationDelegate); } @UiThread public static interface OrientationController.OrientationDelegate { method @Nullable default public GeckoResult onOrientationLock(@NonNull int); method @Nullable default public void onOrientationUnlock(); } @UiThread public final class OverscrollEdgeEffect { method public void draw(@NonNull Canvas); method @Nullable public Runnable getInvalidationCallback(); method public void setInvalidationCallback(@Nullable Runnable); method public void setTheme(@NonNull Context); } @UiThread public class PanZoomController { ctor protected PanZoomController(GeckoSession); method public float getScrollFactor(); method public void onMotionEvent(@NonNull MotionEvent); method public void onMouseEvent(@NonNull MotionEvent); method public void onTouchEvent(@NonNull MotionEvent); method @NonNull public GeckoResult onTouchEventForDetailResult(@NonNull MotionEvent); method @UiThread public void scrollBy(@NonNull ScreenLength, @NonNull ScreenLength); method @UiThread public void scrollBy(@NonNull ScreenLength, @NonNull ScreenLength, int); method @UiThread public void scrollTo(@NonNull ScreenLength, @NonNull ScreenLength); method @UiThread public void scrollTo(@NonNull ScreenLength, @NonNull ScreenLength, int); method @UiThread public void scrollToBottom(); method @UiThread public void scrollToTop(); method public void setIsLongpressEnabled(boolean); method public void setScrollFactor(float); field public static final int INPUT_RESULT_HANDLED = 1; field public static final int INPUT_RESULT_HANDLED_CONTENT = 2; field public static final int INPUT_RESULT_IGNORED = 3; field public static final int INPUT_RESULT_UNHANDLED = 0; field public static final int OVERSCROLL_FLAG_HORIZONTAL = 1; field public static final int OVERSCROLL_FLAG_NONE = 0; field public static final int OVERSCROLL_FLAG_VERTICAL = 2; field public static final int SCROLLABLE_FLAG_BOTTOM = 4; field public static final int SCROLLABLE_FLAG_LEFT = 8; field public static final int SCROLLABLE_FLAG_NONE = 0; field public static final int SCROLLABLE_FLAG_RIGHT = 2; field public static final int SCROLLABLE_FLAG_TOP = 1; field public static final int SCROLL_BEHAVIOR_AUTO = 1; field public static final int SCROLL_BEHAVIOR_SMOOTH = 0; } @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.InputResult { } public static class PanZoomController.InputResultDetail { ctor protected InputResultDetail(int, int, int); method @AnyThread public int handledResult(); method @AnyThread public int overscrollDirections(); method @AnyThread public int scrollableDirections(); } @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.OverscrollDirections { } @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.ScrollBehaviorType { } @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.ScrollableDirections { } @UiThread public class ProfilerController { ctor public ProfilerController(); method public void addMarker(@NonNull String, @Nullable Double, @Nullable Double, @Nullable String); method public void addMarker(@NonNull String, @Nullable Double, @Nullable String); method public void addMarker(@NonNull String, @Nullable Double); method public void addMarker(@NonNull String, @Nullable String); method public void addMarker(@NonNull String); method @Nullable public Double getProfilerTime(); method public boolean isProfilerActive(); method public void startProfiler(@NonNull String[], @NonNull String[]); method @NonNull public GeckoResult stopProfiler(); } public abstract class RuntimeSettings implements Parcelable { ctor protected RuntimeSettings(); ctor protected RuntimeSettings(@Nullable RuntimeSettings); method @AnyThread public void readFromParcel(@NonNull Parcel); method @AnyThread protected void updatePrefs(@NonNull RuntimeSettings); } public abstract static class RuntimeSettings.Builder { ctor public Builder(); method @AnyThread @NonNull public Settings build(); method @AnyThread @NonNull protected Settings getSettings(); method @AnyThread @NonNull protected abstract Settings newSettings(@Nullable Settings); } public final class RuntimeTelemetry { ctor protected RuntimeTelemetry(); } public static interface RuntimeTelemetry.Delegate { method @AnyThread default public void onBooleanScalar(@NonNull RuntimeTelemetry.Metric); method @AnyThread default public void onHistogram(@NonNull RuntimeTelemetry.Histogram); method @AnyThread default public void onLongScalar(@NonNull RuntimeTelemetry.Metric); method @AnyThread default public void onStringScalar(@NonNull RuntimeTelemetry.Metric); } public static class RuntimeTelemetry.Histogram extends RuntimeTelemetry.Metric { ctor protected Histogram(); field public final boolean isCategorical; } public static class RuntimeTelemetry.Metric { ctor protected Metric(); field @NonNull public final String name; field @NonNull public final T value; } public class ScreenLength { method @AnyThread @NonNull public static ScreenLength bottom(); method @AnyThread @NonNull public static ScreenLength fromPixels(double); method @AnyThread @NonNull public static ScreenLength fromVisualViewportHeight(double); method @AnyThread @NonNull public static ScreenLength fromVisualViewportWidth(double); method @AnyThread public int getType(); method @AnyThread public double getValue(); method @AnyThread @NonNull public static ScreenLength top(); method @AnyThread @NonNull public static ScreenLength zero(); field public static final int DOCUMENT_HEIGHT = 4; field public static final int DOCUMENT_WIDTH = 3; field public static final int PIXEL = 0; field public static final int VISUAL_VIEWPORT_HEIGHT = 2; field public static final int VISUAL_VIEWPORT_WIDTH = 1; } @Retention(value=RetentionPolicy.SOURCE) public static interface ScreenLength.ScreenLengthType { } @UiThread public class SessionAccessibility { method @Nullable public View getView(); method public boolean onMotionEvent(@NonNull MotionEvent); method @UiThread public void setView(@Nullable View); } @AnyThread public final class SessionFinder { method public void clear(); method @NonNull public GeckoResult find(@Nullable String, int); method public int getDisplayFlags(); method public void setDisplayFlags(int); } public final class SessionTextInput { method @NonNull @UiThread public GeckoSession.TextInputDelegate getDelegate(); method @AnyThread @NonNull public synchronized Handler getHandler(@NonNull Handler); method @Nullable @UiThread public View getView(); method @AnyThread @Nullable public synchronized InputConnection onCreateInputConnection(@NonNull EditorInfo); method @UiThread public boolean onKeyDown(int, @NonNull KeyEvent); method @UiThread public boolean onKeyLongPress(int, @NonNull KeyEvent); method @UiThread public boolean onKeyMultiple(int, int, @NonNull KeyEvent); method @UiThread public boolean onKeyPreIme(int, @NonNull KeyEvent); method @UiThread public boolean onKeyUp(int, @NonNull KeyEvent); method @UiThread public void setDelegate(@Nullable GeckoSession.TextInputDelegate); method @UiThread public synchronized void setView(@Nullable View); } @AnyThread public final enum SlowScriptResponse { method public static SlowScriptResponse valueOf(String); method public static SlowScriptResponse[] values(); enum_constant public static final SlowScriptResponse CONTINUE; enum_constant public static final SlowScriptResponse STOP; } public final class StorageController { ctor public StorageController(); method @AnyThread @NonNull public GeckoResult clearData(long); method @AnyThread public void clearDataForSessionContext(@NonNull String); method @AnyThread @NonNull public GeckoResult clearDataFromBaseDomain(@NonNull String, long); method @AnyThread @NonNull public GeckoResult clearDataFromHost(@NonNull String, long); method @AnyThread @NonNull public GeckoResult> getAllPermissions(); method @AnyThread @NonNull public GeckoResult getCookieBannerModeForDomain(@NonNull String, boolean); method @AnyThread @NonNull public GeckoResult> getPermissions(@NonNull String); method @AnyThread @NonNull public GeckoResult> getPermissions(@NonNull String, boolean); method @AnyThread @NonNull public GeckoResult> getPermissions(@NonNull String, @Nullable String, boolean); method @AnyThread @NonNull public GeckoResult removeCookieBannerModeForDomain(@NonNull String, boolean); method @AnyThread @NonNull public GeckoResult setCookieBannerModeAndPersistInPrivateBrowsingForDomain(@NonNull String, int); method @AnyThread @NonNull public GeckoResult setCookieBannerModeForDomain(@NonNull String, int, boolean); method @AnyThread public void setPermission(@NonNull GeckoSession.PermissionDelegate.ContentPermission, int); method @AnyThread public void setPrivateBrowsingPermanentPermission(@NonNull GeckoSession.PermissionDelegate.ContentPermission, int); } public static class StorageController.ClearFlags { ctor public ClearFlags(); field public static final long ALL = 512L; field public static final long ALL_CACHES = 6L; field public static final long AUTH_SESSIONS = 32L; field public static final long COOKIES = 1L; field public static final long DOM_STORAGES = 16L; field public static final long IMAGE_CACHE = 4L; field public static final long NETWORK_CACHE = 2L; field public static final long PERMISSIONS = 64L; field public static final long SITE_DATA = 471L; field public static final long SITE_SETTINGS = 192L; } @Retention(value=RetentionPolicy.SOURCE) public static interface StorageController.StorageControllerClearFlags { } public class WebExtension { method @Nullable @UiThread public WebExtension.BrowsingDataDelegate getBrowsingDataDelegate(); method @Nullable @UiThread public WebExtension.DownloadDelegate getDownloadDelegate(); method @Nullable @UiThread public WebExtension.TabDelegate getTabDelegate(); method @AnyThread public void setActionDelegate(@Nullable WebExtension.ActionDelegate); method @UiThread public void setBrowsingDataDelegate(@Nullable WebExtension.BrowsingDataDelegate); method @UiThread public void setDownloadDelegate(@Nullable WebExtension.DownloadDelegate); method @UiThread public void setMessageDelegate(@Nullable WebExtension.MessageDelegate, @NonNull String); method @UiThread public void setTabDelegate(@Nullable WebExtension.TabDelegate); field public final long flags; field @NonNull public final String id; field public final boolean isBuiltIn; field @NonNull public final String location; field @NonNull public final WebExtension.MetaData metaData; } @AnyThread public static class WebExtension.Action { ctor protected Action(); method @UiThread public void click(); method @NonNull public WebExtension.Action withDefault(@NonNull WebExtension.Action); field @Nullable public final Integer badgeBackgroundColor; field @Nullable public final String badgeText; field @Nullable public final Integer badgeTextColor; field @Nullable public final Boolean enabled; field @Nullable public final Image icon; field @Nullable public final String title; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Action.ActionType { } public static interface WebExtension.ActionDelegate { method @UiThread default public void onBrowserAction(@NonNull WebExtension, @Nullable GeckoSession, @NonNull WebExtension.Action); method @Nullable @UiThread default public GeckoResult onOpenPopup(@NonNull WebExtension, @NonNull WebExtension.Action); method @UiThread default public void onPageAction(@NonNull WebExtension, @Nullable GeckoSession, @NonNull WebExtension.Action); method @Nullable @UiThread default public GeckoResult onTogglePopup(@NonNull WebExtension, @NonNull WebExtension.Action); } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.BlocklistState { } public static class WebExtension.BlocklistStateFlags { ctor public BlocklistStateFlags(); field public static final int BLOCKED = 2; field public static final int NOT_BLOCKED = 0; field public static final int OUTDATED = 3; field public static final int SOFTBLOCKED = 1; field public static final int VULNERABLE_NO_UPDATE = 5; field public static final int VULNERABLE_UPDATE_AVAILABLE = 4; } @UiThread public static interface WebExtension.BrowsingDataDelegate { method @Nullable default public GeckoResult onClearDownloads(long); method @Nullable default public GeckoResult onClearFormData(long); method @Nullable default public GeckoResult onClearHistory(long); method @Nullable default public GeckoResult onClearPasswords(long); method @Nullable default public GeckoResult onGetSettings(); } @UiThread public static class WebExtension.BrowsingDataDelegate.Settings { ctor @UiThread public Settings(int, long, long); field public final long selectedTypes; field public final int sinceUnixTimestamp; field public final long toggleableTypes; } public static class WebExtension.BrowsingDataDelegate.Type { ctor protected Type(); field public static final long CACHE = 1L; field public static final long COOKIES = 2L; field public static final long DOWNLOADS = 4L; field public static final long FORM_DATA = 8L; field public static final long HISTORY = 16L; field public static final long LOCAL_STORAGE = 32L; field public static final long PASSWORDS = 64L; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.BrowsingDataTypes { } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.ContextFlags { } public static class WebExtension.CreateTabDetails { ctor protected CreateTabDetails(); field @Nullable public final Boolean active; field @Nullable public final String cookieStoreId; field @Nullable public final Boolean discarded; field @Nullable public final Integer index; field @Nullable public final Boolean openInReaderMode; field @Nullable public final Boolean pinned; field @Nullable public final String url; } public static class WebExtension.DisabledFlags { ctor public DisabledFlags(); field public static final int APP = 8; field public static final int BLOCKLIST = 4; field public static final int USER = 2; } public static class WebExtension.Download { ctor protected Download(int); method @Nullable @UiThread public GeckoResult update(@NonNull WebExtension.Download.Info); field public static final int INTERRUPT_REASON_CRASH = 24; field public static final int INTERRUPT_REASON_FILE_ACCESS_DENIED = 2; field public static final int INTERRUPT_REASON_FILE_BLOCKED = 8; field public static final int INTERRUPT_REASON_FILE_FAILED = 1; field public static final int INTERRUPT_REASON_FILE_NAME_TOO_LONG = 4; field public static final int INTERRUPT_REASON_FILE_NO_SPACE = 3; field public static final int INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = 9; field public static final int INTERRUPT_REASON_FILE_TOO_LARGE = 5; field public static final int INTERRUPT_REASON_FILE_TOO_SHORT = 10; field public static final int INTERRUPT_REASON_FILE_TRANSIENT_ERROR = 7; field public static final int INTERRUPT_REASON_FILE_VIRUS_INFECTED = 6; field public static final int INTERRUPT_REASON_NETWORK_DISCONNECTED = 13; field public static final int INTERRUPT_REASON_NETWORK_FAILED = 11; field public static final int INTERRUPT_REASON_NETWORK_INVALID_REQUEST = 15; field public static final int INTERRUPT_REASON_NETWORK_SERVER_DOWN = 14; field public static final int INTERRUPT_REASON_NETWORK_TIMEOUT = 12; field public static final int INTERRUPT_REASON_NO_INTERRUPT = 0; field public static final int INTERRUPT_REASON_SERVER_BAD_CONTENT = 18; field public static final int INTERRUPT_REASON_SERVER_CERT_PROBLEM = 20; field public static final int INTERRUPT_REASON_SERVER_FAILED = 16; field public static final int INTERRUPT_REASON_SERVER_FORBIDDEN = 21; field public static final int INTERRUPT_REASON_SERVER_NO_RANGE = 17; field public static final int INTERRUPT_REASON_SERVER_UNAUTHORIZED = 19; field public static final int INTERRUPT_REASON_USER_CANCELED = 22; field public static final int INTERRUPT_REASON_USER_SHUTDOWN = 23; field public static final int STATE_COMPLETE = 2; field public static final int STATE_INTERRUPTED = 1; field public static final int STATE_IN_PROGRESS = 0; field public final int id; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Download.DownloadInterruptReason { } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Download.DownloadState { } public static interface WebExtension.Download.Info { method @UiThread default public long bytesReceived(); method @UiThread default public boolean canResume(); method @Nullable @UiThread default public Long endTime(); method @Nullable @UiThread default public Integer error(); method @Nullable @UiThread default public Long estimatedEndTime(); method @UiThread default public boolean fileExists(); method @UiThread default public long fileSize(); method @NonNull @UiThread default public String filename(); method @NonNull @UiThread default public String mime(); method @UiThread default public boolean paused(); method @NonNull @UiThread default public String referrer(); method @UiThread default public long startTime(); method @UiThread default public int state(); method @UiThread default public long totalBytes(); } public static interface WebExtension.DownloadDelegate { method @AnyThread @Nullable default public GeckoResult onDownload(@NonNull WebExtension, @NonNull WebExtension.DownloadRequest); } public static class WebExtension.DownloadInitData { ctor public DownloadInitData(WebExtension.Download, WebExtension.Download.Info); field @NonNull public final WebExtension.Download download; field @NonNull public final WebExtension.Download.Info initData; } public static class WebExtension.DownloadRequest { ctor protected DownloadRequest(WebExtension.DownloadRequest.Builder); field public static final int CONFLICT_ACTION_OVERWRITE = 1; field public static final int CONFLICT_ACTION_PROMPT = 2; field public static final int CONFLICT_ACTION_UNIQUIFY = 0; field public final boolean allowHttpErrors; field public final int conflictActionFlag; field public final int downloadFlags; field @Nullable public final String filename; field @NonNull public final WebRequest request; field public final boolean saveAs; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.DownloadRequest.ConflictActionFlags { } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.EnabledFlags { } public static class WebExtension.Flags { ctor protected Flags(); field public static final long ALLOW_CONTENT_MESSAGING = 1L; field public static final long NONE = 0L; } public static class WebExtension.InstallException extends Exception { ctor protected InstallException(); field public final int code; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.InstallException.Codes { } public static class WebExtension.InstallException.ErrorCodes { ctor protected ErrorCodes(); field public static final int ERROR_CORRUPT_FILE = -3; field public static final int ERROR_FILE_ACCESS = -4; field public static final int ERROR_INCORRECT_HASH = -2; field public static final int ERROR_INCORRECT_ID = -7; field public static final int ERROR_INVALID_DOMAIN = -8; field public static final int ERROR_NETWORK_FAILURE = -1; field public static final int ERROR_POSTPONED = -101; field public static final int ERROR_SIGNEDSTATE_REQUIRED = -5; field public static final int ERROR_UNEXPECTED_ADDON_TYPE = -6; field public static final int ERROR_UNEXPECTED_ADDON_VERSION = -9; field public static final int ERROR_USER_CANCELED = -100; } @UiThread public static interface WebExtension.MessageDelegate { method @Nullable default public void onConnect(@NonNull WebExtension.Port); method @Nullable default public GeckoResult onMessage(@NonNull String, @NonNull Object, @NonNull WebExtension.MessageSender); } @UiThread public static class WebExtension.MessageSender { ctor protected MessageSender(); method public boolean isTopLevel(); field public static final int ENV_TYPE_CONTENT_SCRIPT = 2; field public static final int ENV_TYPE_EXTENSION = 1; field public final int environmentType; field @Nullable public final GeckoSession session; field @NonNull public final String url; field @NonNull public final WebExtension webExtension; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.MessageSender.EnvType { } public class WebExtension.MetaData { ctor protected MetaData(); field public final boolean allowedInPrivateBrowsing; field @NonNull public final String baseUrl; field public final int blocklistState; field @Nullable public final String creatorName; field @Nullable public final String creatorUrl; field @Nullable public final String description; field public final int disabledFlags; field public final boolean enabled; field @Nullable public final String homepageUrl; field @NonNull public final Image icon; field public final boolean isRecommended; field @Nullable public final String name; field public final boolean openOptionsPageInTab; field @Nullable public final String optionsPageUrl; field @NonNull public final String[] origins; field @NonNull public final String[] permissions; field public final int signedState; field public final boolean temporary; field @NonNull public final String version; } @UiThread public static class WebExtension.Port { ctor protected Port(); method public void disconnect(); method public void postMessage(@NonNull JSONObject); method public void setDelegate(@Nullable WebExtension.PortDelegate); field @NonNull public final String name; field @NonNull public final WebExtension.MessageSender sender; } @UiThread public static interface WebExtension.PortDelegate { method @NonNull default public void onDisconnect(@NonNull WebExtension.Port); method default public void onPortMessage(@NonNull Object, @NonNull WebExtension.Port); } public static class WebExtension.SessionController { method @AnyThread @Nullable public WebExtension.ActionDelegate getActionDelegate(@NonNull WebExtension); method @AnyThread @Nullable public WebExtension.MessageDelegate getMessageDelegate(@NonNull WebExtension, @NonNull String); method @AnyThread @Nullable public WebExtension.SessionTabDelegate getTabDelegate(@NonNull WebExtension); method @AnyThread public void setActionDelegate(@NonNull WebExtension, @Nullable WebExtension.ActionDelegate); method @AnyThread public void setMessageDelegate(@NonNull WebExtension, @Nullable WebExtension.MessageDelegate, @NonNull String); method @AnyThread public void setTabDelegate(@NonNull WebExtension, @Nullable WebExtension.SessionTabDelegate); } public static interface WebExtension.SessionTabDelegate { method @NonNull @UiThread default public GeckoResult onCloseTab(@Nullable WebExtension, @NonNull GeckoSession); method @NonNull @UiThread default public GeckoResult onUpdateTab(@NonNull WebExtension, @NonNull GeckoSession, @NonNull WebExtension.UpdateTabDetails); } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.SignedState { } public static class WebExtension.SignedStateFlags { ctor public SignedStateFlags(); field public static final int MISSING = 0; field public static final int PRELIMINARY = 1; field public static final int PRIVILEGED = 4; field public static final int SIGNED = 2; field public static final int SYSTEM = 3; field public static final int UNKNOWN = -1; } public static interface WebExtension.TabDelegate { method @Nullable @UiThread default public GeckoResult onNewTab(@NonNull WebExtension, @NonNull WebExtension.CreateTabDetails); method @UiThread default public void onOpenOptionsPage(@NonNull WebExtension); } public static class WebExtension.UpdateTabDetails { ctor protected UpdateTabDetails(); field @Nullable public final Boolean active; field @Nullable public final Boolean autoDiscardable; field @Nullable public final Boolean highlighted; field @Nullable public final Boolean muted; field @Nullable public final Boolean pinned; field @Nullable public final String url; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.WebExtensionFlags { } public class WebExtensionController { method @Nullable @UiThread public WebExtension.Download createDownload(int); method @AnyThread @NonNull public GeckoResult disable(@NonNull WebExtension, int); method @AnyThread @NonNull public GeckoResult enable(@NonNull WebExtension, int); method @AnyThread @NonNull public GeckoResult ensureBuiltIn(@NonNull String, @Nullable String); method @Nullable @UiThread public WebExtensionController.PromptDelegate getPromptDelegate(); method @AnyThread @NonNull public GeckoResult install(@NonNull String); method @AnyThread @NonNull public GeckoResult installBuiltIn(@NonNull String); method @AnyThread @NonNull public GeckoResult> list(); method @AnyThread @NonNull public GeckoResult setAllowedInPrivateBrowsing(@NonNull WebExtension, boolean); method @UiThread public void setDebuggerDelegate(@NonNull WebExtensionController.DebuggerDelegate); method @UiThread public void setPromptDelegate(@Nullable WebExtensionController.PromptDelegate); method @AnyThread public void setTabActive(@NonNull GeckoSession, boolean); method @AnyThread @NonNull public GeckoResult uninstall(@NonNull WebExtension); method @AnyThread @NonNull public GeckoResult update(@NonNull WebExtension); } public static interface WebExtensionController.DebuggerDelegate { method @UiThread default public void onExtensionListUpdated(); } public static class WebExtensionController.EnableSource { ctor public EnableSource(); field public static final int APP = 2; field public static final int USER = 1; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtensionController.EnableSources { } @UiThread public static interface WebExtensionController.PromptDelegate { method @Nullable default public GeckoResult onInstallPrompt(@NonNull WebExtension); method @Nullable default public GeckoResult onOptionalPrompt(@NonNull WebExtension, @NonNull String[], @NonNull String[]); method @Nullable default public GeckoResult onUpdatePrompt(@NonNull WebExtension, @NonNull WebExtension, @NonNull String[], @NonNull String[]); } @AnyThread public abstract class WebMessage { ctor protected WebMessage(@NonNull WebMessage.Builder); field @NonNull public final Map headers; field @NonNull public final String uri; } @AnyThread public abstract static class WebMessage.Builder { method @NonNull public WebMessage.Builder addHeader(@NonNull String, @NonNull String); method @NonNull public WebMessage.Builder header(@NonNull String, @NonNull String); method @NonNull public WebMessage.Builder uri(@NonNull String); } public class WebNotification implements Parcelable { method @UiThread public void click(); method @UiThread public void dismiss(); field public static final Parcelable.Creator CREATOR; field @Nullable public final String imageUrl; field @Nullable public final String lang; field public final boolean privateBrowsing; field @NonNull public final boolean requireInteraction; field public final boolean silent; field @Nullable public final String source; field @NonNull public final String tag; field @Nullable public final String text; field @Nullable public final String textDirection; field @Nullable public final String title; field @NonNull public final int[] vibrate; } public interface WebNotificationDelegate { method @AnyThread default public void onCloseNotification(@NonNull WebNotification); method @AnyThread default public void onShowNotification(@NonNull WebNotification); } public class WebPushController { method @Nullable @UiThread public WebPushDelegate getDelegate(); method @UiThread public void onPushEvent(@NonNull String); method @UiThread public void onPushEvent(@NonNull String, @Nullable byte[]); method @UiThread public void onSubscriptionChanged(@NonNull String); method @UiThread public void setDelegate(@Nullable WebPushDelegate); } public interface WebPushDelegate { method @Nullable @UiThread default public GeckoResult onGetSubscription(@NonNull String); method @Nullable @UiThread default public GeckoResult onSubscribe(@NonNull String, @Nullable byte[]); method @Nullable @UiThread default public GeckoResult onUnsubscribe(@NonNull String); } public class WebPushSubscription implements Parcelable { ctor public WebPushSubscription(@NonNull String, @NonNull String, @Nullable byte[], @NonNull byte[], @NonNull byte[]); field public static final Parcelable.Creator CREATOR; field @Nullable public final byte[] appServerKey; field @NonNull public final byte[] authSecret; field @NonNull public final byte[] browserPublicKey; field @NonNull public final String endpoint; field @NonNull public final String scope; } @AnyThread public class WebRequest extends WebMessage { ctor public WebRequest(@NonNull String); field public static final int CACHE_MODE_DEFAULT = 1; field public static final int CACHE_MODE_FORCE_CACHE = 5; field public static final int CACHE_MODE_NO_CACHE = 4; field public static final int CACHE_MODE_NO_STORE = 2; field public static final int CACHE_MODE_ONLY_IF_CACHED = 6; field public static final int CACHE_MODE_RELOAD = 3; field public final boolean beConservative; field @Nullable public final ByteBuffer body; field public final int cacheMode; field @NonNull public final String method; field @Nullable public final String referrer; } @AnyThread public static class WebRequest.Builder extends WebMessage.Builder { ctor public Builder(@NonNull String); method @NonNull public WebRequest.Builder beConservative(boolean); method @NonNull public WebRequest.Builder body(@Nullable ByteBuffer); method @NonNull public WebRequest.Builder body(@Nullable String); method @NonNull public WebRequest build(); method @NonNull public WebRequest.Builder cacheMode(int); method @NonNull public WebRequest.Builder method(@NonNull String); method @NonNull public WebRequest.Builder referrer(@Nullable String); } @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequest.CacheMode { } @AnyThread public class WebRequestError extends Exception { ctor public WebRequestError(int, int); ctor public WebRequestError(int, int, X509Certificate); field public static final int ERROR_BAD_HSTS_CERT = 179; field public static final int ERROR_CATEGORY_CONTENT = 4; field public static final int ERROR_CATEGORY_NETWORK = 3; field public static final int ERROR_CATEGORY_PROXY = 6; field public static final int ERROR_CATEGORY_SAFEBROWSING = 7; field public static final int ERROR_CATEGORY_SECURITY = 2; field public static final int ERROR_CATEGORY_UNKNOWN = 1; field public static final int ERROR_CATEGORY_URI = 5; field public static final int ERROR_CONNECTION_REFUSED = 67; field public static final int ERROR_CONTENT_CRASHED = 68; field public static final int ERROR_CORRUPTED_CONTENT = 52; field public static final int ERROR_DATA_URI_TOO_LONG = 117; field public static final int ERROR_FILE_ACCESS_DENIED = 101; field public static final int ERROR_FILE_NOT_FOUND = 85; field public static final int ERROR_HTTPS_ONLY = 163; field public static final int ERROR_INVALID_CONTENT_ENCODING = 84; field public static final int ERROR_MALFORMED_URI = 53; field public static final int ERROR_NET_INTERRUPT = 35; field public static final int ERROR_NET_RESET = 147; field public static final int ERROR_NET_TIMEOUT = 51; field public static final int ERROR_OFFLINE = 115; field public static final int ERROR_PORT_BLOCKED = 131; field public static final int ERROR_PROXY_CONNECTION_REFUSED = 38; field public static final int ERROR_REDIRECT_LOOP = 99; field public static final int ERROR_SAFEBROWSING_HARMFUL_URI = 71; field public static final int ERROR_SAFEBROWSING_MALWARE_URI = 39; field public static final int ERROR_SAFEBROWSING_PHISHING_URI = 87; field public static final int ERROR_SAFEBROWSING_UNWANTED_URI = 55; field public static final int ERROR_SECURITY_BAD_CERT = 50; field public static final int ERROR_SECURITY_SSL = 34; field public static final int ERROR_UNKNOWN = 17; field public static final int ERROR_UNKNOWN_HOST = 37; field public static final int ERROR_UNKNOWN_PROTOCOL = 69; field public static final int ERROR_UNKNOWN_PROXY_HOST = 54; field public static final int ERROR_UNKNOWN_SOCKET_TYPE = 83; field public static final int ERROR_UNSAFE_CONTENT_TYPE = 36; field public final int category; field @Nullable public final X509Certificate certificate; field public final int code; } @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequestError.Error { } @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequestError.ErrorCategory { } @AnyThread public class WebResponse extends WebMessage { ctor protected WebResponse(@NonNull WebResponse.Builder); method public void setReadTimeoutMillis(long); field public static final long DEFAULT_READ_TIMEOUT_MS = 30000L; field @Nullable public final InputStream body; field @Nullable public final X509Certificate certificate; field public final boolean isSecure; field public final boolean redirected; field public final int statusCode; } @AnyThread public static class WebResponse.Builder extends WebMessage.Builder { ctor public Builder(@NonNull String); method @NonNull public WebResponse.Builder body(@NonNull InputStream); method @NonNull public WebResponse build(); method @NonNull public WebResponse.Builder certificate(@NonNull X509Certificate); method @NonNull public WebResponse.Builder isSecure(boolean); method @NonNull public WebResponse.Builder redirected(boolean); method @NonNull public WebResponse.Builder statusCode(int); } }