api.txt (182782B)
1 import android.app.Activity; 2 import android.app.PendingIntent; 3 import android.content.Context; 4 import android.content.Intent; 5 import android.content.res.Configuration; 6 import android.graphics.Bitmap; 7 import android.graphics.Canvas; 8 import android.graphics.Matrix; 9 import android.graphics.Point; 10 import android.graphics.Rect; 11 import android.graphics.RectF; 12 import android.graphics.Region; 13 import android.net.Uri; 14 import android.os.Bundle; 15 import android.os.CancellationSignal; 16 import android.os.Handler; 17 import android.os.Looper; 18 import android.os.Parcel; 19 import android.os.ParcelFileDescriptor; 20 import android.os.Parcelable; 21 import android.print.PageRange; 22 import android.print.PrintAttributes; 23 import android.print.PrintDocumentAdapter; 24 import android.util.AttributeSet; 25 import android.util.SparseArray; 26 import android.view.ActionMode; 27 import android.view.DragEvent; 28 import android.view.KeyEvent; 29 import android.view.Menu; 30 import android.view.MenuItem; 31 import android.view.MotionEvent; 32 import android.view.PointerIcon; 33 import android.view.Surface; 34 import android.view.SurfaceControl; 35 import android.view.View; 36 import android.view.ViewStructure; 37 import android.view.autofill.AutofillValue; 38 import android.view.inputmethod.CursorAnchorInfo; 39 import android.view.inputmethod.EditorInfo; 40 import android.view.inputmethod.ExtractedText; 41 import android.view.inputmethod.ExtractedTextRequest; 42 import android.view.inputmethod.InputConnection; 43 import android.widget.FrameLayout; 44 import androidx.annotation.AnyThread; 45 import androidx.annotation.NonNull; 46 import androidx.annotation.Nullable; 47 import androidx.annotation.UiThread; 48 import androidx.core.view.OnApplyWindowInsetsListener; 49 import androidx.core.view.WindowInsetsCompat; 50 import java.io.File; 51 import java.io.InputStream; 52 import java.lang.Boolean; 53 import java.lang.CharSequence; 54 import java.lang.Class; 55 import java.lang.Comparable; 56 import java.lang.Deprecated; 57 import java.lang.Double; 58 import java.lang.Exception; 59 import java.lang.Float; 60 import java.lang.FunctionalInterface; 61 import java.lang.Integer; 62 import java.lang.Long; 63 import java.lang.Object; 64 import java.lang.Runnable; 65 import java.lang.RuntimeException; 66 import java.lang.SafeVarargs; 67 import java.lang.String; 68 import java.lang.Thread; 69 import java.lang.Throwable; 70 import java.lang.Void; 71 import java.lang.annotation.Documented; 72 import java.lang.annotation.ElementType; 73 import java.lang.annotation.Retention; 74 import java.lang.annotation.RetentionPolicy; 75 import java.lang.annotation.Target; 76 import java.net.InetAddress; 77 import java.nio.ByteBuffer; 78 import java.security.Principal; 79 import java.security.cert.X509Certificate; 80 import java.util.AbstractSequentialList; 81 import java.util.Collection; 82 import java.util.List; 83 import java.util.Map; 84 import org.json.JSONObject; 85 import org.mozilla.gecko.util.GeckoBundle; 86 import org.mozilla.geckoview.AllowOrDeny; 87 import org.mozilla.geckoview.Autocomplete; 88 import org.mozilla.geckoview.Autofill; 89 import org.mozilla.geckoview.CompositorController; 90 import org.mozilla.geckoview.ContentBlocking; 91 import org.mozilla.geckoview.ContentBlockingController; 92 import org.mozilla.geckoview.CrashHandler; 93 import org.mozilla.geckoview.CrashPullController; 94 import org.mozilla.geckoview.DeprecationSchedule; 95 import org.mozilla.geckoview.ExperimentDelegate; 96 import org.mozilla.geckoview.GeckoDisplay; 97 import org.mozilla.geckoview.GeckoPreferenceController; 98 import org.mozilla.geckoview.GeckoResult; 99 import org.mozilla.geckoview.GeckoRuntime; 100 import org.mozilla.geckoview.GeckoRuntimeSettings; 101 import org.mozilla.geckoview.GeckoSession; 102 import org.mozilla.geckoview.GeckoSessionSettings; 103 import org.mozilla.geckoview.GeckoView; 104 import org.mozilla.geckoview.Image; 105 import org.mozilla.geckoview.MediaSession; 106 import org.mozilla.geckoview.OrientationController; 107 import org.mozilla.geckoview.OverscrollEdgeEffect; 108 import org.mozilla.geckoview.PanZoomController; 109 import org.mozilla.geckoview.RuntimeSettings; 110 import org.mozilla.geckoview.ScreenLength; 111 import org.mozilla.geckoview.SessionAccessibility; 112 import org.mozilla.geckoview.SessionFinder; 113 import org.mozilla.geckoview.SessionPdfFileSaver; 114 import org.mozilla.geckoview.SessionTextInput; 115 import org.mozilla.geckoview.SlowScriptResponse; 116 import org.mozilla.geckoview.StorageController; 117 import org.mozilla.geckoview.TranslationsController; 118 import org.mozilla.geckoview.WebExtension; 119 import org.mozilla.geckoview.WebExtensionController; 120 import org.mozilla.geckoview.WebMessage; 121 import org.mozilla.geckoview.WebNotification; 122 import org.mozilla.geckoview.WebNotificationAction; 123 import org.mozilla.geckoview.WebNotificationDelegate; 124 import org.mozilla.geckoview.WebPushController; 125 import org.mozilla.geckoview.WebPushDelegate; 126 import org.mozilla.geckoview.WebPushSubscription; 127 import org.mozilla.geckoview.WebRequest; 128 import org.mozilla.geckoview.WebRequestError; 129 import org.mozilla.geckoview.WebResponse; 130 131 package org.mozilla.geckoview { 132 133 @AnyThread public final enum AllowOrDeny { 134 method public static AllowOrDeny valueOf(String); 135 method public static AllowOrDeny[] values(); 136 enum_constant public static final AllowOrDeny ALLOW; 137 enum_constant public static final AllowOrDeny DENY; 138 } 139 140 public class Autocomplete { 141 ctor protected Autocomplete(); 142 } 143 144 public static class Autocomplete.Address { 145 ctor @AnyThread protected Address(); 146 field @NonNull public final String additionalName; 147 field @NonNull public final String addressLevel1; 148 field @NonNull public final String addressLevel2; 149 field @NonNull public final String addressLevel3; 150 field @NonNull public final String country; 151 field @NonNull public final String email; 152 field @NonNull public final String familyName; 153 field @NonNull public final String givenName; 154 field @Nullable public final String guid; 155 field @NonNull public final String name; 156 field @NonNull public final String organization; 157 field @NonNull public final String postalCode; 158 field @NonNull public final String streetAddress; 159 field @NonNull public final String tel; 160 } 161 162 public static class Autocomplete.Address.Builder { 163 ctor @AnyThread public Builder(); 164 method @AnyThread @NonNull public Autocomplete.Address.Builder additionalName(@Nullable String); 165 method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel1(@Nullable String); 166 method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel2(@Nullable String); 167 method @AnyThread @NonNull public Autocomplete.Address.Builder addressLevel3(@Nullable String); 168 method @AnyThread @NonNull public Autocomplete.Address build(); 169 method @AnyThread @NonNull public Autocomplete.Address.Builder country(@Nullable String); 170 method @AnyThread @NonNull public Autocomplete.Address.Builder email(@Nullable String); 171 method @AnyThread @NonNull public Autocomplete.Address.Builder familyName(@Nullable String); 172 method @AnyThread @NonNull public Autocomplete.Address.Builder givenName(@Nullable String); 173 method @AnyThread @NonNull public Autocomplete.Address.Builder guid(@Nullable String); 174 method @AnyThread @NonNull public Autocomplete.Address.Builder name(@Nullable String); 175 method @AnyThread @NonNull public Autocomplete.Address.Builder organization(@Nullable String); 176 method @AnyThread @NonNull public Autocomplete.Address.Builder postalCode(@Nullable String); 177 method @AnyThread @NonNull public Autocomplete.Address.Builder streetAddress(@Nullable String); 178 method @AnyThread @NonNull public Autocomplete.Address.Builder tel(@Nullable String); 179 } 180 181 public static class Autocomplete.AddressSaveOption extends Autocomplete.SaveOption<Autocomplete.Address> { 182 ctor public AddressSaveOption(@NonNull Autocomplete.Address); 183 } 184 185 public static class Autocomplete.AddressSelectOption extends Autocomplete.SelectOption<Autocomplete.Address> { 186 ctor public AddressSelectOption(@NonNull Autocomplete.Address); 187 } 188 189 @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.AddressSelectOption.AddressSelectHint { 190 } 191 192 public static class Autocomplete.AddressSelectOption.Hint { 193 ctor public Hint(); 194 field public static final int INSECURE_FORM = 2; 195 field public static final int NONE = 0; 196 } 197 198 public static class Autocomplete.AddressStructure { 199 method @AnyThread @NonNull public static GeckoResult<List<Autocomplete.AddressStructure.Field>> getAddressStructure(@NonNull String); 200 } 201 202 public static interface Autocomplete.AddressStructure.Field { 203 method @AnyThread @NonNull default public String getId(); 204 method @AnyThread @NonNull default public String getLocalizationKey(); 205 } 206 207 public static class Autocomplete.AddressStructure.Field.SelectField implements Autocomplete.AddressStructure.Field { 208 ctor public SelectField(String, String, @NonNull String, @NonNull List<Autocomplete.AddressStructure.Field.SelectField.Option>); 209 field @NonNull public final String defaultValue; 210 field @NonNull public final List<Autocomplete.AddressStructure.Field.SelectField.Option> options; 211 } 212 213 public static class Autocomplete.AddressStructure.Field.SelectField.Option { 214 ctor public Option(@NonNull String, @NonNull String); 215 field @NonNull public final String key; 216 field @NonNull public final String value; 217 } 218 219 public static final class Autocomplete.AddressStructure.Field.TextField implements Autocomplete.AddressStructure.Field { 220 ctor public TextField(String, String); 221 } 222 223 public static class Autocomplete.CreditCard { 224 ctor @AnyThread protected CreditCard(); 225 field @NonNull public final String expirationMonth; 226 field @NonNull public final String expirationYear; 227 field @Nullable public final String guid; 228 field @NonNull public final String name; 229 field @NonNull public final String number; 230 } 231 232 public static class Autocomplete.CreditCard.Builder { 233 ctor @AnyThread public Builder(); 234 method @AnyThread @NonNull public Autocomplete.CreditCard build(); 235 method @AnyThread @NonNull public Autocomplete.CreditCard.Builder expirationMonth(@Nullable String); 236 method @AnyThread @NonNull public Autocomplete.CreditCard.Builder expirationYear(@Nullable String); 237 method @AnyThread @NonNull public Autocomplete.CreditCard.Builder guid(@Nullable String); 238 method @AnyThread @NonNull public Autocomplete.CreditCard.Builder name(@Nullable String); 239 method @AnyThread @NonNull public Autocomplete.CreditCard.Builder number(@Nullable String); 240 } 241 242 public static class Autocomplete.CreditCardSaveOption extends Autocomplete.SaveOption<Autocomplete.CreditCard> { 243 ctor public CreditCardSaveOption(@NonNull Autocomplete.CreditCard); 244 } 245 246 public static class Autocomplete.CreditCardSelectOption extends Autocomplete.SelectOption<Autocomplete.CreditCard> { 247 ctor public CreditCardSelectOption(@NonNull Autocomplete.CreditCard); 248 } 249 250 @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.CreditCardSelectOption.CreditCardSelectHint { 251 } 252 253 public static class Autocomplete.CreditCardSelectOption.Hint { 254 ctor public Hint(); 255 field public static final int INSECURE_FORM = 2; 256 field public static final int NONE = 0; 257 } 258 259 @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.LSUsedField { 260 } 261 262 public static class Autocomplete.LoginEntry { 263 ctor @AnyThread protected LoginEntry(); 264 field @Nullable public final String formActionOrigin; 265 field @Nullable public final String guid; 266 field @Nullable public final String httpRealm; 267 field @NonNull public final String origin; 268 field @NonNull public final String password; 269 field @NonNull public final String username; 270 } 271 272 public static class Autocomplete.LoginEntry.Builder { 273 ctor @AnyThread public Builder(); 274 method @AnyThread @NonNull public Autocomplete.LoginEntry build(); 275 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder formActionOrigin(@Nullable String); 276 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder guid(@Nullable String); 277 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder httpRealm(@Nullable String); 278 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder origin(@NonNull String); 279 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder password(@NonNull String); 280 method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder username(@NonNull String); 281 } 282 283 public static class Autocomplete.LoginSaveOption extends Autocomplete.SaveOption<Autocomplete.LoginEntry> { 284 ctor public LoginSaveOption(@NonNull Autocomplete.LoginEntry); 285 } 286 287 public static class Autocomplete.LoginSelectOption extends Autocomplete.SelectOption<Autocomplete.LoginEntry> { 288 ctor public LoginSelectOption(@NonNull Autocomplete.LoginEntry, int); 289 ctor public LoginSelectOption(@NonNull Autocomplete.LoginEntry); 290 } 291 292 public abstract static class Autocomplete.Option<T> { 293 ctor public Option(@NonNull T, int); 294 field public final int hint; 295 field @NonNull public final T value; 296 } 297 298 public abstract static class Autocomplete.SaveOption<T> extends Autocomplete.Option<T> { 299 ctor public SaveOption(@NonNull T, int); 300 } 301 302 public static class Autocomplete.SaveOption.Hint { 303 ctor protected Hint(); 304 field public static final int GENERATED = 1; 305 field public static final int LOW_CONFIDENCE = 2; 306 field public static final int NONE = 0; 307 } 308 309 @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.SaveOption.SaveOptionHint { 310 } 311 312 public abstract static class Autocomplete.SelectOption<T> extends Autocomplete.Option<T> { 313 ctor public SelectOption(@NonNull T, int); 314 } 315 316 public static class Autocomplete.SelectOption.Hint { 317 ctor public Hint(); 318 field public static final int DUPLICATE_USERNAME = 4; 319 field public static final int GENERATED = 1; 320 field public static final int INSECURE_FORM = 2; 321 field public static final int MATCHING_ORIGIN = 8; 322 field public static final int NONE = 0; 323 } 324 325 @Retention(value=RetentionPolicy.SOURCE) public static interface Autocomplete.SelectOption.SelectOptionHint { 326 } 327 328 public static interface Autocomplete.StorageDelegate { 329 method @Nullable @UiThread default public GeckoResult<Autocomplete.Address[]> onAddressFetch(); 330 method @UiThread default public void onAddressSave(@NonNull Autocomplete.Address); 331 method @Nullable @UiThread default public GeckoResult<Autocomplete.CreditCard[]> onCreditCardFetch(); 332 method @UiThread default public void onCreditCardSave(@NonNull Autocomplete.CreditCard); 333 method @Nullable @UiThread default public GeckoResult<Autocomplete.LoginEntry[]> onLoginFetch(@NonNull String); 334 method @Nullable @UiThread default public GeckoResult<Autocomplete.LoginEntry[]> onLoginFetch(); 335 method @UiThread default public void onLoginSave(@NonNull Autocomplete.LoginEntry); 336 method @UiThread default public void onLoginUsed(@NonNull Autocomplete.LoginEntry, int); 337 } 338 339 public static class Autocomplete.UsedField { 340 ctor protected UsedField(); 341 field public static final int PASSWORD = 1; 342 } 343 344 public class Autofill { 345 ctor public Autofill(); 346 } 347 348 @Retention(value=RetentionPolicy.SOURCE) public static interface Autofill.AutofillHint { 349 } 350 351 @Retention(value=RetentionPolicy.SOURCE) public static interface Autofill.AutofillInputType { 352 } 353 354 public static interface Autofill.AutofillNotify { 355 } 356 357 public static interface Autofill.Delegate { 358 method @UiThread default public void onNodeAdd(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 359 method @UiThread default public void onNodeBlur(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 360 method @UiThread default public void onNodeFocus(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 361 method @UiThread default public void onNodeRemove(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 362 method @UiThread default public void onNodeUpdate(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 363 method @UiThread default public void onSessionCancel(@NonNull GeckoSession); 364 method @UiThread default public void onSessionCommit(@NonNull GeckoSession, @NonNull Autofill.Node, @NonNull Autofill.NodeData); 365 method @UiThread default public void onSessionStart(@NonNull GeckoSession); 366 } 367 368 public static final class Autofill.Hint { 369 method @AnyThread @Nullable public static String toString(int); 370 field public static final int EMAIL_ADDRESS = 0; 371 field public static final int NONE = -1; 372 field public static final int PASSWORD = 1; 373 field public static final int URI = 2; 374 field public static final int USERNAME = 3; 375 } 376 377 public static final class Autofill.InputType { 378 method @AnyThread @Nullable public static String toString(int); 379 field public static final int NONE = -1; 380 field public static final int NUMBER = 1; 381 field public static final int PHONE = 2; 382 field public static final int TEXT = 0; 383 } 384 385 public static final class Autofill.Node { 386 method @AnyThread @Nullable public String getAttribute(@NonNull String); 387 method @AnyThread @NonNull public Map<String,String> getAttributes(); 388 method @AnyThread @NonNull public Collection<Autofill.Node> getChildren(); 389 method @AnyThread @NonNull public String getDomain(); 390 method @AnyThread public boolean getEnabled(); 391 method @AnyThread public boolean getFocusable(); 392 method @AnyThread public int getHint(); 393 method @AnyThread public int getInputType(); 394 method @AnyThread @NonNull public Rect getScreenRect(); 395 method @AnyThread @NonNull public String getTag(); 396 } 397 398 public static class Autofill.NodeData { 399 method @AnyThread public int getId(); 400 method @AnyThread @Nullable public String getValue(); 401 } 402 403 public static final class Autofill.Session { 404 method @UiThread public void autofill(@NonNull SparseArray<CharSequence>); 405 method @NonNull @UiThread public Autofill.NodeData dataFor(@NonNull Autofill.Node); 406 method @UiThread public void fillViewStructure(@NonNull View, @NonNull ViewStructure, int); 407 method @UiThread public void fillViewStructure(@NonNull Autofill.Node, @NonNull View, @NonNull ViewStructure, int); 408 method @NonNull @UiThread public Rect getDefaultDimensions(); 409 method @Nullable @UiThread public Autofill.Node getFocused(); 410 method @Nullable @UiThread public Autofill.NodeData getFocusedData(); 411 method @AnyThread @NonNull public Autofill.Node getRoot(); 412 method @UiThread public boolean isVisible(@NonNull Autofill.Node); 413 } 414 415 @UiThread public class BasicSelectionActionDelegate implements ActionMode.Callback GeckoSession.SelectionActionDelegate { 416 ctor public BasicSelectionActionDelegate(@NonNull Activity); 417 ctor public BasicSelectionActionDelegate(@NonNull Activity, boolean); 418 method public boolean areExternalActionsEnabled(); 419 method public void clearSelection(); 420 method public void enableExternalActions(boolean); 421 method @Nullable public GeckoSession.SelectionActionDelegate.Selection getSelection(); 422 method public boolean isActionAvailable(); 423 method public void onGetContentRect(@Nullable ActionMode, @Nullable View, @NonNull Rect); 424 method @NonNull protected String[] getAllActions(); 425 method protected boolean isActionAvailable(@NonNull String); 426 method protected boolean performAction(@NonNull String, @NonNull MenuItem); 427 method protected void prepareAction(@NonNull String, @NonNull MenuItem); 428 field protected static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT"; 429 field @Nullable protected ActionMode mActionMode; 430 field @NonNull protected final Activity mActivity; 431 field protected boolean mRepopulatedMenu; 432 field @Nullable protected GeckoSession.SelectionActionDelegate.Selection mSelection; 433 field @Nullable protected GeckoSession mSession; 434 field protected final boolean mUseFloatingToolbar; 435 } 436 437 @UiThread public final class CompositorController { 438 method public void addDrawCallback(@NonNull Runnable); 439 method public int getClearColor(); 440 method @Nullable public Runnable getFirstPaintCallback(); 441 method public void onPipModeChanged(boolean); 442 method public void removeDrawCallback(@NonNull Runnable); 443 method public void setClearColor(int); 444 method public void setFirstPaintCallback(@Nullable Runnable); 445 } 446 447 @AnyThread public class ContentBlocking { 448 ctor protected ContentBlocking(); 449 field public static final ContentBlocking.SafeBrowsingProvider GOOGLE_LEGACY_SAFE_BROWSING_PROVIDER; 450 field public static final ContentBlocking.SafeBrowsingProvider GOOGLE_SAFE_BROWSING_PROVIDER; 451 field public static final ContentBlocking.SafeBrowsingProvider GOOGLE_SAFE_BROWSING_V5_PROVIDER; 452 } 453 454 public static class ContentBlocking.AntiTracking { 455 ctor protected AntiTracking(); 456 field public static final int AD = 2; 457 field public static final int ANALYTIC = 4; 458 field public static final int CONTENT = 16; 459 field public static final int CRYPTOMINING = 64; 460 field public static final int DEFAULT = 46; 461 field public static final int EMAIL = 512; 462 field public static final int FINGERPRINTING = 128; 463 field public static final int NONE = 0; 464 field public static final int SOCIAL = 8; 465 field public static final int STP = 256; 466 field public static final int STRICT = 766; 467 field public static final int TEST = 32; 468 } 469 470 public static class ContentBlocking.BlockEvent { 471 ctor public BlockEvent(@NonNull String, int, int, int, boolean); 472 method @UiThread public int getAntiTrackingCategory(); 473 method @UiThread public int getCookieBehaviorCategory(); 474 method @UiThread public int getSafeBrowsingCategory(); 475 method @UiThread public boolean isBlocking(); 476 field @NonNull public final String uri; 477 } 478 479 public static class ContentBlocking.BounceTrackingProtectionMode { 480 ctor protected BounceTrackingProtectionMode(); 481 field public static final int BOUNCE_TRACKING_PROTECTION_MODE_DISABLED = 0; 482 field public static final int BOUNCE_TRACKING_PROTECTION_MODE_ENABLED = 1; 483 field public static final int BOUNCE_TRACKING_PROTECTION_MODE_ENABLED_DRY_RUN = 3; 484 field public static final int BOUNCE_TRACKING_PROTECTION_MODE_ENABLED_STANDBY = 2; 485 } 486 487 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBAntiTracking { 488 } 489 490 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBCBounceTrackingProtectionMode { 491 } 492 493 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBCookieBannerMode { 494 } 495 496 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBCookieBehavior { 497 } 498 499 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBEtpCategory { 500 } 501 502 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBEtpLevel { 503 } 504 505 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlocking.CBSafeBrowsing { 506 } 507 508 public static class ContentBlocking.CookieBannerMode { 509 ctor protected CookieBannerMode(); 510 field public static final int COOKIE_BANNER_MODE_DISABLED = 0; 511 field public static final int COOKIE_BANNER_MODE_REJECT = 1; 512 field public static final int COOKIE_BANNER_MODE_REJECT_OR_ACCEPT = 2; 513 } 514 515 public static class ContentBlocking.CookieBehavior { 516 ctor protected CookieBehavior(); 517 field public static final int ACCEPT_ALL = 0; 518 field public static final int ACCEPT_FIRST_PARTY = 1; 519 field public static final int ACCEPT_FIRST_PARTY_AND_ISOLATE_OTHERS = 5; 520 field public static final int ACCEPT_NONE = 2; 521 field public static final int ACCEPT_NON_TRACKERS = 4; 522 field public static final int ACCEPT_VISITED = 3; 523 } 524 525 public static interface ContentBlocking.Delegate { 526 method @UiThread default public void onContentBlocked(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent); 527 method @UiThread default public void onContentLoaded(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent); 528 } 529 530 public static class ContentBlocking.EtpCategory { 531 ctor public EtpCategory(); 532 field public static final int CUSTOM = 2; 533 field public static final int STANDARD = 0; 534 field public static final int STRICT = 1; 535 } 536 537 public static class ContentBlocking.EtpLevel { 538 ctor public EtpLevel(); 539 field public static final int DEFAULT = 1; 540 field public static final int NONE = 0; 541 field public static final int STRICT = 2; 542 } 543 544 public static class ContentBlocking.SafeBrowsing { 545 ctor protected SafeBrowsing(); 546 field public static final int DEFAULT = 31744; 547 field public static final int HARMFUL = 4096; 548 field public static final int HARMFULADDON = 16384; 549 field public static final int MALWARE = 1024; 550 field public static final int NONE = 0; 551 field public static final int PHISHING = 8192; 552 field public static final int UNWANTED = 2048; 553 } 554 555 @AnyThread public static class ContentBlocking.SafeBrowsingProvider extends RuntimeSettings { 556 method @NonNull public static ContentBlocking.SafeBrowsingProvider.Builder from(@NonNull ContentBlocking.SafeBrowsingProvider); 557 method @Nullable public String getAdvisoryName(); 558 method @Nullable public String getAdvisoryUrl(); 559 method @Nullable public Boolean getDataSharingEnabled(); 560 method @Nullable public String getDataSharingUrl(); 561 method @Nullable public Boolean getEnabled(); 562 method @Nullable public String getGetHashUrl(); 563 method @NonNull public String[] getLists(); 564 method @NonNull public String getName(); 565 method @Nullable public String getReportMalwareMistakeUrl(); 566 method @Nullable public String getReportPhishingMistakeUrl(); 567 method @Nullable public String getReportUrl(); 568 method @Nullable public String getUpdateUrl(); 569 method @Nullable public String getVersion(); 570 method @NonNull public static ContentBlocking.SafeBrowsingProvider.Builder withName(@NonNull String); 571 field public static final Parcelable.Creator<ContentBlocking.SafeBrowsingProvider> CREATOR; 572 } 573 574 @AnyThread public static class ContentBlocking.SafeBrowsingProvider.Builder { 575 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder advisoryName(@NonNull String); 576 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder advisoryUrl(@NonNull String); 577 method @NonNull public ContentBlocking.SafeBrowsingProvider build(); 578 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder dataSharingEnabled(boolean); 579 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder dataSharingUrl(@NonNull String); 580 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder enabled(boolean); 581 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder getHashUrl(@NonNull String); 582 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder lists(@NonNull String...); 583 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportMalwareMistakeUrl(@NonNull String); 584 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportPhishingMistakeUrl(@NonNull String); 585 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder reportUrl(@NonNull String); 586 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder updateUrl(@NonNull String); 587 method @NonNull public ContentBlocking.SafeBrowsingProvider.Builder version(@NonNull String); 588 } 589 590 @AnyThread public static class ContentBlocking.Settings extends RuntimeSettings { 591 method public boolean getAllowListBaselineTrackingProtection(); 592 method public boolean getAllowListConvenienceTrackingProtection(); 593 method public int getAntiTrackingCategories(); 594 method public int getBounceTrackingProtectionMode(); 595 method public boolean getCookieBannerDetectOnlyMode(); 596 method public boolean getCookieBannerGlobalRulesEnabled(); 597 method public boolean getCookieBannerGlobalRulesSubFramesEnabled(); 598 method public int getCookieBannerMode(); 599 method public int getCookieBannerModePrivateBrowsing(); 600 method public int getCookieBehavior(); 601 method public int getCookieBehaviorPrivateMode(); 602 method public boolean getCookiePurging(); 603 method @NonNull public Boolean getEmailTrackerBlockingPrivateBrowsingEnabled(); 604 method public int getEnhancedTrackingProtectionCategory(); 605 method public int getEnhancedTrackingProtectionLevel(); 606 method @NonNull public String[] getQueryParameterStrippingAllowList(); 607 method public boolean getQueryParameterStrippingEnabled(); 608 method public boolean getQueryParameterStrippingPrivateBrowsingEnabled(); 609 method @NonNull public String[] getQueryParameterStrippingStripList(); 610 method public int getSafeBrowsingCategories(); 611 method @NonNull public String[] getSafeBrowsingMalwareTable(); 612 method @NonNull public String[] getSafeBrowsingPhishingTable(); 613 method @NonNull public Collection<ContentBlocking.SafeBrowsingProvider> getSafeBrowsingProviders(); 614 method @NonNull public Boolean getSafeBrowsingV5Enabled(); 615 method public boolean getStrictSocialTrackingProtection(); 616 method @NonNull public ContentBlocking.Settings setAllowListBaselineTrackingProtection(boolean); 617 method @NonNull public ContentBlocking.Settings setAllowListConvenienceTrackingProtection(boolean); 618 method @NonNull public ContentBlocking.Settings setAntiTracking(int); 619 method @NonNull public ContentBlocking.Settings setBounceTrackingProtectionMode(int); 620 method @NonNull public ContentBlocking.Settings setCookieBannerDetectOnlyMode(boolean); 621 method @NonNull public ContentBlocking.Settings setCookieBannerGlobalRulesEnabled(boolean); 622 method @NonNull public ContentBlocking.Settings setCookieBannerGlobalRulesSubFramesEnabled(boolean); 623 method @NonNull public ContentBlocking.Settings setCookieBannerMode(int); 624 method @NonNull public ContentBlocking.Settings setCookieBannerModePrivateBrowsing(int); 625 method @NonNull public ContentBlocking.Settings setCookieBehavior(int); 626 method @NonNull public ContentBlocking.Settings setCookieBehaviorPrivateMode(int); 627 method @NonNull public ContentBlocking.Settings setCookiePurging(boolean); 628 method @NonNull public ContentBlocking.Settings setEmailTrackerBlockingPrivateBrowsing(boolean); 629 method @NonNull public ContentBlocking.Settings setEnhancedTrackingProtectionCategory(int); 630 method @NonNull public ContentBlocking.Settings setEnhancedTrackingProtectionLevel(int); 631 method @NonNull public ContentBlocking.Settings setQueryParameterStrippingAllowList(@NonNull String...); 632 method @NonNull public ContentBlocking.Settings setQueryParameterStrippingEnabled(boolean); 633 method @NonNull public ContentBlocking.Settings setQueryParameterStrippingPrivateBrowsingEnabled(boolean); 634 method @NonNull public ContentBlocking.Settings setQueryParameterStrippingStripList(@NonNull String...); 635 method @NonNull public ContentBlocking.Settings setSafeBrowsing(int); 636 method @NonNull public ContentBlocking.Settings setSafeBrowsingMalwareTable(@NonNull String...); 637 method @NonNull public ContentBlocking.Settings setSafeBrowsingPhishingTable(@NonNull String...); 638 method @NonNull public ContentBlocking.Settings setSafeBrowsingProviders(@NonNull ContentBlocking.SafeBrowsingProvider...); 639 method @NonNull public ContentBlocking.Settings setSafeBrowsingV5Enabled(boolean); 640 method @NonNull public ContentBlocking.Settings setStrictSocialTrackingProtection(boolean); 641 field public static final Parcelable.Creator<ContentBlocking.Settings> CREATOR; 642 } 643 644 @AnyThread public static class ContentBlocking.Settings.Builder extends RuntimeSettings.Builder<ContentBlocking.Settings> { 645 ctor public Builder(); 646 method @NonNull public ContentBlocking.Settings.Builder allowListBaselineTrackingProtection(boolean); 647 method @NonNull public ContentBlocking.Settings.Builder allowListConvenienceTrackingProtection(boolean); 648 method @NonNull public ContentBlocking.Settings.Builder antiTracking(int); 649 method @NonNull public ContentBlocking.Settings.Builder bounceTrackingProtectionMode(int); 650 method @NonNull public ContentBlocking.Settings.Builder cookieBannerGlobalRulesEnabled(boolean); 651 method @NonNull public ContentBlocking.Settings.Builder cookieBannerGlobalRulesSubFramesEnabled(boolean); 652 method @NonNull public ContentBlocking.Settings.Builder cookieBannerHandlingDetectOnlyMode(boolean); 653 method @NonNull public ContentBlocking.Settings.Builder cookieBannerHandlingMode(int); 654 method @NonNull public ContentBlocking.Settings.Builder cookieBannerHandlingModePrivateBrowsing(int); 655 method @NonNull public ContentBlocking.Settings.Builder cookieBehavior(int); 656 method @NonNull public ContentBlocking.Settings.Builder cookieBehaviorPrivateMode(int); 657 method @NonNull public ContentBlocking.Settings.Builder cookiePurging(boolean); 658 method @NonNull public ContentBlocking.Settings.Builder emailTrackerBlockingPrivateMode(boolean); 659 method @NonNull public ContentBlocking.Settings.Builder enhancedTrackingProtectionCategory(int); 660 method @NonNull public ContentBlocking.Settings.Builder enhancedTrackingProtectionLevel(int); 661 method @NonNull public ContentBlocking.Settings.Builder queryParameterStrippingAllowList(@NonNull String...); 662 method @NonNull public ContentBlocking.Settings.Builder queryParameterStrippingEnabled(boolean); 663 method @NonNull public ContentBlocking.Settings.Builder queryParameterStrippingPrivateBrowsingEnabled(boolean); 664 method @NonNull public ContentBlocking.Settings.Builder queryParameterStrippingStripList(@NonNull String...); 665 method @NonNull public ContentBlocking.Settings.Builder safeBrowsing(int); 666 method @NonNull public ContentBlocking.Settings.Builder safeBrowsingMalwareTable(@NonNull String[]); 667 method @NonNull public ContentBlocking.Settings.Builder safeBrowsingPhishingTable(@NonNull String[]); 668 method @NonNull public ContentBlocking.Settings.Builder safeBrowsingProviders(@NonNull ContentBlocking.SafeBrowsingProvider...); 669 method @NonNull public ContentBlocking.Settings.Builder strictSocialTrackingProtection(boolean); 670 method @NonNull protected ContentBlocking.Settings newSettings(@Nullable ContentBlocking.Settings); 671 } 672 673 @AnyThread public class ContentBlockingController { 674 ctor public ContentBlockingController(); 675 method @NonNull @UiThread public GeckoResult<List<ContentBlockingController.LogEntry>> getLog(@NonNull GeckoSession); 676 } 677 678 public static class ContentBlockingController.Event { 679 ctor protected Event(); 680 field public static final int ALLOWED_TRACKING_CONTENT = 32; 681 field public static final int BLOCKED_CRYPTOMINING_CONTENT = 2048; 682 field public static final int BLOCKED_EMAILTRACKING_CONTENT = 4194304; 683 field public static final int BLOCKED_FINGERPRINTING_CONTENT = 64; 684 field public static final int BLOCKED_SOCIALTRACKING_CONTENT = 65536; 685 field public static final int BLOCKED_SUSPICIOUS_FINGERPRINTING = 4; 686 field public static final int BLOCKED_TRACKING_CONTENT = 4096; 687 field public static final int BLOCKED_UNSAFE_CONTENT = 16384; 688 field public static final int COOKIES_BLOCKED_ALL = 1073741824; 689 field public static final int COOKIES_BLOCKED_BY_PERMISSION = 268435456; 690 field public static final int COOKIES_BLOCKED_FOREIGN = 128; 691 field public static final int COOKIES_BLOCKED_SOCIALTRACKER = 16777216; 692 field public static final int COOKIES_BLOCKED_TRACKER = 536870912; 693 field public static final int COOKIES_LOADED = 32768; 694 field public static final int COOKIES_LOADED_SOCIALTRACKER = 524288; 695 field public static final int COOKIES_LOADED_TRACKER = 262144; 696 field public static final int COOKIES_PARTITIONED_FOREIGN = -2147483648; 697 field public static final int LOADED_CRYPTOMINING_CONTENT = 2097152; 698 field public static final int LOADED_EMAILTRACKING_LEVEL_1_CONTENT = 8388608; 699 field public static final int LOADED_EMAILTRACKING_LEVEL_2_CONTENT = 256; 700 field public static final int LOADED_FINGERPRINTING_CONTENT = 1024; 701 field public static final int LOADED_LEVEL_1_TRACKING_CONTENT = 8192; 702 field public static final int LOADED_LEVEL_2_TRACKING_CONTENT = 1048576; 703 field public static final int LOADED_SOCIALTRACKING_CONTENT = 131072; 704 field public static final int PURGED_BOUNCETRACKER = 7; 705 field public static final int REPLACED_TRACKING_CONTENT = 16; 706 } 707 708 @AnyThread public static class ContentBlockingController.LogEntry { 709 ctor protected LogEntry(); 710 field @NonNull public final List<ContentBlockingController.LogEntry.BlockingData> blockingData; 711 field @NonNull public final String origin; 712 } 713 714 public static class ContentBlockingController.LogEntry.BlockingData { 715 ctor protected BlockingData(); 716 field public final boolean blocked; 717 field public final int category; 718 field public final int count; 719 } 720 721 @Retention(value=RetentionPolicy.SOURCE) public static interface ContentBlockingController.LogEntry.BlockingData.LogEvent { 722 } 723 724 @FunctionalInterface public class CrashHandler implements Thread.UncaughtExceptionHandler { 725 ctor public CrashHandler(@Nullable Class<? extends android.app.Service>); 726 ctor public CrashHandler(@Nullable Context, @Nullable Class<? extends android.app.Service>); 727 ctor public CrashHandler(Thread, Class<? extends android.app.Service>); 728 ctor public CrashHandler(@Nullable Thread, Context, Class<? extends android.app.Service>); 729 method @AnyThread @NonNull public static CrashHandler createDefaultCrashHandler(@NonNull Context); 730 method @AnyThread @Nullable public Context getAppContext(); 731 method @AnyThread @Nullable public String getAppPackageName(); 732 method @AnyThread @NonNull public byte[] getCrashDump(@Nullable Thread, @Nullable Throwable); 733 method @AnyThread @NonNull public Bundle getCrashExtras(@NonNull Thread, @NonNull Throwable); 734 method @AnyThread @NonNull public static String getExceptionStackTrace(@NonNull Throwable); 735 method @AnyThread @NonNull public static Throwable getRootException(@NonNull Throwable); 736 method @AnyThread @NonNull public String getServerUrl(@NonNull Bundle); 737 method @AnyThread public boolean launchCrashReporter(@NonNull String, @NonNull String); 738 method @AnyThread public static void logException(@NonNull Thread, @NonNull Throwable); 739 method @AnyThread public boolean reportException(@NonNull Thread, @NonNull Throwable); 740 method @AnyThread public static void terminateProcess(); 741 method @AnyThread public void unregister(); 742 } 743 744 public class CrashPullController { 745 ctor public CrashPullController(); 746 } 747 748 public static interface CrashPullController.Delegate { 749 method @UiThread default public void onCrashPull(@NonNull String[]); 750 } 751 752 public class CrashReporter { 753 ctor public CrashReporter(); 754 method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull Intent, @NonNull String); 755 method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull Bundle, @NonNull String); 756 method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull File, @NonNull File, @NonNull String); 757 } 758 759 @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 { 760 element public String id(); 761 element public int version(); 762 } 763 764 public interface ExperimentDelegate { 765 method @AnyThread @NonNull default public GeckoResult<JSONObject> onGetExperimentFeature(@NonNull String); 766 method @AnyThread @NonNull default public GeckoResult<Void> onRecordExperimentExposureEvent(@NonNull String, @NonNull String); 767 method @AnyThread @NonNull default public GeckoResult<Void> onRecordExposureEvent(@NonNull String); 768 method @AnyThread @NonNull default public GeckoResult<Void> onRecordMalformedConfigurationEvent(@NonNull String, @NonNull String); 769 } 770 771 public static class ExperimentDelegate.ExperimentException extends Exception { 772 ctor public ExperimentException(int); 773 field public static final int ERROR_EXPERIMENT_DELEGATE_NOT_IMPLEMENTED = -4; 774 field public static final int ERROR_EXPERIMENT_SLUG_NOT_FOUND = -3; 775 field public static final int ERROR_FEATURE_NOT_FOUND = -2; 776 field public static final int ERROR_UNKNOWN = -1; 777 field public final int code; 778 } 779 780 @Retention(value=RetentionPolicy.SOURCE) public static interface ExperimentDelegate.ExperimentException.Codes { 781 } 782 783 @Retention(value=RetentionPolicy.CLASS) @Target(value={ElementType.TYPE, ElementType.TYPE_USE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PACKAGE}) public interface ExperimentalGeckoViewApi { 784 } 785 786 public class GeckoDisplay { 787 ctor protected GeckoDisplay(GeckoSession); 788 method @NonNull @UiThread public GeckoResult<Bitmap> capturePixels(); 789 method @UiThread public void safeAreaInsetsChanged(int, int, int, int); 790 method @UiThread public void screenOriginChanged(int, int); 791 method @NonNull @UiThread public GeckoDisplay.ScreenshotBuilder screenshot(); 792 method @UiThread public void setDynamicToolbarMaxHeight(int); 793 method @UiThread public void setVerticalClipping(int); 794 method @UiThread public boolean shouldPinOnScreen(); 795 method @UiThread public void surfaceChanged(@NonNull GeckoDisplay.SurfaceInfo); 796 method @UiThread public void surfaceDestroyed(); 797 method @UiThread public void windowInsetsChanged(@NonNull WindowInsetsCompat); 798 } 799 800 public static interface GeckoDisplay.NewSurfaceProvider { 801 method @UiThread public void requestNewSurface(); 802 } 803 804 public static final class GeckoDisplay.ScreenshotBuilder { 805 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder aspectPreservingSize(int); 806 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder bitmap(@Nullable Bitmap); 807 method @NonNull @UiThread public GeckoResult<Bitmap> capture(); 808 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder scale(float); 809 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder size(int, int); 810 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(int, int, int, int); 811 method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(@NonNull Rect); 812 } 813 814 public static class GeckoDisplay.SurfaceInfo { 815 } 816 817 public static class GeckoDisplay.SurfaceInfo.Builder { 818 ctor public Builder(@NonNull Surface); 819 method @NonNull @UiThread public GeckoDisplay.SurfaceInfo build(); 820 method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder newSurfaceProvider(@Nullable GeckoDisplay.NewSurfaceProvider); 821 method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder offset(int, int); 822 method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder size(int, int); 823 method @NonNull @UiThread public GeckoDisplay.SurfaceInfo.Builder surfaceControl(@Nullable SurfaceControl); 824 } 825 826 public class GeckoPreferenceController { 827 ctor public GeckoPreferenceController(); 828 method @AnyThread @NonNull public static GeckoResult<Void> clearGeckoUserPref(@NonNull String); 829 method @AnyThread @NonNull public static GeckoResult<GeckoPreferenceController.GeckoPreference<?>> getGeckoPref(@NonNull String); 830 method @AnyThread @NonNull public static GeckoResult<List<GeckoPreferenceController.GeckoPreference<?>>> getGeckoPrefs(@NonNull List<String>); 831 method @AnyThread @NonNull public static GeckoResult<Void> setGeckoPref(@NonNull String, @NonNull String, int); 832 method @AnyThread @NonNull public static GeckoResult<Void> setGeckoPref(@NonNull String, @NonNull Integer, int); 833 method @AnyThread @NonNull public static GeckoResult<Void> setGeckoPref(@NonNull String, @NonNull Boolean, int); 834 method @AnyThread @NonNull public static GeckoResult<Map<String,Boolean>> setGeckoPrefs(@NonNull List<GeckoPreferenceController.SetGeckoPreference<?>>); 835 field public static final int PREF_BRANCH_DEFAULT = 1; 836 field public static final int PREF_BRANCH_USER = 0; 837 field public static final int PREF_TYPE_BOOL = 128; 838 field public static final int PREF_TYPE_INT = 64; 839 field public static final int PREF_TYPE_INVALID = 0; 840 field public static final int PREF_TYPE_STRING = 32; 841 } 842 843 public static class GeckoPreferenceController.GeckoPreference<T> { 844 method @AnyThread public boolean getHasUserChangedValue(); 845 method @AnyThread @Nullable public T getValue(); 846 field @Nullable public final T defaultValue; 847 field @NonNull public final String pref; 848 field public final int type; 849 field @Nullable public final T userValue; 850 } 851 852 public static final class GeckoPreferenceController.Observer { 853 ctor public Observer(); 854 method @AnyThread @NonNull public static GeckoResult<Void> registerPreference(@NonNull String); 855 method @AnyThread @NonNull public static GeckoResult<Void> registerPreferences(@NonNull List<String>); 856 method @NonNull @UiThread public static GeckoResult<Void> unregisterPreference(@NonNull String); 857 method @NonNull @UiThread public static GeckoResult<Void> unregisterPreferences(@NonNull List<String>); 858 } 859 860 public static interface GeckoPreferenceController.Observer.Delegate { 861 method @AnyThread default public void onGeckoPreferenceChange(@NonNull GeckoPreferenceController.GeckoPreference<?>); 862 } 863 864 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoPreferenceController.PrefBranch { 865 } 866 867 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoPreferenceController.PrefType { 868 } 869 870 public static class GeckoPreferenceController.SetGeckoPreference<T> { 871 method @AnyThread @NonNull public static GeckoPreferenceController.SetGeckoPreference<Boolean> setBoolPref(@NonNull String, @NonNull Boolean, int); 872 method @AnyThread @NonNull public static GeckoPreferenceController.SetGeckoPreference<Integer> setIntPref(@NonNull String, @NonNull Integer, int); 873 method @AnyThread @NonNull public static GeckoPreferenceController.SetGeckoPreference<String> setStringPref(@NonNull String, @NonNull String, int); 874 field public final int branch; 875 field @NonNull public final String pref; 876 field public final int type; 877 field @NonNull public final T value; 878 } 879 880 @AnyThread public class GeckoResult<T> { 881 ctor public GeckoResult(); 882 ctor public GeckoResult(Handler); 883 ctor public GeckoResult(GeckoResult<T>); 884 method @NonNull public GeckoResult<Void> accept(@Nullable GeckoResult.Consumer<T>); 885 method @NonNull public GeckoResult<Void> accept(@Nullable GeckoResult.Consumer<T>, @Nullable GeckoResult.Consumer<Throwable>); 886 method @NonNull @SafeVarargs public static <V> GeckoResult<List<V>> allOf(@NonNull GeckoResult<V>...); 887 method @NonNull public static <V> GeckoResult<List<V>> allOf(@Nullable List<GeckoResult<V>>); 888 method @AnyThread @NonNull public static GeckoResult<AllowOrDeny> allow(); 889 method @NonNull public synchronized GeckoResult<Boolean> cancel(); 890 method public synchronized void complete(@Nullable T); 891 method public synchronized void completeExceptionally(@NonNull Throwable); 892 method public void completeFrom(@Nullable GeckoResult<T>); 893 method @AnyThread @NonNull public static GeckoResult<AllowOrDeny> deny(); 894 method @NonNull public <U> GeckoResult<U> exceptionally(@NonNull GeckoResult.OnExceptionListener<U>); 895 method @NonNull public GeckoResult<Void> finally_(@NonNull Runnable); 896 method @NonNull public static <T> GeckoResult<T> fromException(@NonNull Throwable); 897 method @NonNull public static <U> GeckoResult<U> fromValue(@Nullable U); 898 method @Nullable public Looper getLooper(); 899 method @NonNull public <U> GeckoResult<U> map(@Nullable GeckoResult.OnValueMapper<T,U>); 900 method @NonNull public <U> GeckoResult<U> map(@Nullable GeckoResult.OnValueMapper<T,U>, @Nullable GeckoResult.OnExceptionMapper); 901 method @Nullable public synchronized T poll(); 902 method @Nullable public synchronized T poll(long); 903 method public void setCancellationDelegate(@Nullable GeckoResult.CancellationDelegate); 904 method @NonNull public <U> GeckoResult<U> then(@NonNull GeckoResult.OnValueListener<T,U>); 905 method @NonNull public <U> GeckoResult<U> then(@Nullable GeckoResult.OnValueListener<T,U>, @Nullable GeckoResult.OnExceptionListener<U>); 906 method @NonNull public GeckoResult<T> withHandler(@Nullable Handler); 907 } 908 909 @AnyThread public static interface GeckoResult.CancellationDelegate { 910 method @NonNull default public GeckoResult<Boolean> cancel(); 911 } 912 913 public static interface GeckoResult.Consumer<T> { 914 method @AnyThread public void accept(@Nullable T); 915 } 916 917 public static interface GeckoResult.OnExceptionListener<V> { 918 method @AnyThread @Nullable public GeckoResult<V> onException(@NonNull Throwable); 919 } 920 921 public static interface GeckoResult.OnExceptionMapper { 922 method @AnyThread @Nullable public Throwable onException(@NonNull Throwable); 923 } 924 925 public static interface GeckoResult.OnValueListener<T,U> { 926 method @AnyThread @Nullable public GeckoResult<U> onValue(@Nullable T); 927 } 928 929 public static interface GeckoResult.OnValueMapper<T,U> { 930 method @AnyThread @Nullable public U onValue(@Nullable T); 931 } 932 933 public static final class GeckoResult.UncaughtException extends RuntimeException { 934 ctor public UncaughtException(Throwable); 935 } 936 937 public final class GeckoRuntime implements Parcelable { 938 method @AnyThread public void appendAppNotesToCrashReport(@NonNull String); 939 method @UiThread public void attachTo(@NonNull Context); 940 method @UiThread public void configurationChanged(@NonNull Configuration); 941 method @NonNull @UiThread public static GeckoRuntime create(@NonNull Context); 942 method @NonNull @UiThread public static GeckoRuntime create(@NonNull Context, @NonNull GeckoRuntimeSettings); 943 method @Nullable @UiThread public GeckoRuntime.ActivityDelegate getActivityDelegate(); 944 method @Nullable @UiThread public Autocomplete.StorageDelegate getAutocompleteStorageDelegate(); 945 method @NonNull @UiThread public ContentBlockingController getContentBlockingController(); 946 method @Nullable @UiThread public CrashPullController.Delegate getCrashPullDelegate(); 947 method @NonNull @UiThread public static synchronized GeckoRuntime getDefault(@NonNull Context); 948 method @Nullable @UiThread public GeckoRuntime.Delegate getDelegate(); 949 method @NonNull @UiThread public OrientationController getOrientationController(); 950 method @AnyThread @Nullable public GeckoPreferenceController.Observer.Delegate getPreferencesObserverDelegate(); 951 method @Nullable @UiThread public GeckoRuntime.ServiceWorkerDelegate getServiceWorkerDelegate(); 952 method @AnyThread @NonNull public GeckoRuntimeSettings getSettings(); 953 method @NonNull @UiThread public StorageController getStorageController(); 954 method @NonNull @UiThread public WebExtensionController getWebExtensionController(); 955 method @Nullable @UiThread public WebNotificationDelegate getWebNotificationDelegate(); 956 method @NonNull @UiThread public WebPushController getWebPushController(); 957 method @AnyThread public boolean isInteractiveWidgetDefaultResizesVisual(); 958 method @AnyThread public void notifyTelemetryPrefChanged(boolean); 959 method @UiThread public void orientationChanged(); 960 method @UiThread public void orientationChanged(int); 961 method @AnyThread public void readFromParcel(@NonNull Parcel); 962 method @UiThread public void setActivityDelegate(@Nullable GeckoRuntime.ActivityDelegate); 963 method @UiThread public void setAutocompleteStorageDelegate(@Nullable Autocomplete.StorageDelegate); 964 method @UiThread public void setCrashPullDelegate(@Nullable CrashPullController.Delegate); 965 method @UiThread public void setDelegate(@Nullable GeckoRuntime.Delegate); 966 method @AnyThread public void setPreferencesObserverDelegate(@Nullable GeckoPreferenceController.Observer.Delegate); 967 method @UiThread public void setServiceWorkerDelegate(@Nullable GeckoRuntime.ServiceWorkerDelegate); 968 method @UiThread public void setWebNotificationDelegate(@Nullable WebNotificationDelegate); 969 method @AnyThread public void shutdown(); 970 field public static final String ACTION_CRASHED = "org.mozilla.gecko.ACTION_CRASHED"; 971 field public static final String CRASHED_PROCESS_VISIBILITY_BACKGROUND_CHILD = "BACKGROUND_CHILD"; 972 field public static final String CRASHED_PROCESS_VISIBILITY_FOREGROUND_CHILD = "FOREGROUND_CHILD"; 973 field public static final String CRASHED_PROCESS_VISIBILITY_MAIN = "MAIN"; 974 field public static final Parcelable.Creator<GeckoRuntime> CREATOR; 975 field public static final String EXTRA_CRASH_PROCESS_TYPE = "processType"; 976 field public static final String EXTRA_CRASH_PROCESS_VISIBILITY = "processVisibility"; 977 field public static final String EXTRA_CRASH_REMOTE_TYPE = "remoteType"; 978 field public static final String EXTRA_EXTRAS_PATH = "extrasPath"; 979 field public static final String EXTRA_MINIDUMP_PATH = "minidumpPath"; 980 } 981 982 public static interface GeckoRuntime.ActivityDelegate { 983 method @Nullable @UiThread public GeckoResult<Intent> onStartActivityForResult(@NonNull PendingIntent); 984 } 985 986 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntime.CrashedProcessVisibility { 987 } 988 989 public static interface GeckoRuntime.Delegate { 990 method @UiThread public void onShutdown(); 991 } 992 993 @UiThread public static interface GeckoRuntime.ServiceWorkerDelegate { 994 method @NonNull @UiThread public GeckoResult<GeckoSession> onOpenWindow(@NonNull String); 995 } 996 997 @AnyThread public final class GeckoRuntimeSettings extends RuntimeSettings { 998 method public boolean getAboutConfigEnabled(); 999 method public int getAllowInsecureConnections(); 1000 method public boolean getAppZygoteProcessEnabled(); 1001 method @NonNull public String[] getArguments(); 1002 method public boolean getAutomaticFontSizeAdjustment(); 1003 method @NonNull public String getBannedPorts(); 1004 method @Nullable public Boolean getBaselineFingerprintingProtection(); 1005 method @Nullable public String getBaselineFingerprintingProtectionOverrides(); 1006 method @NonNull public int getCertificateTransparencyMode(); 1007 method @Nullable public String getConfigFilePath(); 1008 method public boolean getConsoleOutputEnabled(); 1009 method @NonNull public ContentBlocking.Settings getContentBlocking(); 1010 method public boolean getCookieBehaviorOptInPartitioning(); 1011 method public boolean getCookieBehaviorOptInPartitioningPBM(); 1012 method @Nullable public Class<? extends android.app.Service> getCrashHandler(); 1013 method @NonNull public String getCrliteChannel(); 1014 method @Nullable public String getDefaultRecursiveResolverUri(); 1015 method @Nullable public Boolean getDisableShip(); 1016 method @Nullable public Float getDisplayDensityOverride(); 1017 method @Nullable public Integer getDisplayDpiOverride(); 1018 method public boolean getDohAutoselectEnabled(); 1019 method public boolean getDoubleTapZoomingEnabled(); 1020 method public boolean getEnterpriseRootsEnabled(); 1021 method @AnyThread @Nullable public ExperimentDelegate getExperimentDelegate(); 1022 method @Nullable public Integer getExtensionsProcessCrashThreshold(); 1023 method @Nullable public Long getExtensionsProcessCrashTimeframe(); 1024 method @Nullable public Boolean getExtensionsProcessEnabled(); 1025 method public boolean getExtensionsWebAPIEnabled(); 1026 method @NonNull public Bundle getExtras(); 1027 method public boolean getFdlibmMathEnabled(); 1028 method public boolean getFetchPriorityEnabled(); 1029 method @Nullable public Boolean getFingerprintingProtection(); 1030 method @NonNull public String getFingerprintingProtectionOverrides(); 1031 method @Nullable public Boolean getFingerprintingProtectionPrivateBrowsing(); 1032 method @Nullable public Boolean getFissionEnabled(); 1033 method public boolean getFontInflationEnabled(); 1034 method public float getFontSizeFactor(); 1035 method public boolean getForceEnableAccessibility(); 1036 method public boolean getForceUserScalableEnabled(); 1037 method public int getGlMsaaLevel(); 1038 method public boolean getGlobalPrivacyControl(); 1039 method public boolean getGlobalPrivacyControlPrivateMode(); 1040 method public boolean getInputAutoZoomEnabled(); 1041 method public boolean getIsolatedProcessEnabled(); 1042 method public boolean getJavaScriptEnabled(); 1043 method @NonNull public int getLargeKeepaliveFactor(); 1044 method @Nullable public Boolean getLnaBlockTrackers(); 1045 method @Nullable public Boolean getLnaBlocking(); 1046 method @Nullable public Boolean getLnaEnabled(); 1047 method @Nullable public String[] getLocales(); 1048 method public boolean getLoginAutofillEnabled(); 1049 method public boolean getLowMemoryDetection(); 1050 method public boolean getParallelMarkingEnabled(); 1051 method public boolean getPauseForDebuggerEnabled(); 1052 method @NonNull public boolean getPostQuantumKeyExchangeEnabled(); 1053 method public int getPreferredColorScheme(); 1054 method public boolean getRemoteDebuggingEnabled(); 1055 method @Nullable public GeckoRuntime getRuntime(); 1056 method @NonNull public boolean getSameDocumentNavigationOverridesLoadType(); 1057 method @NonNull public String getSameDocumentNavigationOverridesLoadTypeForceDisable(); 1058 method @Nullable public Rect getScreenSizeOverride(); 1059 method public boolean getSpoofEnglish(); 1060 method public int getTorSecurityLevel(); 1061 method public boolean getTranslationsOfferPopup(); 1062 method @NonNull public List<String> getTrustedRecursiveResolverExcludedDomains(); 1063 method @NonNull public String getTrustedRecursiveResolverUri(); 1064 method public int getTrustedRecusiveResolverMode(); 1065 method public boolean getUseMaxScreenDepth(); 1066 method @NonNull public int getUserCharacteristicPingCurrentVersion(); 1067 method @Nullable public Integer getWebContentIsolationStrategy(); 1068 method public boolean getWebFontsEnabled(); 1069 method public boolean getWebManifestEnabled(); 1070 method @NonNull public GeckoRuntimeSettings setAboutConfigEnabled(boolean); 1071 method @NonNull public GeckoRuntimeSettings setAllowInsecureConnections(int); 1072 method @NonNull public GeckoRuntimeSettings setAutomaticFontSizeAdjustment(boolean); 1073 method @NonNull public GeckoRuntimeSettings setBannedPorts(@NonNull String); 1074 method @NonNull public GeckoRuntimeSettings setBaselineFingerprintingProtection(boolean); 1075 method @NonNull public GeckoRuntimeSettings setBaselineFingerprintingProtectionOverrides(@NonNull String); 1076 method @NonNull public GeckoRuntimeSettings setCertificateTransparencyMode(int); 1077 method @NonNull public GeckoRuntimeSettings setConsoleOutputEnabled(boolean); 1078 method @NonNull public GeckoRuntimeSettings setCookieBehaviorOptInPartitioning(boolean); 1079 method @NonNull public GeckoRuntimeSettings setCookieBehaviorOptInPartitioningPBM(boolean); 1080 method @NonNull public GeckoRuntimeSettings setCrliteChannel(@NonNull String); 1081 method @NonNull public GeckoRuntimeSettings setDefaultRecursiveResolverUri(@NonNull String); 1082 method @NonNull public GeckoRuntimeSettings setDohAutoselectEnabled(boolean); 1083 method @NonNull public GeckoRuntimeSettings setDoubleTapZoomingEnabled(boolean); 1084 method @NonNull public GeckoRuntimeSettings setEnterpriseRootsEnabled(boolean); 1085 method @NonNull public GeckoRuntimeSettings setExtensionsProcessCrashThreshold(@NonNull Integer); 1086 method @NonNull public GeckoRuntimeSettings setExtensionsProcessCrashTimeframe(@NonNull Long); 1087 method @NonNull public GeckoRuntimeSettings setExtensionsProcessEnabled(boolean); 1088 method @NonNull public GeckoRuntimeSettings setExtensionsWebAPIEnabled(boolean); 1089 method @NonNull public GeckoRuntimeSettings setFdlibmMathEnabled(boolean); 1090 method @NonNull public GeckoRuntimeSettings setFetchPriorityEnabled(boolean); 1091 method @NonNull public GeckoRuntimeSettings setFingerprintingProtection(boolean); 1092 method @NonNull public GeckoRuntimeSettings setFingerprintingProtectionOverrides(@NonNull String); 1093 method @NonNull public GeckoRuntimeSettings setFingerprintingProtectionPrivateBrowsing(boolean); 1094 method @NonNull public GeckoRuntimeSettings setFontInflationEnabled(boolean); 1095 method @NonNull public GeckoRuntimeSettings setFontSizeFactor(float); 1096 method @NonNull public GeckoRuntimeSettings setForceEnableAccessibility(boolean); 1097 method @NonNull public GeckoRuntimeSettings setForceUserScalableEnabled(boolean); 1098 method @NonNull public GeckoRuntimeSettings setGlMsaaLevel(int); 1099 method @NonNull public GeckoRuntimeSettings setGlobalPrivacyControl(boolean); 1100 method @NonNull public GeckoRuntimeSettings setInputAutoZoomEnabled(boolean); 1101 method @NonNull public GeckoRuntimeSettings setJavaScriptEnabled(boolean); 1102 method @NonNull public GeckoRuntimeSettings setLargeKeepaliveFactor(int); 1103 method @NonNull public GeckoRuntimeSettings setLnaBlockTrackers(boolean); 1104 method @NonNull public GeckoRuntimeSettings setLnaBlocking(boolean); 1105 method @NonNull public GeckoRuntimeSettings setLnaEnabled(boolean); 1106 method public void setLocales(@Nullable String[]); 1107 method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean); 1108 method @NonNull public GeckoRuntimeSettings setParallelMarkingEnabled(boolean); 1109 method @NonNull public GeckoRuntimeSettings setPostQuantumKeyExchangeEnabled(boolean); 1110 method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int); 1111 method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean); 1112 method @NonNull public GeckoRuntimeSettings setRemoteSettingCrashPullNeverShowAgain(boolean); 1113 method @NonNull public GeckoRuntimeSettings setSameDocumentNavigationOverridesLoadType(boolean); 1114 method @NonNull public GeckoRuntimeSettings setSameDocumentNavigationOverridesLoadTypeForceDisable(@NonNull String); 1115 method @NonNull public GeckoRuntimeSettings setSpoofEnglish(boolean); 1116 method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int); 1117 method @NonNull public GeckoRuntimeSettings setTranslationsOfferPopup(boolean); 1118 method @NonNull public GeckoRuntimeSettings setTrustedRecursiveResolverExcludedDomains(@NonNull List<String>); 1119 method @NonNull public GeckoRuntimeSettings setTrustedRecursiveResolverMode(int); 1120 method @NonNull public GeckoRuntimeSettings setTrustedRecursiveResolverUri(@NonNull String); 1121 method @NonNull public GeckoRuntimeSettings setUserCharacteristicPingCurrentVersion(int); 1122 method @NonNull public GeckoRuntimeSettings setWebContentIsolationStrategy(@NonNull Integer); 1123 method @NonNull public GeckoRuntimeSettings setWebFontsEnabled(boolean); 1124 method @NonNull public GeckoRuntimeSettings setWebManifestEnabled(boolean); 1125 field public static final int ALLOW_ALL = 0; 1126 field public static final int COLOR_SCHEME_DARK = 1; 1127 field public static final int COLOR_SCHEME_LIGHT = 0; 1128 field public static final int COLOR_SCHEME_SYSTEM = -1; 1129 field public static final Parcelable.Creator<GeckoRuntimeSettings> CREATOR; 1130 field public static final int HTTPS_ONLY = 2; 1131 field public static final int HTTPS_ONLY_PRIVATE = 1; 1132 field public static final int STRATEGY_ISOLATE_EVERYTHING = 1; 1133 field public static final int STRATEGY_ISOLATE_HIGH_VALUE = 2; 1134 field public static final int STRATEGY_ISOLATE_NOTHING = 0; 1135 field public static final int TRR_MODE_DISABLED = 5; 1136 field public static final int TRR_MODE_FIRST = 2; 1137 field public static final int TRR_MODE_OFF = 0; 1138 field public static final int TRR_MODE_ONLY = 3; 1139 } 1140 1141 @AnyThread public static final class GeckoRuntimeSettings.Builder extends RuntimeSettings.Builder<GeckoRuntimeSettings> { 1142 ctor public Builder(); 1143 method @NonNull public GeckoRuntimeSettings.Builder aboutConfigEnabled(boolean); 1144 method @NonNull public GeckoRuntimeSettings.Builder allowInsecureConnections(int); 1145 method @NonNull public GeckoRuntimeSettings.Builder appZygoteProcessEnabled(boolean); 1146 method @NonNull public GeckoRuntimeSettings.Builder arguments(@NonNull String[]); 1147 method @NonNull public GeckoRuntimeSettings.Builder automaticFontSizeAdjustment(boolean); 1148 method @NonNull public GeckoRuntimeSettings.Builder configFilePath(@Nullable String); 1149 method @NonNull public GeckoRuntimeSettings.Builder consoleOutput(boolean); 1150 method @NonNull public GeckoRuntimeSettings.Builder contentBlocking(@NonNull ContentBlocking.Settings); 1151 method @NonNull public GeckoRuntimeSettings.Builder crashHandler(@Nullable Class<? extends android.app.Service>); 1152 method @NonNull public GeckoRuntimeSettings.Builder crashPullNeverShowAgain(boolean); 1153 method @NonNull public GeckoRuntimeSettings.Builder debugLogging(boolean); 1154 method @NonNull public GeckoRuntimeSettings.Builder defaultRecursiveResolverUri(@NonNull String); 1155 method @NonNull public GeckoRuntimeSettings.Builder disableShip(boolean); 1156 method @NonNull public GeckoRuntimeSettings.Builder displayDensityOverride(float); 1157 method @NonNull public GeckoRuntimeSettings.Builder displayDpiOverride(int); 1158 method @NonNull public GeckoRuntimeSettings.Builder doubleTapZoomingEnabled(boolean); 1159 method @NonNull public GeckoRuntimeSettings.Builder enterpriseRootsEnabled(boolean); 1160 method @AnyThread @NonNull public GeckoRuntimeSettings.Builder experimentDelegate(@Nullable ExperimentDelegate); 1161 method @NonNull public GeckoRuntimeSettings.Builder extensionsProcessCrashThreshold(@NonNull Integer); 1162 method @NonNull public GeckoRuntimeSettings.Builder extensionsProcessCrashTimeframe(@NonNull Long); 1163 method @NonNull public GeckoRuntimeSettings.Builder extensionsProcessEnabled(boolean); 1164 method @NonNull public GeckoRuntimeSettings.Builder extensionsWebAPIEnabled(boolean); 1165 method @NonNull public GeckoRuntimeSettings.Builder extras(@NonNull Bundle); 1166 method @NonNull public GeckoRuntimeSettings.Builder fissionEnabled(boolean); 1167 method @NonNull public GeckoRuntimeSettings.Builder fontInflation(boolean); 1168 method @NonNull public GeckoRuntimeSettings.Builder fontSizeFactor(float); 1169 method @NonNull public GeckoRuntimeSettings.Builder forceUserScalableEnabled(boolean); 1170 method @NonNull public GeckoRuntimeSettings.Builder glMsaaLevel(int); 1171 method @NonNull public GeckoRuntimeSettings.Builder globalPrivacyControlEnabled(boolean); 1172 method @NonNull public GeckoRuntimeSettings.Builder inputAutoZoomEnabled(boolean); 1173 method @NonNull public GeckoRuntimeSettings.Builder isolatedProcessEnabled(boolean); 1174 method @NonNull public GeckoRuntimeSettings.Builder javaScriptEnabled(boolean); 1175 method @NonNull public GeckoRuntimeSettings.Builder largeKeepaliveFactor(int); 1176 method @NonNull public GeckoRuntimeSettings.Builder locales(@Nullable String[]); 1177 method @NonNull public GeckoRuntimeSettings.Builder loginAutofillEnabled(boolean); 1178 method @NonNull public GeckoRuntimeSettings.Builder lowMemoryDetection(boolean); 1179 method @NonNull public GeckoRuntimeSettings.Builder pauseForDebugger(boolean); 1180 method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int); 1181 method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean); 1182 method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int); 1183 method @NonNull public GeckoRuntimeSettings.Builder setLnaBlockTrackers(@NonNull Boolean); 1184 method @NonNull public GeckoRuntimeSettings.Builder setLnaBlocking(@NonNull Boolean); 1185 method @NonNull public GeckoRuntimeSettings.Builder setLnaEnabled(@NonNull Boolean); 1186 method @NonNull public GeckoRuntimeSettings.Builder setSameDocumentNavigationOverridesLoadType(boolean); 1187 method @NonNull public GeckoRuntimeSettings.Builder setSameDocumentNavigationOverridesLoadTypeForceDisable(@NonNull String); 1188 method @NonNull public GeckoRuntimeSettings.Builder spoofEnglish(boolean); 1189 method @NonNull public GeckoRuntimeSettings.Builder torSecurityLevel(int); 1190 method @NonNull public GeckoRuntimeSettings.Builder translationsOfferPopup(boolean); 1191 method @NonNull public GeckoRuntimeSettings.Builder trustedRecursiveResolverMode(int); 1192 method @NonNull public GeckoRuntimeSettings.Builder trustedRecursiveResolverUri(@NonNull String); 1193 method @NonNull public GeckoRuntimeSettings.Builder useMaxScreenDepth(boolean); 1194 method @NonNull public GeckoRuntimeSettings.Builder webFontsEnabled(boolean); 1195 method @NonNull public GeckoRuntimeSettings.Builder webManifest(boolean); 1196 method @NonNull protected GeckoRuntimeSettings newSettings(@Nullable GeckoRuntimeSettings); 1197 } 1198 1199 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.ColorScheme { 1200 } 1201 1202 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.HttpsOnlyMode { 1203 } 1204 1205 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.TrustedRecursiveResolverMode { 1206 } 1207 1208 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoRuntimeSettings.WebContentIsolationStrategy { 1209 } 1210 1211 public class GeckoSession { 1212 ctor public GeckoSession(); 1213 ctor public GeckoSession(@Nullable GeckoSessionSettings); 1214 method @NonNull @UiThread public GeckoDisplay acquireDisplay(); 1215 method @UiThread public void close(); 1216 method @AnyThread @NonNull public GeckoResult<Boolean> containsFormData(); 1217 method @AnyThread @NonNull public GeckoResult<Boolean> didPrintPageContent(); 1218 method @AnyThread public void exitFullScreen(); 1219 method @AnyThread public void flushSessionState(); 1220 method @NonNull @UiThread public SessionAccessibility getAccessibility(); 1221 method @Nullable @UiThread public Autofill.Delegate getAutofillDelegate(); 1222 method @NonNull @UiThread public Autofill.Session getAutofillSession(); 1223 method @UiThread public void getClientBounds(@NonNull RectF); 1224 method @UiThread public void getClientToScreenMatrix(@NonNull Matrix); 1225 method @UiThread public void getClientToSurfaceMatrix(@NonNull Matrix); 1226 method @NonNull @UiThread public CompositorController getCompositorController(); 1227 method @Nullable @UiThread public GeckoSession.CompositorScrollDelegate getCompositorScrollDelegate(); 1228 method @AnyThread @Nullable public ContentBlocking.Delegate getContentBlockingDelegate(); 1229 method @Nullable @UiThread public GeckoSession.ContentDelegate getContentDelegate(); 1230 method @AnyThread @NonNull public static String getDefaultUserAgent(); 1231 method @AnyThread @Nullable public ExperimentDelegate getExperimentDelegate(); 1232 method @AnyThread @NonNull public SessionFinder getFinder(); 1233 method @AnyThread @Nullable public GeckoSession.HistoryDelegate getHistoryDelegate(); 1234 method @AnyThread @Nullable public GeckoSession.MediaDelegate getMediaDelegate(); 1235 method @AnyThread @Nullable public MediaSession.Delegate getMediaSessionDelegate(); 1236 method @Nullable @UiThread public GeckoSession.NavigationDelegate getNavigationDelegate(); 1237 method @NonNull @UiThread public OverscrollEdgeEffect getOverscrollEdgeEffect(); 1238 method @UiThread public void getPageToScreenMatrix(@NonNull Matrix); 1239 method @UiThread public void getPageToSurfaceMatrix(@NonNull Matrix); 1240 method @NonNull @UiThread public PanZoomController getPanZoomController(); 1241 method @AnyThread @NonNull public SessionPdfFileSaver getPdfFileSaver(); 1242 method @Nullable @UiThread public GeckoSession.PermissionDelegate getPermissionDelegate(); 1243 method @AnyThread @Nullable public GeckoSession.PrintDelegate getPrintDelegate(); 1244 method @Nullable @UiThread public GeckoSession.ProgressDelegate getProgressDelegate(); 1245 method @AnyThread @Nullable public GeckoSession.PromptDelegate getPromptDelegate(); 1246 method @Nullable @UiThread public GeckoSession.ScrollDelegate getScrollDelegate(); 1247 method @AnyThread @Nullable public GeckoSession.SelectionActionDelegate getSelectionActionDelegate(); 1248 method @AnyThread @Nullable public TranslationsController.SessionTranslation getSessionTranslation(); 1249 method @AnyThread @NonNull public GeckoSessionSettings getSettings(); 1250 method @UiThread public void getSurfaceBounds(@NonNull Rect); 1251 method @AnyThread @NonNull public SessionTextInput getTextInput(); 1252 method @AnyThread @Nullable public TranslationsController.SessionTranslation.Delegate getTranslationsSessionDelegate(); 1253 method @AnyThread @NonNull public GeckoResult<String> getUserAgent(); 1254 method @AnyThread @NonNull public GeckoResult<JSONObject> getWebCompatInfo(); 1255 method @NonNull @UiThread public WebExtension.SessionController getWebExtensionController(); 1256 method @AnyThread public void goBack(); 1257 method @AnyThread public void goBack(boolean); 1258 method @AnyThread public void goForward(); 1259 method @AnyThread public void goForward(boolean); 1260 method @AnyThread public void gotoHistoryIndex(int); 1261 method @AnyThread @NonNull public GeckoResult<Boolean> hasCookieBannerRuleForBrowsingContextTree(); 1262 method @UiThread public boolean isOpen(); 1263 method @AnyThread @NonNull public GeckoResult<Boolean> isPdfJs(); 1264 method @AnyThread public void load(@NonNull GeckoSession.Loader); 1265 method @AnyThread public void loadUri(@NonNull String); 1266 method @UiThread public void open(@NonNull GeckoRuntime); 1267 method @AnyThread public void printPageContent(); 1268 method @AnyThread public void purgeHistory(); 1269 method @UiThread public void releaseDisplay(@NonNull GeckoDisplay); 1270 method @AnyThread public void reload(); 1271 method @AnyThread public void reload(int); 1272 method @AnyThread public void restoreState(@NonNull GeckoSession.SessionState); 1273 method @AnyThread @NonNull public GeckoResult<InputStream> saveAsPdf(); 1274 method @AnyThread @NonNull public GeckoResult<Void> sendMoreWebCompatInfo(@NonNull JSONObject); 1275 method @AnyThread public void setActive(boolean); 1276 method @UiThread public void setAutofillDelegate(@Nullable Autofill.Delegate); 1277 method @UiThread public void setCompositorScrollDelegate(@Nullable GeckoSession.CompositorScrollDelegate); 1278 method @AnyThread public void setContentBlockingDelegate(@Nullable ContentBlocking.Delegate); 1279 method @UiThread public void setContentDelegate(@Nullable GeckoSession.ContentDelegate); 1280 method @AnyThread public void setExperimentDelegate(@Nullable ExperimentDelegate); 1281 method @AnyThread public void setFocused(boolean); 1282 method @AnyThread public void setHistoryDelegate(@Nullable GeckoSession.HistoryDelegate); 1283 method @AnyThread public void setMediaDelegate(@Nullable GeckoSession.MediaDelegate); 1284 method @AnyThread public void setMediaSessionDelegate(@Nullable MediaSession.Delegate); 1285 method @UiThread public void setNavigationDelegate(@Nullable GeckoSession.NavigationDelegate); 1286 method @UiThread public void setPermissionDelegate(@Nullable GeckoSession.PermissionDelegate); 1287 method @AnyThread public void setPrintDelegate(@Nullable GeckoSession.PrintDelegate); 1288 method @AnyThread public void setPriorityHint(int); 1289 method @UiThread public void setProgressDelegate(@Nullable GeckoSession.ProgressDelegate); 1290 method @AnyThread public void setPromptDelegate(@Nullable GeckoSession.PromptDelegate); 1291 method @UiThread public void setScrollDelegate(@Nullable GeckoSession.ScrollDelegate); 1292 method @UiThread public void setSelectionActionDelegate(@Nullable GeckoSession.SelectionActionDelegate); 1293 method @AnyThread public void setTranslationsSessionDelegate(@Nullable TranslationsController.SessionTranslation.Delegate); 1294 method @AnyThread public void stop(); 1295 method @UiThread protected void setShouldPinOnScreen(boolean); 1296 field public static final int APP_LINK_LAUNCH_TYPE_COLD = 1; 1297 field public static final int APP_LINK_LAUNCH_TYPE_HOT = 3; 1298 field public static final int APP_LINK_LAUNCH_TYPE_UNKNOWN = 0; 1299 field public static final int APP_LINK_LAUNCH_TYPE_WARM = 2; 1300 field public static final int FINDER_DISPLAY_DIM_PAGE = 2; 1301 field public static final int FINDER_DISPLAY_DRAW_LINK_OUTLINE = 4; 1302 field public static final int FINDER_DISPLAY_HIGHLIGHT_ALL = 1; 1303 field public static final int FINDER_FIND_BACKWARDS = 1; 1304 field public static final int FINDER_FIND_FORWARD = 0; 1305 field public static final int FINDER_FIND_LINKS_ONLY = 8; 1306 field public static final int FINDER_FIND_MATCH_CASE = 2; 1307 field public static final int FINDER_FIND_WHOLE_WORD = 4; 1308 field public static final int HEADER_FILTER_CORS_SAFELISTED = 1; 1309 field public static final int HEADER_FILTER_UNRESTRICTED_UNSAFE = 2; 1310 field public static final int LOAD_FLAGS_ALLOW_POPUPS = 8; 1311 field public static final int LOAD_FLAGS_BYPASS_CACHE = 1; 1312 field public static final int LOAD_FLAGS_BYPASS_CLASSIFIER = 16; 1313 field public static final int LOAD_FLAGS_BYPASS_LOAD_URI_DELEGATE = 128; 1314 field public static final int LOAD_FLAGS_BYPASS_PROXY = 2; 1315 field public static final int LOAD_FLAGS_EXTERNAL = 4; 1316 field public static final int LOAD_FLAGS_FORCE_ALLOW_DATA_URI = 32; 1317 field public static final int LOAD_FLAGS_NONE = 0; 1318 field public static final int LOAD_FLAGS_REPLACE_HISTORY = 64; 1319 field public static final int PRIORITY_DEFAULT = 0; 1320 field public static final int PRIORITY_HIGH = 1; 1321 field @Nullable protected GeckoSession.Window mWindow; 1322 } 1323 1324 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.AppLinkLaunchType { 1325 } 1326 1327 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ClipboardPermissionType { 1328 } 1329 1330 public static interface GeckoSession.CompositorScrollDelegate { 1331 method @UiThread default public void onScrollChanged(@NonNull GeckoSession, @NonNull GeckoSession.ScrollPositionUpdate); 1332 } 1333 1334 public static interface GeckoSession.ContentDelegate { 1335 method @UiThread default public void onCloseRequest(@NonNull GeckoSession); 1336 method @UiThread default public void onContextMenu(@NonNull GeckoSession, int, int, @NonNull GeckoSession.ContentDelegate.ContextElement); 1337 method @AnyThread default public void onCookieBannerDetected(@NonNull GeckoSession); 1338 method @AnyThread default public void onCookieBannerHandled(@NonNull GeckoSession); 1339 method @UiThread default public void onCrash(@NonNull GeckoSession); 1340 method @UiThread default public void onExternalResponse(@NonNull GeckoSession, @NonNull WebResponse); 1341 method @UiThread default public void onFirstComposite(@NonNull GeckoSession); 1342 method @UiThread default public void onFirstContentfulPaint(@NonNull GeckoSession); 1343 method @UiThread default public void onFocusRequest(@NonNull GeckoSession); 1344 method @UiThread default public void onFullScreen(@NonNull GeckoSession, boolean); 1345 method @UiThread default public void onHideDynamicToolbar(@NonNull GeckoSession); 1346 method @UiThread default public void onKill(@NonNull GeckoSession); 1347 method @UiThread default public void onMetaViewportFitChange(@NonNull GeckoSession, @NonNull String); 1348 method @UiThread default public void onPaintStatusReset(@NonNull GeckoSession); 1349 method @UiThread default public void onPointerIconChange(@NonNull GeckoSession, @NonNull PointerIcon); 1350 method @UiThread default public void onPreviewImage(@NonNull GeckoSession, @NonNull String); 1351 method @UiThread default public void onShowDynamicToolbar(@NonNull GeckoSession); 1352 method @Nullable @UiThread default public GeckoResult<SlowScriptResponse> onSlowScript(@NonNull GeckoSession, @NonNull String); 1353 method @UiThread default public void onTitleChange(@NonNull GeckoSession, @Nullable String); 1354 method @UiThread default public void onWebAppManifest(@NonNull GeckoSession, @NonNull JSONObject); 1355 } 1356 1357 public static class GeckoSession.ContentDelegate.ContextElement { 1358 ctor protected ContextElement(@Nullable String, @Nullable String, @Nullable String, @Nullable String, @NonNull String, @Nullable String, @Nullable String, @Nullable String); 1359 ctor @Deprecated @DeprecationSchedule(id="context-element-api-updates",version=151) protected ContextElement(@Nullable String, @Nullable String, @Nullable String, @Nullable String, @NonNull String, @Nullable String); 1360 field public static final int TYPE_AUDIO = 3; 1361 field public static final int TYPE_IMAGE = 1; 1362 field public static final int TYPE_NONE = 0; 1363 field public static final int TYPE_VIDEO = 2; 1364 field @Nullable public final String altText; 1365 field @Nullable public final String baseUri; 1366 field @Nullable public final String linkText; 1367 field @Nullable public final String linkUri; 1368 field @Nullable public final String srcUri; 1369 field @Deprecated @DeprecationSchedule(id="context-element-api-updates",version=151) @Nullable public final String textContent; 1370 field @Nullable public final String title; 1371 field public final int type; 1372 } 1373 1374 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ContentDelegate.ContextElement.Type { 1375 } 1376 1377 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.FinderDisplayFlags { 1378 } 1379 1380 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.FinderFindFlags { 1381 } 1382 1383 @AnyThread public static class GeckoSession.FinderResult { 1384 ctor protected FinderResult(); 1385 field @Nullable public final RectF clientRect; 1386 field public final int current; 1387 field public final int flags; 1388 field public final boolean found; 1389 field @Nullable public final String linkUri; 1390 field @NonNull public final String searchString; 1391 field public final int total; 1392 field public final boolean wrapped; 1393 } 1394 1395 public static class GeckoSession.GeckoPrintException extends Exception { 1396 ctor protected GeckoPrintException(); 1397 field public static final int ERROR_NO_ACTIVITY_CONTEXT = -5; 1398 field public static final int ERROR_NO_ACTIVITY_CONTEXT_DELEGATE = -4; 1399 field public static final int ERROR_NO_PRINT_DELEGATE = -6; 1400 field public static final int ERROR_PRINT_SETTINGS_SERVICE_NOT_AVAILABLE = -1; 1401 field public static final int ERROR_UNABLE_TO_CREATE_PRINT_SETTINGS = -2; 1402 field public static final int ERROR_UNABLE_TO_RETRIEVE_CANONICAL_BROWSING_CONTEXT = -3; 1403 field public final int code; 1404 } 1405 1406 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.GeckoPrintException.Codes { 1407 } 1408 1409 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.HeaderFilter { 1410 } 1411 1412 public static interface GeckoSession.HistoryDelegate { 1413 method @Nullable @UiThread default public GeckoResult<boolean[]> getVisited(@NonNull GeckoSession, @NonNull String[]); 1414 method @UiThread default public void onHistoryStateChange(@NonNull GeckoSession, @NonNull GeckoSession.HistoryDelegate.HistoryList); 1415 method @Nullable @UiThread default public GeckoResult<Boolean> onVisited(@NonNull GeckoSession, @NonNull String, @Nullable String, int); 1416 field public static final int VISIT_REDIRECT_PERMANENT = 4; 1417 field public static final int VISIT_REDIRECT_SOURCE = 8; 1418 field public static final int VISIT_REDIRECT_SOURCE_PERMANENT = 16; 1419 field public static final int VISIT_REDIRECT_TEMPORARY = 2; 1420 field public static final int VISIT_TOP_LEVEL = 1; 1421 field public static final int VISIT_UNRECOVERABLE_ERROR = 32; 1422 } 1423 1424 public static interface GeckoSession.HistoryDelegate.HistoryItem { 1425 method @AnyThread @NonNull default public String getTitle(); 1426 method @AnyThread @NonNull default public String getUri(); 1427 } 1428 1429 public static interface GeckoSession.HistoryDelegate.HistoryList implements List<GeckoSession.HistoryDelegate.HistoryItem> { 1430 method @AnyThread default public int getCurrentIndex(); 1431 } 1432 1433 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.LoadFlags { 1434 } 1435 1436 @AnyThread public static class GeckoSession.Loader { 1437 ctor public Loader(); 1438 method @NonNull public GeckoSession.Loader additionalHeaders(@NonNull Map<String,String>); 1439 method @NonNull public GeckoSession.Loader appLinkLaunchType(int); 1440 method @NonNull public GeckoSession.Loader data(@NonNull byte[], @Nullable String); 1441 method @NonNull public GeckoSession.Loader data(@NonNull String, @Nullable String); 1442 method @NonNull public GeckoSession.Loader flags(int); 1443 method @NonNull public GeckoSession.Loader headerFilter(int); 1444 method @NonNull public GeckoSession.Loader originalInput(@Nullable String); 1445 method @NonNull public GeckoSession.Loader referrer(@NonNull GeckoSession); 1446 method @NonNull public GeckoSession.Loader referrer(@NonNull Uri); 1447 method @NonNull public GeckoSession.Loader referrer(@NonNull String); 1448 method @NonNull public GeckoSession.Loader textDirectiveUserActivation(boolean); 1449 method @NonNull public GeckoSession.Loader uri(@NonNull String); 1450 method @NonNull public GeckoSession.Loader uri(@NonNull Uri); 1451 } 1452 1453 public static interface GeckoSession.MediaDelegate { 1454 method @UiThread default public void onRecordingStatusChanged(@NonNull GeckoSession, @NonNull GeckoSession.MediaDelegate.RecordingDevice[]); 1455 } 1456 1457 public static class GeckoSession.MediaDelegate.RecordingDevice { 1458 ctor protected RecordingDevice(); 1459 field public final long status; 1460 field public final long type; 1461 } 1462 1463 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.MediaDelegate.RecordingDevice.DeviceType { 1464 } 1465 1466 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.MediaDelegate.RecordingDevice.RecordingStatus { 1467 } 1468 1469 public static class GeckoSession.MediaDelegate.RecordingDevice.Status { 1470 ctor protected Status(); 1471 field public static final long INACTIVE = 1L; 1472 field public static final long RECORDING = 0L; 1473 } 1474 1475 public static class GeckoSession.MediaDelegate.RecordingDevice.Type { 1476 ctor protected Type(); 1477 field public static final long CAMERA = 0L; 1478 field public static final long MICROPHONE = 1L; 1479 } 1480 1481 public static interface GeckoSession.NavigationDelegate { 1482 method @UiThread default public void onCanGoBack(@NonNull GeckoSession, boolean); 1483 method @UiThread default public void onCanGoForward(@NonNull GeckoSession, boolean); 1484 method @Nullable @UiThread default public GeckoResult<String> onLoadError(@NonNull GeckoSession, @Nullable String, @NonNull WebRequestError); 1485 method @Nullable @UiThread default public GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest); 1486 method @UiThread default public void onLocationChange(@NonNull GeckoSession, @Nullable String, @NonNull List<GeckoSession.PermissionDelegate.ContentPermission>, @NonNull Boolean); 1487 method @Nullable @UiThread default public GeckoResult<GeckoSession> onNewSession(@NonNull GeckoSession, @NonNull String); 1488 method @Nullable @UiThread default public GeckoResult<AllowOrDeny> onSubframeLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest); 1489 field public static final int LOAD_REQUEST_IS_REDIRECT = 8388608; 1490 field public static final int TARGET_WINDOW_CURRENT = 1; 1491 field public static final int TARGET_WINDOW_NEW = 2; 1492 field public static final int TARGET_WINDOW_NONE = 0; 1493 } 1494 1495 public static class GeckoSession.NavigationDelegate.LoadRequest { 1496 ctor protected LoadRequest(); 1497 field public final boolean hasUserGesture; 1498 field public final boolean isDirectNavigation; 1499 field public final boolean isRedirect; 1500 field public final int target; 1501 field @Nullable public final String triggerUri; 1502 field @NonNull public final String uri; 1503 } 1504 1505 @AnyThread public static class GeckoSession.PdfSaveResult { 1506 ctor protected PdfSaveResult(); 1507 field @NonNull public final byte[] bytes; 1508 field @NonNull public final String filename; 1509 field public final boolean isPrivate; 1510 } 1511 1512 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.Permission { 1513 } 1514 1515 public static interface GeckoSession.PermissionDelegate { 1516 method @UiThread default public void onAndroidPermissionsRequest(@NonNull GeckoSession, @Nullable String[], @NonNull GeckoSession.PermissionDelegate.Callback); 1517 method @Nullable @UiThread default public GeckoResult<Integer> onContentPermissionRequest(@NonNull GeckoSession, @NonNull GeckoSession.PermissionDelegate.ContentPermission); 1518 method @UiThread default public void onMediaPermissionRequest(@NonNull GeckoSession, @NonNull String, @Nullable GeckoSession.PermissionDelegate.MediaSource[], @Nullable GeckoSession.PermissionDelegate.MediaSource[], @NonNull GeckoSession.PermissionDelegate.MediaCallback); 1519 field public static final int PERMISSION_AUTOPLAY_AUDIBLE = 5; 1520 field public static final int PERMISSION_AUTOPLAY_INAUDIBLE = 4; 1521 field public static final int PERMISSION_DESKTOP_NOTIFICATION = 1; 1522 field public static final int PERMISSION_GEOLOCATION = 0; 1523 field public static final int PERMISSION_LOCAL_DEVICE_ACCESS = 9; 1524 field public static final int PERMISSION_LOCAL_NETWORK_ACCESS = 10; 1525 field public static final int PERMISSION_MEDIA_KEY_SYSTEM_ACCESS = 6; 1526 field public static final int PERMISSION_PERSISTENT_STORAGE = 2; 1527 field public static final int PERMISSION_STORAGE_ACCESS = 8; 1528 field public static final int PERMISSION_TRACKING = 7; 1529 field public static final int PERMISSION_XR = 3; 1530 } 1531 1532 public static interface GeckoSession.PermissionDelegate.Callback { 1533 method @UiThread default public void grant(); 1534 method @UiThread default public void reject(); 1535 } 1536 1537 public static class GeckoSession.PermissionDelegate.ContentPermission { 1538 ctor protected ContentPermission(); 1539 method @AnyThread @Nullable public static GeckoSession.PermissionDelegate.ContentPermission fromJson(@NonNull JSONObject); 1540 method @AnyThread @NonNull public JSONObject toJson(); 1541 field public static final int VALUE_ALLOW = 1; 1542 field public static final int VALUE_DENY = 2; 1543 field public static final int VALUE_PROMPT = 3; 1544 field @Nullable public final String contextId; 1545 field public final int permission; 1546 field public final boolean privateMode; 1547 field @Nullable public final String thirdPartyOrigin; 1548 field @NonNull public final String uri; 1549 field public final int value; 1550 } 1551 1552 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.ContentPermission.Value { 1553 } 1554 1555 public static interface GeckoSession.PermissionDelegate.MediaCallback { 1556 method @UiThread default public void grant(@Nullable String, @Nullable String); 1557 method @UiThread default public void grant(@Nullable GeckoSession.PermissionDelegate.MediaSource, @Nullable GeckoSession.PermissionDelegate.MediaSource); 1558 method @UiThread default public void reject(); 1559 } 1560 1561 public static class GeckoSession.PermissionDelegate.MediaSource { 1562 ctor protected MediaSource(); 1563 field public static final int SOURCE_AUDIOCAPTURE = 3; 1564 field public static final int SOURCE_CAMERA = 0; 1565 field public static final int SOURCE_MICROPHONE = 2; 1566 field public static final int SOURCE_OTHER = 4; 1567 field public static final int SOURCE_SCREEN = 1; 1568 field public static final int TYPE_AUDIO = 1; 1569 field public static final int TYPE_VIDEO = 0; 1570 field @NonNull public final String id; 1571 field @Nullable public final String name; 1572 field public final int source; 1573 field public final int type; 1574 } 1575 1576 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.MediaSource.Source { 1577 } 1578 1579 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PermissionDelegate.MediaSource.Type { 1580 } 1581 1582 @AnyThread public static interface GeckoSession.PrintDelegate { 1583 method default public void onPrint(@NonNull GeckoSession); 1584 method default public void onPrint(@NonNull InputStream); 1585 method @Nullable default public GeckoResult<Boolean> onPrintWithStatus(@NonNull InputStream); 1586 } 1587 1588 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.Priority { 1589 } 1590 1591 public static interface GeckoSession.ProgressDelegate { 1592 method @UiThread default public void onPageStart(@NonNull GeckoSession, @NonNull String); 1593 method @UiThread default public void onPageStop(@NonNull GeckoSession, boolean); 1594 method @UiThread default public void onProgressChange(@NonNull GeckoSession, int); 1595 method @UiThread default public void onSecurityChange(@NonNull GeckoSession, @NonNull GeckoSession.ProgressDelegate.SecurityInformation); 1596 method @UiThread default public void onSessionStateChange(@NonNull GeckoSession, @NonNull GeckoSession.SessionState); 1597 } 1598 1599 public static class GeckoSession.ProgressDelegate.SecurityInformation { 1600 ctor protected SecurityInformation(); 1601 field public static final int CONTENT_BLOCKED = 1; 1602 field public static final int CONTENT_LOADED = 2; 1603 field public static final int CONTENT_UNKNOWN = 0; 1604 field public static final int SECURITY_MODE_IDENTIFIED = 1; 1605 field public static final int SECURITY_MODE_UNKNOWN = 0; 1606 field public static final int SECURITY_MODE_VERIFIED = 2; 1607 field @Nullable public final X509Certificate certificate; 1608 field @NonNull public final String host; 1609 field public final boolean isException; 1610 field public final boolean isSecure; 1611 field public final int mixedModeActive; 1612 field public final int mixedModePassive; 1613 field @Nullable public final String origin; 1614 field public final int securityMode; 1615 } 1616 1617 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ProgressDelegate.SecurityInformation.ContentType { 1618 } 1619 1620 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.ProgressDelegate.SecurityInformation.SecurityMode { 1621 } 1622 1623 public static interface GeckoSession.PromptDelegate { 1624 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAddressSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.AddressSaveOption>); 1625 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAddressSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.AddressSelectOption>); 1626 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAlertPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AlertPrompt); 1627 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAuthPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AuthPrompt); 1628 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onBeforeUnloadPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.BeforeUnloadPrompt); 1629 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onButtonPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ButtonPrompt); 1630 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onChoicePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ChoicePrompt); 1631 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onColorPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ColorPrompt); 1632 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onCreditCardSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.CreditCardSaveOption>); 1633 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onCreditCardSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.CreditCardSelectOption>); 1634 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onDateTimePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.DateTimePrompt); 1635 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onFilePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.FilePrompt); 1636 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onFolderUploadPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.FolderUploadPrompt); 1637 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onLoginSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.LoginSaveOption>); 1638 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onLoginSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.LoginSelectOption>); 1639 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onPopupPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.PopupPrompt); 1640 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onRedirectPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.RedirectPrompt); 1641 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onRepostConfirmPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.RepostConfirmPrompt); 1642 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onRequestCertificate(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.CertificateRequest); 1643 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onSelectIdentityCredentialAccount(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt); 1644 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onSelectIdentityCredentialProvider(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.IdentityCredential.ProviderSelectorPrompt); 1645 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onSharePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.SharePrompt); 1646 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onShowPrivacyPolicyIdentityCredential(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.IdentityCredential.PrivacyPolicyPrompt); 1647 method @Nullable @UiThread default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onTextPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.TextPrompt); 1648 } 1649 1650 public static class GeckoSession.PromptDelegate.AlertPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1651 ctor protected AlertPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1652 field @Nullable public final String message; 1653 } 1654 1655 public static class GeckoSession.PromptDelegate.AuthPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1656 ctor protected AuthPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.AuthPrompt.AuthOptions, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1657 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); 1658 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String, @NonNull String); 1659 field @NonNull public final GeckoSession.PromptDelegate.AuthPrompt.AuthOptions authOptions; 1660 field @Nullable public final String message; 1661 } 1662 1663 public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions { 1664 ctor protected AuthOptions(); 1665 field public final int flags; 1666 field public final int level; 1667 field @Nullable public final String password; 1668 field @Nullable public final String uri; 1669 field @Nullable public final String username; 1670 } 1671 1672 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.AuthFlag { 1673 } 1674 1675 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.AuthLevel { 1676 } 1677 1678 public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Flags { 1679 ctor protected Flags(); 1680 field public static final int CROSS_ORIGIN_SUB_RESOURCE = 32; 1681 field public static final int HOST = 1; 1682 field public static final int ONLY_PASSWORD = 8; 1683 field public static final int PREVIOUS_FAILED = 16; 1684 field public static final int PROXY = 2; 1685 } 1686 1687 public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Level { 1688 ctor protected Level(); 1689 field public static final int NONE = 0; 1690 field public static final int PW_ENCRYPTED = 1; 1691 field public static final int SECURE = 2; 1692 } 1693 1694 public static class GeckoSession.PromptDelegate.AutocompleteRequest<T extends Autocomplete.Option<?>> extends GeckoSession.PromptDelegate.BasePrompt { 1695 ctor protected AutocompleteRequest(@NonNull String, @NonNull T[], GeckoSession.PromptDelegate.BasePrompt.Observer); 1696 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Autocomplete.Option<?>); 1697 field @NonNull public final T[] options; 1698 } 1699 1700 public static class GeckoSession.PromptDelegate.BasePrompt { 1701 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse dismiss(); 1702 method @Nullable @UiThread public GeckoSession.PromptDelegate.PromptInstanceDelegate getDelegate(); 1703 method @UiThread public boolean isComplete(); 1704 method @UiThread public void setDelegate(@Nullable GeckoSession.PromptDelegate.PromptInstanceDelegate); 1705 method @NonNull @UiThread protected GeckoSession.PromptDelegate.PromptResponse confirm(); 1706 field @Nullable public final String title; 1707 } 1708 1709 protected static interface GeckoSession.PromptDelegate.BasePrompt.Observer { 1710 method @AnyThread default public void onPromptCompleted(@NonNull GeckoSession.PromptDelegate.BasePrompt); 1711 } 1712 1713 public static class GeckoSession.PromptDelegate.BeforeUnloadPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1714 ctor protected BeforeUnloadPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1715 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny); 1716 } 1717 1718 public static class GeckoSession.PromptDelegate.ButtonPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1719 ctor protected ButtonPrompt(@NonNull String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1720 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(int); 1721 field @Nullable public final String message; 1722 } 1723 1724 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.ButtonPrompt.ButtonType { 1725 } 1726 1727 public static class GeckoSession.PromptDelegate.ButtonPrompt.Type { 1728 ctor protected Type(); 1729 field public static final int NEGATIVE = 2; 1730 field public static final int POSITIVE = 0; 1731 } 1732 1733 public static class GeckoSession.PromptDelegate.CertificateRequest extends GeckoSession.PromptDelegate.BasePrompt { 1734 ctor protected CertificateRequest(@NonNull String, GeckoSession.PromptDelegate.BasePrompt.Observer, String, Principal[]); 1735 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable String); 1736 field @NonNull public final String host; 1737 field @Nullable public final Principal[] issuers; 1738 } 1739 1740 public static class GeckoSession.PromptDelegate.ChoicePrompt extends GeckoSession.PromptDelegate.BasePrompt { 1741 ctor protected ChoicePrompt(@NonNull String, @Nullable String, @Nullable String, int, @NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1742 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); 1743 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String[]); 1744 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice); 1745 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[]); 1746 field @NonNull public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] choices; 1747 field @Nullable public final String message; 1748 field public final int type; 1749 } 1750 1751 public static class GeckoSession.PromptDelegate.ChoicePrompt.Choice { 1752 ctor protected Choice(); 1753 field public final boolean disabled; 1754 field @Nullable public final String icon; 1755 field @NonNull public final String id; 1756 field @Nullable public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] items; 1757 field @NonNull public final String label; 1758 field public final boolean selected; 1759 field public final boolean separator; 1760 } 1761 1762 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.ChoicePrompt.ChoiceType { 1763 } 1764 1765 public static class GeckoSession.PromptDelegate.ChoicePrompt.Type { 1766 ctor protected Type(); 1767 field public static final int MENU = 1; 1768 field public static final int MULTIPLE = 3; 1769 field public static final int SINGLE = 2; 1770 } 1771 1772 public static class GeckoSession.PromptDelegate.ColorPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1773 ctor protected ColorPrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1774 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); 1775 field @Nullable public final String defaultValue; 1776 field @Nullable public final String[] predefinedValues; 1777 } 1778 1779 public static class GeckoSession.PromptDelegate.DateTimePrompt extends GeckoSession.PromptDelegate.BasePrompt { 1780 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); 1781 field @Nullable public final String defaultValue; 1782 field @Nullable public final String maxValue; 1783 field @Nullable public final String minValue; 1784 field @Nullable public final String stepValue; 1785 field public final int type; 1786 } 1787 1788 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.DateTimePrompt.DatetimeType { 1789 } 1790 1791 public static class GeckoSession.PromptDelegate.DateTimePrompt.Type { 1792 ctor protected Type(); 1793 field public static final int DATE = 1; 1794 field public static final int DATETIME_LOCAL = 5; 1795 field public static final int MONTH = 2; 1796 field public static final int TIME = 4; 1797 field public static final int WEEK = 3; 1798 } 1799 1800 public static class GeckoSession.PromptDelegate.FilePrompt extends GeckoSession.PromptDelegate.BasePrompt { 1801 ctor protected FilePrompt(@NonNull String, @Nullable String, int, int, @Nullable String[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1802 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri); 1803 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri[]); 1804 field public final int capture; 1805 field @Nullable public final String[] mimeTypes; 1806 field public final int type; 1807 } 1808 1809 public static class GeckoSession.PromptDelegate.FilePrompt.Capture { 1810 ctor protected Capture(); 1811 field public static final int ANY = 1; 1812 field public static final int ENVIRONMENT = 3; 1813 field public static final int NONE = 0; 1814 field public static final int USER = 2; 1815 } 1816 1817 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.FilePrompt.CaptureType { 1818 } 1819 1820 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.FilePrompt.FileType { 1821 } 1822 1823 public static class GeckoSession.PromptDelegate.FilePrompt.Type { 1824 ctor protected Type(); 1825 field public static final int FOLDER = 3; 1826 field public static final int MULTIPLE = 2; 1827 field public static final int SINGLE = 1; 1828 } 1829 1830 public static class GeckoSession.PromptDelegate.FolderUploadPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1831 ctor protected FolderUploadPrompt(@NonNull String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1832 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny); 1833 field @Nullable public final String directoryName; 1834 } 1835 1836 public static final class GeckoSession.PromptDelegate.IdentityCredential { 1837 ctor public IdentityCredential(); 1838 } 1839 1840 public static class GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1841 ctor public AccountSelectorPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Account[], @NonNull GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Provider, GeckoSession.PromptDelegate.BasePrompt.Observer); 1842 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull int); 1843 field @NonNull public final GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Account[] accounts; 1844 field @NonNull public final GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Provider provider; 1845 } 1846 1847 public static class GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Account { 1848 ctor public Account(int, @NonNull String, @NonNull String, @Nullable String); 1849 field @NonNull public final String email; 1850 field @Nullable public final String icon; 1851 field public final int id; 1852 field @NonNull public final String name; 1853 } 1854 1855 public static class GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Provider { 1856 ctor public Provider(@NonNull String, @NonNull String, @Nullable String); 1857 field @NonNull public final String domain; 1858 field @Nullable public final String icon; 1859 field @NonNull public final String name; 1860 } 1861 1862 public static class GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.ProviderAccounts { 1863 ctor public ProviderAccounts(int, @Nullable GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Provider, @NonNull GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Account[]); 1864 field @NonNull public final GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Account[] accounts; 1865 field public final int id; 1866 field @Nullable public final GeckoSession.PromptDelegate.IdentityCredential.AccountSelectorPrompt.Provider provider; 1867 } 1868 1869 public static class GeckoSession.PromptDelegate.IdentityCredential.PrivacyPolicyPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1870 ctor protected PrivacyPolicyPrompt(@NonNull String, @NonNull String, @NonNull String, @NonNull String, @NonNull String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1871 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(boolean); 1872 field @NonNull public final String host; 1873 field @Nullable public final String icon; 1874 field @NonNull public final String privacyPolicyUrl; 1875 field @NonNull public final String providerDomain; 1876 field @NonNull public final String termsOfServiceUrl; 1877 } 1878 1879 public static class GeckoSession.PromptDelegate.IdentityCredential.ProviderSelectorPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1880 ctor protected ProviderSelectorPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.IdentityCredential.ProviderSelectorPrompt.Provider[], @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1881 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(int); 1882 field @NonNull public final GeckoSession.PromptDelegate.IdentityCredential.ProviderSelectorPrompt.Provider[] providers; 1883 } 1884 1885 public static class GeckoSession.PromptDelegate.IdentityCredential.ProviderSelectorPrompt.Provider { 1886 ctor public Provider(int, @NonNull String, @Nullable String, @NonNull String); 1887 field @NonNull public final String domain; 1888 field @Nullable public final String icon; 1889 field public final int id; 1890 field @NonNull public final String name; 1891 } 1892 1893 public static class GeckoSession.PromptDelegate.PopupPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1894 ctor protected PopupPrompt(@NonNull String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1895 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull AllowOrDeny); 1896 field @Nullable public final String targetUri; 1897 } 1898 1899 public static interface GeckoSession.PromptDelegate.PromptInstanceDelegate { 1900 method @UiThread default public void onPromptDismiss(@NonNull GeckoSession.PromptDelegate.BasePrompt); 1901 method @UiThread default public void onPromptUpdate(@NonNull GeckoSession.PromptDelegate.BasePrompt); 1902 } 1903 1904 public static class GeckoSession.PromptDelegate.PromptResponse { 1905 } 1906 1907 public static class GeckoSession.PromptDelegate.RedirectPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1908 ctor protected RedirectPrompt(@NonNull String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1909 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull AllowOrDeny); 1910 field @Nullable public final String targetUri; 1911 } 1912 1913 public static class GeckoSession.PromptDelegate.RepostConfirmPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1914 ctor protected RepostConfirmPrompt(@NonNull String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1915 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny); 1916 } 1917 1918 public static class GeckoSession.PromptDelegate.SharePrompt extends GeckoSession.PromptDelegate.BasePrompt { 1919 ctor protected SharePrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1920 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(int); 1921 field @Nullable public final String text; 1922 field @Nullable public final String uri; 1923 } 1924 1925 public static class GeckoSession.PromptDelegate.SharePrompt.Result { 1926 ctor protected Result(); 1927 field public static final int ABORT = 2; 1928 field public static final int FAILURE = 1; 1929 field public static final int SUCCESS = 0; 1930 } 1931 1932 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.PromptDelegate.SharePrompt.ShareResult { 1933 } 1934 1935 public static class GeckoSession.PromptDelegate.TextPrompt extends GeckoSession.PromptDelegate.BasePrompt { 1936 ctor protected TextPrompt(@NonNull String, @Nullable String, @Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.BasePrompt.Observer); 1937 method @NonNull @UiThread public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String); 1938 field @Nullable public final String defaultValue; 1939 field @Nullable public final String message; 1940 } 1941 1942 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.RestartReason { 1943 } 1944 1945 public static interface GeckoSession.ScrollDelegate { 1946 method @UiThread default public void onScrollChanged(@NonNull GeckoSession, int, int); 1947 } 1948 1949 public class GeckoSession.ScrollPositionUpdate { 1950 ctor public ScrollPositionUpdate(); 1951 field public static final int SOURCE_OTHER = 1; 1952 field public static final int SOURCE_USER_INTERACTION = 0; 1953 field public float scrollX; 1954 field public float scrollY; 1955 field public int source; 1956 field public float zoom; 1957 } 1958 1959 public static interface GeckoSession.SelectionActionDelegate { 1960 method @UiThread default public void onDismissClipboardPermissionRequest(@NonNull GeckoSession); 1961 method @UiThread default public void onHideAction(@NonNull GeckoSession, int); 1962 method @UiThread default public void onShowActionRequest(@NonNull GeckoSession, @NonNull GeckoSession.SelectionActionDelegate.Selection); 1963 method @Nullable @UiThread default public GeckoResult<AllowOrDeny> onShowClipboardPermissionRequest(@NonNull GeckoSession, @NonNull GeckoSession.SelectionActionDelegate.ClipboardPermission); 1964 field public static final String ACTION_COLLAPSE_TO_END = "org.mozilla.geckoview.COLLAPSE_TO_END"; 1965 field public static final String ACTION_COLLAPSE_TO_START = "org.mozilla.geckoview.COLLAPSE_TO_START"; 1966 field public static final String ACTION_COPY = "org.mozilla.geckoview.COPY"; 1967 field public static final String ACTION_CUT = "org.mozilla.geckoview.CUT"; 1968 field public static final String ACTION_DELETE = "org.mozilla.geckoview.DELETE"; 1969 field public static final String ACTION_HIDE = "org.mozilla.geckoview.HIDE"; 1970 field public static final String ACTION_PASTE = "org.mozilla.geckoview.PASTE"; 1971 field public static final String ACTION_PASTE_AS_PLAIN_TEXT = "org.mozilla.geckoview.PASTE_AS_PLAIN_TEXT"; 1972 field public static final String ACTION_SELECT_ALL = "org.mozilla.geckoview.SELECT_ALL"; 1973 field public static final String ACTION_UNSELECT = "org.mozilla.geckoview.UNSELECT"; 1974 field public static final int FLAG_IS_COLLAPSED = 1; 1975 field public static final int FLAG_IS_EDITABLE = 2; 1976 field public static final int FLAG_IS_PASSWORD = 4; 1977 field public static final int HIDE_REASON_ACTIVE_SCROLL = 3; 1978 field public static final int HIDE_REASON_ACTIVE_SELECTION = 2; 1979 field public static final int HIDE_REASON_INVISIBLE_SELECTION = 1; 1980 field public static final int HIDE_REASON_NO_SELECTION = 0; 1981 field public static final int PERMISSION_CLIPBOARD_READ = 1; 1982 } 1983 1984 public static class GeckoSession.SelectionActionDelegate.ClipboardPermission { 1985 ctor protected ClipboardPermission(); 1986 field @Nullable public final Point screenPoint; 1987 field public final int type; 1988 field @NonNull public final String uri; 1989 } 1990 1991 public static class GeckoSession.SelectionActionDelegate.Selection { 1992 ctor protected Selection(); 1993 method @AnyThread public void collapseToEnd(); 1994 method @AnyThread public void collapseToStart(); 1995 method @AnyThread public void copy(); 1996 method @AnyThread public void cut(); 1997 method @AnyThread public void delete(); 1998 method @AnyThread public void execute(@NonNull String); 1999 method @AnyThread public void hide(); 2000 method @AnyThread public boolean isActionAvailable(@NonNull String); 2001 method @AnyThread public void paste(); 2002 method @AnyThread public void pasteAsPlainText(); 2003 method @AnyThread public void selectAll(); 2004 method @AnyThread public void unselect(); 2005 field @NonNull public final Collection<String> availableActions; 2006 field public final int flags; 2007 field @Nullable public final RectF screenRect; 2008 field @NonNull public final String text; 2009 } 2010 2011 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateAction { 2012 } 2013 2014 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateFlag { 2015 } 2016 2017 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.SelectionActionDelegateHideReason { 2018 } 2019 2020 @AnyThread public static class GeckoSession.SessionState extends AbstractSequentialList<GeckoSession.HistoryDelegate.HistoryItem> implements Parcelable GeckoSession.HistoryDelegate.HistoryList { 2021 ctor public SessionState(@NonNull GeckoSession.SessionState); 2022 method @Nullable public static GeckoSession.SessionState fromString(@Nullable String); 2023 method public void readFromParcel(@NonNull Parcel); 2024 field public static final Parcelable.Creator<GeckoSession.SessionState> CREATOR; 2025 } 2026 2027 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.TargetWindow { 2028 } 2029 2030 public static interface GeckoSession.TextInputDelegate { 2031 method @UiThread default public void hideSoftInput(@NonNull GeckoSession); 2032 method @UiThread default public void restartInput(@NonNull GeckoSession, int); 2033 method @UiThread default public void showSoftInput(@NonNull GeckoSession); 2034 method @UiThread default public void updateCursorAnchorInfo(@NonNull GeckoSession, @NonNull CursorAnchorInfo); 2035 method @UiThread default public void updateExtractedText(@NonNull GeckoSession, @NonNull ExtractedTextRequest, @NonNull ExtractedText); 2036 method @UiThread default public void updateSelection(@NonNull GeckoSession, int, int, int, int); 2037 field public static final int RESTART_REASON_BLUR = 1; 2038 field public static final int RESTART_REASON_CONTENT_CHANGE = 2; 2039 field public static final int RESTART_REASON_FOCUS = 0; 2040 } 2041 2042 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSession.VisitFlags { 2043 } 2044 2045 @AnyThread public static class GeckoSession.WebResponseInfo { 2046 ctor protected WebResponseInfo(); 2047 field @Nullable public final long contentLength; 2048 field @Nullable public final String contentType; 2049 field @Nullable public final String filename; 2050 field @NonNull public final String uri; 2051 } 2052 2053 @AnyThread public final class GeckoSessionSettings implements Parcelable { 2054 ctor public GeckoSessionSettings(); 2055 ctor public GeckoSessionSettings(@NonNull GeckoSessionSettings); 2056 method public boolean getAllowJavascript(); 2057 method @Nullable public String getChromeUri(); 2058 method @Nullable public String getContextId(); 2059 method public int getDisplayMode(); 2060 method public boolean getFullAccessibilityTree(); 2061 method public int getScreenId(); 2062 method public boolean getSuspendMediaWhenInactive(); 2063 method public boolean getUsePrivateMode(); 2064 method public boolean getUseTrackingProtection(); 2065 method public int getUserAgentMode(); 2066 method @Nullable public String getUserAgentOverride(); 2067 method public int getViewportMode(); 2068 method public void readFromParcel(@NonNull Parcel); 2069 method public void setAllowJavascript(boolean); 2070 method public void setDisplayMode(int); 2071 method public void setFullAccessibilityTree(boolean); 2072 method public void setSuspendMediaWhenInactive(boolean); 2073 method public void setUseTrackingProtection(boolean); 2074 method public void setUserAgentMode(int); 2075 method public void setUserAgentOverride(@Nullable String); 2076 method public void setViewportMode(int); 2077 field public static final Parcelable.Creator<GeckoSessionSettings> CREATOR; 2078 field public static final int DISPLAY_MODE_BROWSER = 0; 2079 field public static final int DISPLAY_MODE_FULLSCREEN = 3; 2080 field public static final int DISPLAY_MODE_MINIMAL_UI = 1; 2081 field public static final int DISPLAY_MODE_STANDALONE = 2; 2082 field public static final int USER_AGENT_MODE_DESKTOP = 1; 2083 field public static final int USER_AGENT_MODE_MOBILE = 0; 2084 field public static final int USER_AGENT_MODE_VR = 2; 2085 field public static final int VIEWPORT_MODE_DESKTOP = 1; 2086 field public static final int VIEWPORT_MODE_MOBILE = 0; 2087 } 2088 2089 @AnyThread public static final class GeckoSessionSettings.Builder { 2090 ctor public Builder(); 2091 ctor public Builder(GeckoSessionSettings); 2092 method @NonNull public GeckoSessionSettings.Builder allowJavascript(boolean); 2093 method @NonNull public GeckoSessionSettings build(); 2094 method @NonNull public GeckoSessionSettings.Builder chromeUri(@NonNull String); 2095 method @NonNull public GeckoSessionSettings.Builder contextId(@Nullable String); 2096 method @NonNull public GeckoSessionSettings.Builder displayMode(int); 2097 method @NonNull public GeckoSessionSettings.Builder fullAccessibilityTree(boolean); 2098 method @NonNull public GeckoSessionSettings.Builder screenId(int); 2099 method @NonNull public GeckoSessionSettings.Builder suspendMediaWhenInactive(boolean); 2100 method @NonNull public GeckoSessionSettings.Builder usePrivateMode(boolean); 2101 method @NonNull public GeckoSessionSettings.Builder useTrackingProtection(boolean); 2102 method @NonNull public GeckoSessionSettings.Builder userAgentMode(int); 2103 method @NonNull public GeckoSessionSettings.Builder userAgentOverride(@NonNull String); 2104 method @NonNull public GeckoSessionSettings.Builder viewportMode(int); 2105 } 2106 2107 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSessionSettings.DisplayMode { 2108 } 2109 2110 public static class GeckoSessionSettings.Key<T> { 2111 } 2112 2113 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSessionSettings.UserAgentMode { 2114 } 2115 2116 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoSessionSettings.ViewportMode { 2117 } 2118 2119 public class GeckoVRManager { 2120 method @AnyThread public static synchronized void setExternalContext(long); 2121 } 2122 2123 @UiThread public class GeckoView extends FrameLayout implements GeckoDisplay.NewSurfaceProvider { 2124 ctor public GeckoView(Context); 2125 ctor public GeckoView(Context, AttributeSet); 2126 method @UiThread public void addWindowInsetsListener(@NonNull String, @Nullable OnApplyWindowInsetsListener); 2127 method @NonNull @UiThread public GeckoResult<Bitmap> capturePixels(); 2128 method public void coverUntilFirstPaint(int); 2129 method public void dispatchDraw(@Nullable Canvas); 2130 method @Nullable public GeckoView.ActivityContextDelegate getActivityContextDelegate(); 2131 method public boolean getAutofillEnabled(); 2132 method @NonNull public PanZoomController getPanZoomController(); 2133 method @Nullable public GeckoSession.PrintDelegate getPrintDelegate(); 2134 method public void getPrintDelegate(@Nullable GeckoSession.PrintDelegate); 2135 method @AnyThread @Nullable public GeckoSession getSession(); 2136 method public void onAttachedToWindow(); 2137 method public void onDetachedFromWindow(); 2138 method @NonNull public GeckoResult<PanZoomController.InputResultDetail> onTouchEventForDetailResult(@NonNull MotionEvent); 2139 method @Nullable @UiThread public GeckoSession releaseSession(); 2140 method @UiThread public void removeWindowInsetsListener(@NonNull String); 2141 method public void setActivityContextDelegate(@Nullable GeckoView.ActivityContextDelegate); 2142 method public void setAutofillEnabled(boolean); 2143 method public void setDynamicToolbarMaxHeight(int); 2144 method @UiThread public void setSession(@NonNull GeckoSession); 2145 method public void setVerticalClipping(int); 2146 method public void setViewBackend(int); 2147 method public boolean shouldPinOnScreen(); 2148 field public static final int BACKEND_SURFACE_VIEW = 1; 2149 field public static final int BACKEND_TEXTURE_VIEW = 2; 2150 field @NonNull protected final GeckoView.Display mDisplay; 2151 field @Nullable protected GeckoSession mSession; 2152 } 2153 2154 @AnyThread public static interface GeckoView.ActivityContextDelegate { 2155 method @Nullable public Context getActivityContext(); 2156 } 2157 2158 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoView.ViewBackend { 2159 } 2160 2161 public class GeckoViewPrintDocumentAdapter extends PrintDocumentAdapter { 2162 ctor public GeckoViewPrintDocumentAdapter(@NonNull InputStream, @NonNull Context); 2163 ctor public GeckoViewPrintDocumentAdapter(@NonNull InputStream, @NonNull Context, @Nullable GeckoResult<Boolean>); 2164 ctor public GeckoViewPrintDocumentAdapter(@NonNull File); 2165 method @AnyThread @Nullable public static File makeTempPdfFile(@NonNull InputStream, @NonNull Context); 2166 } 2167 2168 @AnyThread public class GeckoWebExecutor { 2169 ctor public GeckoWebExecutor(@NonNull GeckoRuntime); 2170 method @NonNull public GeckoResult<WebResponse> fetch(@NonNull WebRequest); 2171 method @NonNull public GeckoResult<WebResponse> fetch(@NonNull WebRequest, int); 2172 method @NonNull public GeckoResult<InetAddress[]> resolve(@NonNull String); 2173 method public void speculativeConnect(@NonNull String); 2174 field public static final int FETCH_FLAGS_ANONYMOUS = 1; 2175 field public static final int FETCH_FLAGS_NONE = 0; 2176 field public static final int FETCH_FLAGS_NO_REDIRECTS = 2; 2177 field public static final int FETCH_FLAGS_OHTTP = 2048; 2178 field public static final int FETCH_FLAGS_PRIVATE = 8; 2179 field public static final int FETCH_FLAGS_STREAM_FAILURE_TEST = 1024; 2180 } 2181 2182 @Retention(value=RetentionPolicy.SOURCE) public static interface GeckoWebExecutor.FetchFlags { 2183 } 2184 2185 @AnyThread public class Image { 2186 method @NonNull public GeckoResult<Bitmap> getBitmap(int); 2187 } 2188 2189 public static class Image.ImageProcessingException extends RuntimeException { 2190 ctor public ImageProcessingException(String); 2191 } 2192 2193 @UiThread public class MediaSession { 2194 ctor protected MediaSession(GeckoSession); 2195 method public boolean isActive(); 2196 method public void muteAudio(boolean); 2197 method public void nextTrack(); 2198 method public void pause(); 2199 method public void play(); 2200 method public void previousTrack(); 2201 method public void seekBackward(); 2202 method public void seekForward(); 2203 method public void seekTo(double, boolean); 2204 method public void skipAd(); 2205 method public void stop(); 2206 } 2207 2208 @UiThread public static interface MediaSession.Delegate { 2209 method default public void onActivated(@NonNull GeckoSession, @NonNull MediaSession); 2210 method default public void onDeactivated(@NonNull GeckoSession, @NonNull MediaSession); 2211 method default public void onFeatures(@NonNull GeckoSession, @NonNull MediaSession, long); 2212 method default public void onFullscreen(@NonNull GeckoSession, @NonNull MediaSession, boolean, @Nullable MediaSession.ElementMetadata); 2213 method default public void onMetadata(@NonNull GeckoSession, @NonNull MediaSession, @NonNull MediaSession.Metadata); 2214 method default public void onPause(@NonNull GeckoSession, @NonNull MediaSession); 2215 method default public void onPlay(@NonNull GeckoSession, @NonNull MediaSession); 2216 method default public void onPositionState(@NonNull GeckoSession, @NonNull MediaSession, @NonNull MediaSession.PositionState); 2217 method default public void onStop(@NonNull GeckoSession, @NonNull MediaSession); 2218 } 2219 2220 public static class MediaSession.ElementMetadata { 2221 ctor public ElementMetadata(@Nullable String, double, long, long, int, int); 2222 field public final int audioTrackCount; 2223 field public final double duration; 2224 field public final long height; 2225 field @Nullable public final String source; 2226 field public final int videoTrackCount; 2227 field public final long width; 2228 } 2229 2230 public static class MediaSession.Feature { 2231 ctor public Feature(); 2232 field public static final long FOCUS = 512L; 2233 field public static final long NEXT_TRACK = 128L; 2234 field public static final long NONE = 0L; 2235 field public static final long PAUSE = 2L; 2236 field public static final long PLAY = 1L; 2237 field public static final long PREVIOUS_TRACK = 256L; 2238 field public static final long SEEK_BACKWARD = 32L; 2239 field public static final long SEEK_FORWARD = 16L; 2240 field public static final long SEEK_TO = 8L; 2241 field public static final long SKIP_AD = 64L; 2242 field public static final long STOP = 4L; 2243 } 2244 2245 @Retention(value=RetentionPolicy.SOURCE) public static interface MediaSession.MSFeature { 2246 } 2247 2248 public static class MediaSession.Metadata { 2249 ctor protected Metadata(@Nullable String, @Nullable String, @Nullable String, @Nullable Image); 2250 field @Nullable public final String album; 2251 field @Nullable public final String artist; 2252 field @Nullable public final Image artwork; 2253 field @Nullable public final String title; 2254 } 2255 2256 public static class MediaSession.PositionState { 2257 ctor protected PositionState(double, double, double); 2258 field public final double duration; 2259 field public final double playbackRate; 2260 field public final double position; 2261 } 2262 2263 public class OrientationController { 2264 method @Nullable @UiThread public OrientationController.OrientationDelegate getDelegate(); 2265 method @UiThread public void setDelegate(@Nullable OrientationController.OrientationDelegate); 2266 } 2267 2268 @UiThread public static interface OrientationController.OrientationDelegate { 2269 method @Nullable default public GeckoResult<AllowOrDeny> onOrientationLock(@NonNull int); 2270 method @Nullable default public void onOrientationUnlock(); 2271 } 2272 2273 @UiThread public final class OverscrollEdgeEffect { 2274 method public void draw(@NonNull Canvas); 2275 method @Nullable public Runnable getInvalidationCallback(); 2276 method public void setInvalidationCallback(@Nullable Runnable); 2277 method public void setTheme(@NonNull Context); 2278 } 2279 2280 @UiThread public class PanZoomController { 2281 ctor protected PanZoomController(GeckoSession); 2282 method public float getScrollFactor(); 2283 method public boolean onDragEvent(@NonNull DragEvent); 2284 method public void onMotionEvent(@NonNull MotionEvent); 2285 method public void onMouseEvent(@NonNull MotionEvent); 2286 method public void onTouchEvent(@NonNull MotionEvent); 2287 method @NonNull public GeckoResult<PanZoomController.InputResultDetail> onTouchEventForDetailResult(@NonNull MotionEvent); 2288 method @UiThread public void scrollBy(@NonNull ScreenLength, @NonNull ScreenLength); 2289 method @UiThread public void scrollBy(@NonNull ScreenLength, @NonNull ScreenLength, int); 2290 method @UiThread public void scrollTo(@NonNull ScreenLength, @NonNull ScreenLength); 2291 method @UiThread public void scrollTo(@NonNull ScreenLength, @NonNull ScreenLength, int); 2292 method @UiThread public void scrollToBottom(); 2293 method @UiThread public void scrollToTop(); 2294 method public void setIsLongpressEnabled(boolean); 2295 method public void setScrollFactor(float); 2296 field public static final int INPUT_RESULT_HANDLED = 1; 2297 field public static final int INPUT_RESULT_HANDLED_CONTENT = 2; 2298 field public static final int INPUT_RESULT_IGNORED = 3; 2299 field public static final int INPUT_RESULT_UNHANDLED = 0; 2300 field public static final int OVERSCROLL_FLAG_HORIZONTAL = 1; 2301 field public static final int OVERSCROLL_FLAG_NONE = 0; 2302 field public static final int OVERSCROLL_FLAG_VERTICAL = 2; 2303 field public static final int SCROLLABLE_FLAG_BOTTOM = 4; 2304 field public static final int SCROLLABLE_FLAG_LEFT = 8; 2305 field public static final int SCROLLABLE_FLAG_NONE = 0; 2306 field public static final int SCROLLABLE_FLAG_RIGHT = 2; 2307 field public static final int SCROLLABLE_FLAG_TOP = 1; 2308 field public static final int SCROLL_BEHAVIOR_AUTO = 1; 2309 field public static final int SCROLL_BEHAVIOR_SMOOTH = 0; 2310 } 2311 2312 @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.InputResult { 2313 } 2314 2315 public static class PanZoomController.InputResultDetail { 2316 ctor protected InputResultDetail(int, int, int); 2317 method @AnyThread public int handledResult(); 2318 method @AnyThread public int overscrollDirections(); 2319 method @AnyThread public int scrollableDirections(); 2320 } 2321 2322 @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.OverscrollDirections { 2323 } 2324 2325 @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.ScrollBehaviorType { 2326 } 2327 2328 @Retention(value=RetentionPolicy.SOURCE) public static interface PanZoomController.ScrollableDirections { 2329 } 2330 2331 @UiThread public class ProfilerController { 2332 ctor public ProfilerController(); 2333 method public static void addMarker(@NonNull String, @Nullable Double, @Nullable Double, @Nullable String); 2334 method public static void addMarker(@NonNull String, @Nullable Double, @Nullable String); 2335 method public static void addMarker(@NonNull String, @Nullable Double); 2336 method public static void addMarker(@NonNull String, @Nullable String); 2337 method public static void addMarker(@NonNull String); 2338 method @Nullable public static Double getProfilerTime(); 2339 method public static boolean isProfilerActive(); 2340 method public static void startProfiler(@NonNull String[], @NonNull String[]); 2341 method @NonNull public static GeckoResult<byte[]> stopProfiler(); 2342 } 2343 2344 public abstract class RuntimeSettings implements Parcelable { 2345 ctor protected RuntimeSettings(); 2346 ctor protected RuntimeSettings(@Nullable RuntimeSettings); 2347 method @AnyThread public void readFromParcel(@NonNull Parcel); 2348 method @AnyThread protected void updatePrefs(@NonNull RuntimeSettings); 2349 } 2350 2351 public abstract static class RuntimeSettings.Builder<Settings extends RuntimeSettings> { 2352 ctor public Builder(); 2353 method @AnyThread @NonNull public Settings build(); 2354 method @AnyThread @NonNull protected Settings getSettings(); 2355 method @AnyThread @NonNull protected abstract Settings newSettings(@Nullable Settings); 2356 } 2357 2358 public class ScreenLength { 2359 method @AnyThread @NonNull public static ScreenLength bottom(); 2360 method @AnyThread @NonNull public static ScreenLength fromPixels(double); 2361 method @AnyThread @NonNull public static ScreenLength fromVisualViewportHeight(double); 2362 method @AnyThread @NonNull public static ScreenLength fromVisualViewportWidth(double); 2363 method @AnyThread public int getType(); 2364 method @AnyThread public double getValue(); 2365 method @AnyThread @NonNull public static ScreenLength top(); 2366 method @AnyThread @NonNull public static ScreenLength zero(); 2367 field public static final int DOCUMENT_HEIGHT = 4; 2368 field public static final int DOCUMENT_WIDTH = 3; 2369 field public static final int PIXEL = 0; 2370 field public static final int VISUAL_VIEWPORT_HEIGHT = 2; 2371 field public static final int VISUAL_VIEWPORT_WIDTH = 1; 2372 } 2373 2374 @Retention(value=RetentionPolicy.SOURCE) public static interface ScreenLength.ScreenLengthType { 2375 } 2376 2377 @UiThread public class SessionAccessibility { 2378 method @Nullable public View getView(); 2379 method public boolean onMotionEvent(@NonNull MotionEvent); 2380 method @UiThread public void setView(@Nullable View); 2381 } 2382 2383 @AnyThread public final class SessionFinder { 2384 method public void clear(); 2385 method @NonNull public GeckoResult<GeckoSession.FinderResult> find(@Nullable String, int); 2386 method public int getDisplayFlags(); 2387 method public void setDisplayFlags(int); 2388 } 2389 2390 @AnyThread public final class SessionPdfFileSaver { 2391 method @Nullable public static GeckoResult<WebResponse> createResponse(@NonNull GeckoSession, @NonNull String, @NonNull String, @NonNull String, boolean, boolean); 2392 method @NonNull public GeckoResult<WebResponse> save(); 2393 } 2394 2395 public final class SessionTextInput { 2396 method @NonNull @UiThread public GeckoSession.TextInputDelegate getDelegate(); 2397 method @AnyThread @NonNull public synchronized Handler getHandler(@NonNull Handler); 2398 method @Nullable @UiThread public View getView(); 2399 method @AnyThread @Nullable public synchronized InputConnection onCreateInputConnection(@NonNull EditorInfo); 2400 method @UiThread public boolean onKeyDown(int, @NonNull KeyEvent); 2401 method @UiThread public boolean onKeyLongPress(int, @NonNull KeyEvent); 2402 method @UiThread public boolean onKeyMultiple(int, int, @NonNull KeyEvent); 2403 method @UiThread public boolean onKeyPreIme(int, @NonNull KeyEvent); 2404 method @UiThread public boolean onKeyUp(int, @NonNull KeyEvent); 2405 method @UiThread public void setDelegate(@Nullable GeckoSession.TextInputDelegate); 2406 method @UiThread public synchronized void setView(@Nullable View); 2407 } 2408 2409 @AnyThread public final enum SlowScriptResponse { 2410 method public static SlowScriptResponse valueOf(String); 2411 method public static SlowScriptResponse[] values(); 2412 enum_constant public static final SlowScriptResponse CONTINUE; 2413 enum_constant public static final SlowScriptResponse STOP; 2414 } 2415 2416 public final class StorageController { 2417 ctor public StorageController(); 2418 method @AnyThread @NonNull public GeckoResult<Void> clearData(long); 2419 method @AnyThread public void clearDataForSessionContext(@NonNull String); 2420 method @AnyThread @NonNull public GeckoResult<Void> clearDataFromBaseDomain(@NonNull String, long); 2421 method @AnyThread @NonNull public GeckoResult<Void> clearDataFromHost(@NonNull String, long); 2422 method @AnyThread @NonNull public GeckoResult<List<GeckoSession.PermissionDelegate.ContentPermission>> getAllPermissions(); 2423 method @AnyThread @NonNull public GeckoResult<Integer> getCookieBannerModeForDomain(@NonNull String, boolean); 2424 method @AnyThread @NonNull public GeckoResult<List<GeckoSession.PermissionDelegate.ContentPermission>> getPermissions(@NonNull String); 2425 method @AnyThread @NonNull public GeckoResult<List<GeckoSession.PermissionDelegate.ContentPermission>> getPermissions(@NonNull String, boolean); 2426 method @AnyThread @NonNull public GeckoResult<List<GeckoSession.PermissionDelegate.ContentPermission>> getPermissions(@NonNull String, @Nullable String, boolean); 2427 method @AnyThread @NonNull public GeckoResult<Void> removeCookieBannerModeForDomain(@NonNull String, boolean); 2428 method @AnyThread @NonNull public GeckoResult<Void> setCookieBannerModeAndPersistInPrivateBrowsingForDomain(@NonNull String, int); 2429 method @AnyThread @NonNull public GeckoResult<Void> setCookieBannerModeForDomain(@NonNull String, int, boolean); 2430 method @AnyThread public void setPermission(@NonNull GeckoSession.PermissionDelegate.ContentPermission, int); 2431 method @AnyThread public void setPrivateBrowsingPermanentPermission(@NonNull GeckoSession.PermissionDelegate.ContentPermission, int); 2432 } 2433 2434 public static class StorageController.ClearFlags { 2435 ctor public ClearFlags(); 2436 field public static final long ALL = 512L; 2437 field public static final long ALL_CACHES = 6L; 2438 field public static final long AUTH_SESSIONS = 32L; 2439 field public static final long COOKIES = 1L; 2440 field public static final long DOM_STORAGES = 16L; 2441 field public static final long IMAGE_CACHE = 4L; 2442 field public static final long NETWORK_CACHE = 2L; 2443 field public static final long PERMISSIONS = 64L; 2444 field public static final long SITE_DATA = 471L; 2445 field public static final long SITE_SETTINGS = 192L; 2446 } 2447 2448 @Retention(value=RetentionPolicy.SOURCE) public static interface StorageController.StorageControllerClearFlags { 2449 } 2450 2451 public class TranslationsController { 2452 ctor public TranslationsController(); 2453 } 2454 2455 public static class TranslationsController.Language implements Comparable<TranslationsController.Language> { 2456 ctor public Language(@NonNull String, @Nullable String); 2457 method @AnyThread public int compareTo(@Nullable TranslationsController.Language); 2458 field @NonNull public final String code; 2459 field @Nullable public final String localizedDisplayName; 2460 } 2461 2462 public static class TranslationsController.RuntimeTranslation { 2463 ctor public RuntimeTranslation(); 2464 method @AnyThread @NonNull public static GeckoResult<Long> checkPairDownloadSize(@NonNull String, @NonNull String); 2465 method @AnyThread @NonNull public static GeckoResult<Long> checkPairDownloadSize(@NonNull TranslationsController.SessionTranslation.TranslationPair); 2466 method @AnyThread @NonNull public static GeckoResult<String> getLanguageSetting(@NonNull String); 2467 method @AnyThread @NonNull public static GeckoResult<Map<String,String>> getLanguageSettings(); 2468 method @AnyThread @NonNull public static GeckoResult<List<String>> getNeverTranslateSiteList(); 2469 method @AnyThread @NonNull public static GeckoResult<Boolean> isTranslationsEngineSupported(); 2470 method @AnyThread @NonNull public static GeckoResult<List<TranslationsController.RuntimeTranslation.LanguageModel>> listModelDownloadStates(); 2471 method @AnyThread @NonNull public static GeckoResult<TranslationsController.RuntimeTranslation.TranslationSupport> listSupportedLanguages(); 2472 method @AnyThread @NonNull public static GeckoResult<Void> manageLanguageModel(@NonNull TranslationsController.RuntimeTranslation.ModelManagementOptions); 2473 method @AnyThread @NonNull public static GeckoResult<List<String>> preferredLanguages(); 2474 method @AnyThread @NonNull public static GeckoResult<Void> setLanguageSettings(@NonNull String, @NonNull String); 2475 method @AnyThread @NonNull public static GeckoResult<Void> setNeverTranslateSpecifiedSite(@NonNull Boolean, @NonNull String); 2476 field public static final String ALL = "all"; 2477 field public static final String ALWAYS = "always"; 2478 field public static final String CACHE = "cache"; 2479 field public static final String DELETE = "delete"; 2480 field public static final String DOWNLOAD = "download"; 2481 field public static final String LANGUAGE = "language"; 2482 field public static final String NEVER = "never"; 2483 field public static final String OFFER = "offer"; 2484 } 2485 2486 public static class TranslationsController.RuntimeTranslation.LanguageModel { 2487 ctor public LanguageModel(@Nullable TranslationsController.Language, Boolean, long); 2488 field @NonNull public final Boolean isDownloaded; 2489 field @Nullable public final TranslationsController.Language language; 2490 field public final long size; 2491 } 2492 2493 @Retention(value=RetentionPolicy.SOURCE) public static interface TranslationsController.RuntimeTranslation.LanguageSetting { 2494 } 2495 2496 @AnyThread public static class TranslationsController.RuntimeTranslation.ModelManagementOptions { 2497 ctor protected ModelManagementOptions(@NonNull TranslationsController.RuntimeTranslation.ModelManagementOptions.Builder); 2498 field @Nullable public final String language; 2499 field @NonNull public final String operation; 2500 field @NonNull public final String operationLevel; 2501 } 2502 2503 @AnyThread public static class TranslationsController.RuntimeTranslation.ModelManagementOptions.Builder { 2504 ctor public Builder(); 2505 method @AnyThread @NonNull public TranslationsController.RuntimeTranslation.ModelManagementOptions build(); 2506 method @NonNull public TranslationsController.RuntimeTranslation.ModelManagementOptions.Builder languageToManage(@NonNull String); 2507 method @NonNull public TranslationsController.RuntimeTranslation.ModelManagementOptions.Builder operation(@NonNull String); 2508 method @NonNull public TranslationsController.RuntimeTranslation.ModelManagementOptions.Builder operationLevel(@NonNull String); 2509 } 2510 2511 @Retention(value=RetentionPolicy.SOURCE) public static interface TranslationsController.RuntimeTranslation.ModelOperation { 2512 } 2513 2514 @Retention(value=RetentionPolicy.SOURCE) public static interface TranslationsController.RuntimeTranslation.OperationLevel { 2515 } 2516 2517 public static class TranslationsController.RuntimeTranslation.TranslationSupport { 2518 ctor public TranslationSupport(@Nullable List<TranslationsController.Language>, @Nullable List<TranslationsController.Language>); 2519 field @Nullable public final List<TranslationsController.Language> fromLanguages; 2520 field @Nullable public final List<TranslationsController.Language> toLanguages; 2521 } 2522 2523 public static class TranslationsController.SessionTranslation { 2524 ctor public SessionTranslation(GeckoSession); 2525 method @AnyThread @NonNull public TranslationsController.SessionTranslation.Handler getHandler(); 2526 method @AnyThread @NonNull public GeckoResult<Boolean> getNeverTranslateSiteSetting(); 2527 method @AnyThread @NonNull public GeckoResult<Void> restoreOriginalPage(); 2528 method @AnyThread @NonNull public GeckoResult<Void> setNeverTranslateSiteSetting(@NonNull Boolean); 2529 method @AnyThread @NonNull public GeckoResult<Void> translate(@NonNull String, @NonNull String, @Nullable TranslationsController.SessionTranslation.TranslationOptions); 2530 method @AnyThread @NonNull public GeckoResult<Void> translate(@NonNull TranslationsController.SessionTranslation.TranslationPair, @Nullable TranslationsController.SessionTranslation.TranslationOptions); 2531 } 2532 2533 @AnyThread public static interface TranslationsController.SessionTranslation.Delegate { 2534 method default public void onExpectedTranslate(@NonNull GeckoSession); 2535 method default public void onOfferTranslate(@NonNull GeckoSession); 2536 method default public void onTranslationStateChange(@NonNull GeckoSession, @Nullable TranslationsController.SessionTranslation.TranslationState); 2537 } 2538 2539 public static class TranslationsController.SessionTranslation.DetectedLanguages { 2540 ctor public DetectedLanguages(@Nullable String, @NonNull Boolean, @Nullable String); 2541 field @Nullable public final String docLangTag; 2542 field @NonNull public final Boolean isDocLangTagSupported; 2543 field @Nullable public final String userLangTag; 2544 } 2545 2546 @AnyThread public static class TranslationsController.SessionTranslation.TranslationOptions { 2547 ctor protected TranslationOptions(@NonNull TranslationsController.SessionTranslation.TranslationOptions.Builder); 2548 field @NonNull public final boolean downloadModel; 2549 } 2550 2551 @AnyThread public static class TranslationsController.SessionTranslation.TranslationOptions.Builder { 2552 ctor public Builder(); 2553 method @AnyThread @NonNull public TranslationsController.SessionTranslation.TranslationOptions build(); 2554 method @NonNull public TranslationsController.SessionTranslation.TranslationOptions.Builder downloadModel(@NonNull boolean); 2555 } 2556 2557 public static class TranslationsController.SessionTranslation.TranslationPair { 2558 ctor public TranslationPair(@Nullable String, @Nullable String); 2559 field @Nullable public final String fromLanguage; 2560 field @Nullable public final String toLanguage; 2561 } 2562 2563 public static class TranslationsController.SessionTranslation.TranslationState { 2564 ctor public TranslationState(@Nullable TranslationsController.SessionTranslation.TranslationPair, @Nullable String, @Nullable TranslationsController.SessionTranslation.DetectedLanguages, @NonNull Boolean, @NonNull Boolean); 2565 field @Nullable public final TranslationsController.SessionTranslation.DetectedLanguages detectedLanguages; 2566 field @Nullable public final String error; 2567 field @NonNull public final Boolean hasVisibleChange; 2568 field @NonNull public final Boolean isEngineReady; 2569 field @Nullable public final TranslationsController.SessionTranslation.TranslationPair requestedTranslationPair; 2570 } 2571 2572 public static class TranslationsController.TranslationsException extends Exception { 2573 ctor public TranslationsException(int); 2574 field public static final int ERROR_COULD_NOT_LOAD_LANGUAGES = -5; 2575 field public static final int ERROR_COULD_NOT_RESTORE = -4; 2576 field public static final int ERROR_COULD_NOT_TRANSLATE = -3; 2577 field public static final int ERROR_ENGINE_NOT_SUPPORTED = -2; 2578 field public static final int ERROR_LANGUAGE_NOT_SUPPORTED = -6; 2579 field public static final int ERROR_MODEL_COULD_NOT_DELETE = -8; 2580 field public static final int ERROR_MODEL_COULD_NOT_DOWNLOAD = -9; 2581 field public static final int ERROR_MODEL_COULD_NOT_RETRIEVE = -7; 2582 field public static final int ERROR_MODEL_DOWNLOAD_REQUIRED = -11; 2583 field public static final int ERROR_MODEL_LANGUAGE_REQUIRED = -10; 2584 field public static final int ERROR_UNKNOWN = -1; 2585 field public final int code; 2586 } 2587 2588 @Retention(value=RetentionPolicy.SOURCE) public static interface TranslationsController.TranslationsException.Code { 2589 } 2590 2591 public class WebExtension { 2592 method @Nullable @UiThread public WebExtension.BrowsingDataDelegate getBrowsingDataDelegate(); 2593 method @Nullable @UiThread public WebExtension.DownloadDelegate getDownloadDelegate(); 2594 method @Nullable @UiThread public WebExtension.TabDelegate getTabDelegate(); 2595 method @AnyThread public void setActionDelegate(@Nullable WebExtension.ActionDelegate); 2596 method @UiThread public void setBrowsingDataDelegate(@Nullable WebExtension.BrowsingDataDelegate); 2597 method @UiThread public void setDownloadDelegate(@Nullable WebExtension.DownloadDelegate); 2598 method @UiThread public void setMessageDelegate(@Nullable WebExtension.MessageDelegate, @NonNull String); 2599 method @UiThread public void setTabDelegate(@Nullable WebExtension.TabDelegate); 2600 field public static final List<String> DATA_COLLECTION_PERMISSIONS; 2601 field public final long flags; 2602 field @NonNull public final String id; 2603 field public final boolean isBuiltIn; 2604 field @NonNull public final String location; 2605 field @NonNull public final WebExtension.MetaData metaData; 2606 } 2607 2608 @AnyThread public static class WebExtension.Action { 2609 ctor protected Action(); 2610 method @UiThread public void click(); 2611 method @NonNull public WebExtension.Action withDefault(@NonNull WebExtension.Action); 2612 field @Nullable public final Integer badgeBackgroundColor; 2613 field @Nullable public final String badgeText; 2614 field @Nullable public final Integer badgeTextColor; 2615 field @Nullable public final Boolean enabled; 2616 field @Nullable public final Image icon; 2617 field @Nullable public final String title; 2618 } 2619 2620 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Action.ActionType { 2621 } 2622 2623 public static interface WebExtension.ActionDelegate { 2624 method @UiThread default public void onBrowserAction(@NonNull WebExtension, @Nullable GeckoSession, @NonNull WebExtension.Action); 2625 method @Nullable @UiThread default public GeckoResult<GeckoSession> onOpenPopup(@NonNull WebExtension, @NonNull WebExtension.Action); 2626 method @UiThread default public void onPageAction(@NonNull WebExtension, @Nullable GeckoSession, @NonNull WebExtension.Action); 2627 method @Nullable @UiThread default public GeckoResult<GeckoSession> onTogglePopup(@NonNull WebExtension, @NonNull WebExtension.Action); 2628 } 2629 2630 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.BlocklistState { 2631 } 2632 2633 public static class WebExtension.BlocklistStateFlags { 2634 ctor public BlocklistStateFlags(); 2635 field public static final int BLOCKED = 2; 2636 field public static final int NOT_BLOCKED = 0; 2637 field public static final int OUTDATED = 3; 2638 field public static final int SOFTBLOCKED = 1; 2639 field public static final int VULNERABLE_NO_UPDATE = 5; 2640 field public static final int VULNERABLE_UPDATE_AVAILABLE = 4; 2641 } 2642 2643 @UiThread public static interface WebExtension.BrowsingDataDelegate { 2644 method @Nullable default public GeckoResult<Void> onClearDownloads(long); 2645 method @Nullable default public GeckoResult<Void> onClearFormData(long); 2646 method @Nullable default public GeckoResult<Void> onClearHistory(long); 2647 method @Nullable default public GeckoResult<Void> onClearPasswords(long); 2648 method @Nullable default public GeckoResult<WebExtension.BrowsingDataDelegate.Settings> onGetSettings(); 2649 } 2650 2651 @UiThread public static class WebExtension.BrowsingDataDelegate.Settings { 2652 ctor @UiThread public Settings(int, long, long); 2653 field public final long selectedTypes; 2654 field public final int sinceUnixTimestamp; 2655 field public final long toggleableTypes; 2656 } 2657 2658 public static class WebExtension.BrowsingDataDelegate.Type { 2659 ctor protected Type(); 2660 field public static final long CACHE = 1L; 2661 field public static final long COOKIES = 2L; 2662 field public static final long DOWNLOADS = 4L; 2663 field public static final long FORM_DATA = 8L; 2664 field public static final long HISTORY = 16L; 2665 field public static final long LOCAL_STORAGE = 32L; 2666 field public static final long PASSWORDS = 64L; 2667 } 2668 2669 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.BrowsingDataTypes { 2670 } 2671 2672 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.ContextFlags { 2673 } 2674 2675 public static class WebExtension.CreateTabDetails { 2676 ctor protected CreateTabDetails(); 2677 field @Nullable public final Boolean active; 2678 field @Nullable public final String cookieStoreId; 2679 field @Nullable public final Boolean discarded; 2680 field @Nullable public final Integer index; 2681 field @Nullable public final Boolean openInReaderMode; 2682 field @Nullable public final Boolean pinned; 2683 field @Nullable public final String url; 2684 } 2685 2686 public static class WebExtension.DisabledFlags { 2687 ctor public DisabledFlags(); 2688 field public static final int APP = 8; 2689 field public static final int APP_VERSION = 32; 2690 field public static final int BLOCKLIST = 4; 2691 field public static final int SIGNATURE = 16; 2692 field public static final int SOFT_BLOCKLIST = 64; 2693 field public static final int USER = 2; 2694 } 2695 2696 public static class WebExtension.Download { 2697 ctor protected Download(int); 2698 method @Nullable @UiThread public GeckoResult<Void> update(@NonNull WebExtension.Download.Info); 2699 field public static final int INTERRUPT_REASON_CRASH = 24; 2700 field public static final int INTERRUPT_REASON_FILE_ACCESS_DENIED = 2; 2701 field public static final int INTERRUPT_REASON_FILE_BLOCKED = 8; 2702 field public static final int INTERRUPT_REASON_FILE_FAILED = 1; 2703 field public static final int INTERRUPT_REASON_FILE_NAME_TOO_LONG = 4; 2704 field public static final int INTERRUPT_REASON_FILE_NO_SPACE = 3; 2705 field public static final int INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = 9; 2706 field public static final int INTERRUPT_REASON_FILE_TOO_LARGE = 5; 2707 field public static final int INTERRUPT_REASON_FILE_TOO_SHORT = 10; 2708 field public static final int INTERRUPT_REASON_FILE_TRANSIENT_ERROR = 7; 2709 field public static final int INTERRUPT_REASON_FILE_VIRUS_INFECTED = 6; 2710 field public static final int INTERRUPT_REASON_NETWORK_DISCONNECTED = 13; 2711 field public static final int INTERRUPT_REASON_NETWORK_FAILED = 11; 2712 field public static final int INTERRUPT_REASON_NETWORK_INVALID_REQUEST = 15; 2713 field public static final int INTERRUPT_REASON_NETWORK_SERVER_DOWN = 14; 2714 field public static final int INTERRUPT_REASON_NETWORK_TIMEOUT = 12; 2715 field public static final int INTERRUPT_REASON_NO_INTERRUPT = 0; 2716 field public static final int INTERRUPT_REASON_SERVER_BAD_CONTENT = 18; 2717 field public static final int INTERRUPT_REASON_SERVER_CERT_PROBLEM = 20; 2718 field public static final int INTERRUPT_REASON_SERVER_FAILED = 16; 2719 field public static final int INTERRUPT_REASON_SERVER_FORBIDDEN = 21; 2720 field public static final int INTERRUPT_REASON_SERVER_NO_RANGE = 17; 2721 field public static final int INTERRUPT_REASON_SERVER_UNAUTHORIZED = 19; 2722 field public static final int INTERRUPT_REASON_USER_CANCELED = 22; 2723 field public static final int INTERRUPT_REASON_USER_SHUTDOWN = 23; 2724 field public static final int STATE_COMPLETE = 2; 2725 field public static final int STATE_INTERRUPTED = 1; 2726 field public static final int STATE_IN_PROGRESS = 0; 2727 field public final int id; 2728 } 2729 2730 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Download.DownloadInterruptReason { 2731 } 2732 2733 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.Download.DownloadState { 2734 } 2735 2736 public static interface WebExtension.Download.Info { 2737 method @UiThread default public long bytesReceived(); 2738 method @UiThread default public boolean canResume(); 2739 method @Nullable @UiThread default public Long endTime(); 2740 method @Nullable @UiThread default public Integer error(); 2741 method @Nullable @UiThread default public Long estimatedEndTime(); 2742 method @UiThread default public boolean fileExists(); 2743 method @UiThread default public long fileSize(); 2744 method @NonNull @UiThread default public String filename(); 2745 method @NonNull @UiThread default public String mime(); 2746 method @UiThread default public boolean paused(); 2747 method @NonNull @UiThread default public String referrer(); 2748 method @UiThread default public long startTime(); 2749 method @UiThread default public int state(); 2750 method @UiThread default public long totalBytes(); 2751 } 2752 2753 public static interface WebExtension.DownloadDelegate { 2754 method @AnyThread @Nullable default public GeckoResult<WebExtension.DownloadInitData> onDownload(@NonNull WebExtension, @NonNull WebExtension.DownloadRequest); 2755 } 2756 2757 public static class WebExtension.DownloadInitData { 2758 ctor public DownloadInitData(WebExtension.Download, WebExtension.Download.Info); 2759 field @NonNull public final WebExtension.Download download; 2760 field @NonNull public final WebExtension.Download.Info initData; 2761 } 2762 2763 public static class WebExtension.DownloadRequest { 2764 ctor protected DownloadRequest(WebExtension.DownloadRequest.Builder); 2765 field public static final int CONFLICT_ACTION_OVERWRITE = 1; 2766 field public static final int CONFLICT_ACTION_PROMPT = 2; 2767 field public static final int CONFLICT_ACTION_UNIQUIFY = 0; 2768 field public final boolean allowHttpErrors; 2769 field public final int conflictActionFlag; 2770 field public final int downloadFlags; 2771 field @Nullable public final String filename; 2772 field @NonNull public final WebRequest request; 2773 field public final boolean saveAs; 2774 } 2775 2776 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.DownloadRequest.ConflictActionFlags { 2777 } 2778 2779 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.EnabledFlags { 2780 } 2781 2782 public static class WebExtension.Flags { 2783 ctor protected Flags(); 2784 field public static final long ALLOW_CONTENT_MESSAGING = 1L; 2785 field public static final long NONE = 0L; 2786 } 2787 2788 public static class WebExtension.InstallException extends Exception { 2789 ctor protected InstallException(); 2790 field public final int code; 2791 field @Nullable public final String extensionId; 2792 field @Nullable public final String extensionName; 2793 field @Nullable public final String extensionVersion; 2794 } 2795 2796 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.InstallException.Codes { 2797 } 2798 2799 public static class WebExtension.InstallException.ErrorCodes { 2800 ctor protected ErrorCodes(); 2801 field public static final int ERROR_ADMIN_INSTALL_ONLY = -13; 2802 field public static final int ERROR_BLOCKLISTED = -10; 2803 field public static final int ERROR_CORRUPT_FILE = -3; 2804 field public static final int ERROR_FILE_ACCESS = -4; 2805 field public static final int ERROR_INCOMPATIBLE = -11; 2806 field public static final int ERROR_INCORRECT_HASH = -2; 2807 field public static final int ERROR_INCORRECT_ID = -7; 2808 field public static final int ERROR_INVALID_DOMAIN = -8; 2809 field public static final int ERROR_NETWORK_FAILURE = -1; 2810 field public static final int ERROR_POSTPONED = -101; 2811 field public static final int ERROR_SIGNEDSTATE_REQUIRED = -5; 2812 field public static final int ERROR_SOFT_BLOCKED = -14; 2813 field public static final int ERROR_UNEXPECTED_ADDON_TYPE = -6; 2814 field public static final int ERROR_UNEXPECTED_ADDON_VERSION = -9; 2815 field public static final int ERROR_UNSUPPORTED_ADDON_TYPE = -12; 2816 field public static final int ERROR_USER_CANCELED = -100; 2817 } 2818 2819 public static class WebExtension.InvalidMetaDataException extends RuntimeException { 2820 ctor protected InvalidMetaDataException(); 2821 } 2822 2823 @UiThread public static interface WebExtension.MessageDelegate { 2824 method @Nullable default public void onConnect(@NonNull WebExtension.Port); 2825 method @Nullable default public GeckoResult<Object> onMessage(@NonNull String, @NonNull Object, @NonNull WebExtension.MessageSender); 2826 } 2827 2828 @UiThread public static class WebExtension.MessageSender { 2829 ctor protected MessageSender(); 2830 method public boolean isTopLevel(); 2831 field public static final int ENV_TYPE_CONTENT_SCRIPT = 2; 2832 field public static final int ENV_TYPE_EXTENSION = 1; 2833 field public final int environmentType; 2834 field @Nullable public final GeckoSession session; 2835 field @NonNull public final String url; 2836 field @NonNull public final WebExtension webExtension; 2837 } 2838 2839 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.MessageSender.EnvType { 2840 } 2841 2842 public class WebExtension.MetaData { 2843 ctor protected MetaData(); 2844 field public final boolean allowedInPrivateBrowsing; 2845 field @Nullable public final String amoListingUrl; 2846 field public final double averageRating; 2847 field @NonNull public final String baseUrl; 2848 field public final int blocklistState; 2849 field @Nullable public final String creatorName; 2850 field @Nullable public final String creatorUrl; 2851 field @Nullable public final String description; 2852 field public final int disabledFlags; 2853 field @Nullable public final String downloadUrl; 2854 field public final boolean enabled; 2855 field @Nullable public final String fullDescription; 2856 field @NonNull public final String[] grantedOptionalDataCollectionPermissions; 2857 field @NonNull public final String[] grantedOptionalOrigins; 2858 field @NonNull public final String[] grantedOptionalPermissions; 2859 field @Nullable public final String homepageUrl; 2860 field @NonNull public final Image icon; 2861 field @Nullable public final String incognito; 2862 field public final boolean isRecommended; 2863 field @Nullable public final String name; 2864 field public final boolean openOptionsPageInTab; 2865 field @NonNull public final String[] optionalDataCollectionPermissions; 2866 field @NonNull public final String[] optionalOrigins; 2867 field @NonNull public final String[] optionalPermissions; 2868 field @Nullable public final String optionsPageUrl; 2869 field @NonNull public final String[] requiredDataCollectionPermissions; 2870 field @NonNull public final String[] requiredOrigins; 2871 field @NonNull public final String[] requiredPermissions; 2872 field public final int reviewCount; 2873 field @Nullable public final String reviewUrl; 2874 field public final int signedState; 2875 field public final boolean temporary; 2876 field @Nullable public final String updateDate; 2877 field @NonNull public final String version; 2878 } 2879 2880 public static class WebExtension.PermissionPromptResponse { 2881 ctor public PermissionPromptResponse(Boolean, Boolean, Boolean); 2882 field @Nullable public final Boolean isPermissionsGranted; 2883 field @Nullable public final Boolean isPrivateModeGranted; 2884 field @Nullable public final Boolean isTechnicalAndInteractionDataGranted; 2885 } 2886 2887 @UiThread public static class WebExtension.Port { 2888 ctor protected Port(); 2889 method public void disconnect(); 2890 method public void postMessage(@NonNull JSONObject); 2891 method public void setDelegate(@Nullable WebExtension.PortDelegate); 2892 field @NonNull public final String name; 2893 field @NonNull public final WebExtension.MessageSender sender; 2894 } 2895 2896 @UiThread public static interface WebExtension.PortDelegate { 2897 method @NonNull default public void onDisconnect(@NonNull WebExtension.Port); 2898 method default public void onPortMessage(@NonNull Object, @NonNull WebExtension.Port); 2899 } 2900 2901 public static class WebExtension.SessionController { 2902 method @AnyThread @Nullable public WebExtension.ActionDelegate getActionDelegate(@NonNull WebExtension); 2903 method @AnyThread @Nullable public WebExtension.MessageDelegate getMessageDelegate(@NonNull WebExtension, @NonNull String); 2904 method @AnyThread @Nullable public WebExtension.SessionTabDelegate getTabDelegate(@NonNull WebExtension); 2905 method @AnyThread public void setActionDelegate(@NonNull WebExtension, @Nullable WebExtension.ActionDelegate); 2906 method @AnyThread public void setMessageDelegate(@NonNull WebExtension, @Nullable WebExtension.MessageDelegate, @NonNull String); 2907 method @AnyThread public void setTabDelegate(@NonNull WebExtension, @Nullable WebExtension.SessionTabDelegate); 2908 } 2909 2910 public static interface WebExtension.SessionTabDelegate { 2911 method @NonNull @UiThread default public GeckoResult<AllowOrDeny> onCloseTab(@Nullable WebExtension, @NonNull GeckoSession); 2912 method @NonNull @UiThread default public GeckoResult<AllowOrDeny> onUpdateTab(@NonNull WebExtension, @NonNull GeckoSession, @NonNull WebExtension.UpdateTabDetails); 2913 } 2914 2915 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.SignedState { 2916 } 2917 2918 public static class WebExtension.SignedStateFlags { 2919 ctor public SignedStateFlags(); 2920 field public static final int MISSING = 0; 2921 field public static final int PRELIMINARY = 1; 2922 field public static final int PRIVILEGED = 4; 2923 field public static final int SIGNED = 2; 2924 field public static final int SYSTEM = 3; 2925 field public static final int UNKNOWN = -1; 2926 } 2927 2928 public static interface WebExtension.TabDelegate { 2929 method @Nullable @UiThread default public GeckoResult<GeckoSession> onNewTab(@NonNull WebExtension, @NonNull WebExtension.CreateTabDetails); 2930 method @UiThread default public void onOpenOptionsPage(@NonNull WebExtension); 2931 } 2932 2933 public static class WebExtension.UpdateTabDetails { 2934 ctor protected UpdateTabDetails(); 2935 field @Nullable public final Boolean active; 2936 field @Nullable public final Boolean autoDiscardable; 2937 field @Nullable public final Boolean highlighted; 2938 field @Nullable public final Boolean muted; 2939 field @Nullable public final Boolean pinned; 2940 field @Nullable public final String url; 2941 } 2942 2943 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtension.WebExtensionFlags { 2944 } 2945 2946 public class WebExtensionController { 2947 method @AnyThread @NonNull public GeckoResult<WebExtension> addOptionalPermissions(@NonNull String, @NonNull String[], @NonNull String[], @NonNull String[]); 2948 method @Nullable @UiThread public WebExtension.Download createDownload(int); 2949 method @AnyThread @NonNull public GeckoResult<WebExtension> disable(@NonNull WebExtension, int); 2950 method @AnyThread public void disableExtensionProcessSpawning(); 2951 method @AnyThread @NonNull public GeckoResult<WebExtension> enable(@NonNull WebExtension, int); 2952 method @AnyThread public void enableExtensionProcessSpawning(); 2953 method @AnyThread @NonNull public GeckoResult<WebExtension> ensureBuiltIn(@NonNull String, @Nullable String); 2954 method @Nullable @UiThread public WebExtensionController.PromptDelegate getPromptDelegate(); 2955 method @AnyThread @NonNull public GeckoResult<WebExtension> install(@NonNull String, @Nullable String); 2956 method @AnyThread @NonNull public GeckoResult<WebExtension> install(@NonNull String); 2957 method @AnyThread @NonNull public GeckoResult<WebExtension> installBuiltIn(@NonNull String); 2958 method @AnyThread @NonNull public GeckoResult<List<WebExtension>> list(); 2959 method @AnyThread @NonNull public GeckoResult<WebExtension> removeOptionalPermissions(@NonNull String, @NonNull String[], @NonNull String[], @NonNull String[]); 2960 method @UiThread public void setAddonManagerDelegate(@Nullable WebExtensionController.AddonManagerDelegate); 2961 method @AnyThread @NonNull public GeckoResult<WebExtension> setAllowedInPrivateBrowsing(@NonNull WebExtension, boolean); 2962 method @UiThread public void setDebuggerDelegate(@NonNull WebExtensionController.DebuggerDelegate); 2963 method @UiThread public void setExtensionProcessDelegate(@Nullable WebExtensionController.ExtensionProcessDelegate); 2964 method @UiThread public void setPromptDelegate(@Nullable WebExtensionController.PromptDelegate); 2965 method @AnyThread public void setTabActive(@NonNull GeckoSession, boolean); 2966 method @AnyThread @NonNull public GeckoResult<Void> uninstall(@NonNull WebExtension); 2967 method @AnyThread @NonNull public GeckoResult<WebExtension> update(@NonNull WebExtension); 2968 field public static final String INSTALLATION_METHOD_FROM_FILE = "install-from-file"; 2969 field public static final String INSTALLATION_METHOD_MANAGER = "manager"; 2970 field public static final String INSTALLATION_METHOD_ONBOARDING = "onboarding"; 2971 } 2972 2973 public static interface WebExtensionController.AddonManagerDelegate { 2974 method @UiThread default public void onDisabled(@NonNull WebExtension); 2975 method @UiThread default public void onDisabling(@NonNull WebExtension); 2976 method @UiThread default public void onEnabled(@NonNull WebExtension); 2977 method @UiThread default public void onEnabling(@NonNull WebExtension); 2978 method @UiThread default public void onInstallationFailed(@Nullable WebExtension, @NonNull WebExtension.InstallException); 2979 method @UiThread default public void onInstalled(@NonNull WebExtension); 2980 method @UiThread default public void onInstalling(@NonNull WebExtension); 2981 method @UiThread default public void onOptionalPermissionsChanged(@NonNull WebExtension); 2982 method @UiThread default public void onReady(@NonNull WebExtension); 2983 method @UiThread default public void onUninstalled(@NonNull WebExtension); 2984 method @UiThread default public void onUninstalling(@NonNull WebExtension); 2985 } 2986 2987 public static interface WebExtensionController.DebuggerDelegate { 2988 method @UiThread default public void onExtensionListUpdated(); 2989 } 2990 2991 public static class WebExtensionController.EnableSource { 2992 ctor public EnableSource(); 2993 field public static final int APP = 2; 2994 field public static final int USER = 1; 2995 } 2996 2997 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtensionController.EnableSources { 2998 } 2999 3000 public static interface WebExtensionController.ExtensionProcessDelegate { 3001 method @UiThread default public void onDisabledProcessSpawning(); 3002 } 3003 3004 @Retention(value=RetentionPolicy.SOURCE) public static interface WebExtensionController.InstallationMethod { 3005 } 3006 3007 @UiThread public static interface WebExtensionController.PromptDelegate { 3008 method @Nullable default public GeckoResult<WebExtension.PermissionPromptResponse> onInstallPromptRequest(@NonNull WebExtension, @NonNull String[], @NonNull String[], @NonNull String[]); 3009 method @Nullable default public GeckoResult<AllowOrDeny> onOptionalPrompt(@NonNull WebExtension, @NonNull String[], @NonNull String[], @NonNull String[]); 3010 method @Nullable default public GeckoResult<AllowOrDeny> onUpdatePrompt(@NonNull WebExtension, @NonNull String[], @NonNull String[], @NonNull String[]); 3011 } 3012 3013 @AnyThread public abstract class WebMessage { 3014 ctor protected WebMessage(@NonNull WebMessage.Builder); 3015 field @NonNull public final Map<String,String> headers; 3016 field @NonNull public final String uri; 3017 } 3018 3019 @AnyThread public abstract static class WebMessage.Builder { 3020 method @NonNull public WebMessage.Builder addHeader(@NonNull String, @NonNull String); 3021 method @NonNull public WebMessage.Builder header(@NonNull String, @NonNull String); 3022 method @NonNull public WebMessage.Builder uri(@NonNull String); 3023 } 3024 3025 public class WebNotification implements Parcelable { 3026 method @UiThread public void click(); 3027 method @UiThread public void click(@NonNull String); 3028 method @UiThread public void dismiss(); 3029 method @UiThread public void show(); 3030 field public static final Parcelable.Creator<WebNotification> CREATOR; 3031 field @NonNull public final WebNotificationAction[] actions; 3032 field @Nullable public final String imageUrl; 3033 field @Nullable public final String lang; 3034 field @NonNull public final String origin; 3035 field public final boolean privateBrowsing; 3036 field public final boolean requireInteraction; 3037 field public final boolean silent; 3038 field @Nullable public final String source; 3039 field @NonNull public final String tag; 3040 field @Nullable public final String text; 3041 field @Nullable public final String textDirection; 3042 field @Nullable public final String title; 3043 field @NonNull public final int[] vibrate; 3044 } 3045 3046 public class WebNotificationAction implements Parcelable { 3047 ctor public WebNotificationAction(@NonNull String, @NonNull String); 3048 field public static final Parcelable.Creator<WebNotificationAction> CREATOR; 3049 field @NonNull public final String name; 3050 field @NonNull public final String title; 3051 } 3052 3053 public interface WebNotificationDelegate { 3054 method @AnyThread default public void onCloseNotification(@NonNull WebNotification); 3055 method @AnyThread default public void onShowNotification(@NonNull WebNotification); 3056 } 3057 3058 public class WebPushController { 3059 method @Nullable @UiThread public WebPushDelegate getDelegate(); 3060 method @UiThread public void onPushEvent(@NonNull String); 3061 method @UiThread public void onPushEvent(@NonNull String, @Nullable byte[]); 3062 method @UiThread public void onSubscriptionChanged(@NonNull String); 3063 method @UiThread public void setDelegate(@Nullable WebPushDelegate); 3064 } 3065 3066 public interface WebPushDelegate { 3067 method @Nullable @UiThread default public GeckoResult<WebPushSubscription> onGetSubscription(@NonNull String); 3068 method @Nullable @UiThread default public GeckoResult<WebPushSubscription> onSubscribe(@NonNull String, @Nullable byte[]); 3069 method @Nullable @UiThread default public GeckoResult<Void> onUnsubscribe(@NonNull String); 3070 } 3071 3072 public class WebPushSubscription implements Parcelable { 3073 ctor public WebPushSubscription(@NonNull String, @NonNull String, @Nullable byte[], @NonNull byte[], @NonNull byte[]); 3074 field public static final Parcelable.Creator<WebPushSubscription> CREATOR; 3075 field @Nullable public final byte[] appServerKey; 3076 field @NonNull public final byte[] authSecret; 3077 field @NonNull public final byte[] browserPublicKey; 3078 field @NonNull public final String endpoint; 3079 field @NonNull public final String scope; 3080 } 3081 3082 @AnyThread public class WebRequest extends WebMessage { 3083 ctor public WebRequest(@NonNull String); 3084 field public static final int CACHE_MODE_DEFAULT = 1; 3085 field public static final int CACHE_MODE_FORCE_CACHE = 5; 3086 field public static final int CACHE_MODE_NO_CACHE = 4; 3087 field public static final int CACHE_MODE_NO_STORE = 2; 3088 field public static final int CACHE_MODE_ONLY_IF_CACHED = 6; 3089 field public static final int CACHE_MODE_RELOAD = 3; 3090 field public final boolean beConservative; 3091 field @Nullable public final ByteBuffer body; 3092 field public final int cacheMode; 3093 field @NonNull public final String method; 3094 field @Nullable public final String referrer; 3095 } 3096 3097 @AnyThread public static class WebRequest.Builder extends WebMessage.Builder { 3098 ctor public Builder(@NonNull String); 3099 method @NonNull public WebRequest.Builder beConservative(boolean); 3100 method @NonNull public WebRequest.Builder body(@Nullable ByteBuffer); 3101 method @NonNull public WebRequest.Builder body(@Nullable String); 3102 method @NonNull public WebRequest build(); 3103 method @NonNull public WebRequest.Builder cacheMode(int); 3104 method @NonNull public WebRequest.Builder method(@NonNull String); 3105 method @NonNull public WebRequest.Builder referrer(@Nullable String); 3106 } 3107 3108 @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequest.CacheMode { 3109 } 3110 3111 @AnyThread public class WebRequestError extends Exception { 3112 ctor public WebRequestError(int, int); 3113 ctor public WebRequestError(int, int, X509Certificate); 3114 field public static final int ERROR_BAD_HSTS_CERT = 179; 3115 field public static final int ERROR_CATEGORY_CONTENT = 4; 3116 field public static final int ERROR_CATEGORY_NETWORK = 3; 3117 field public static final int ERROR_CATEGORY_PROXY = 6; 3118 field public static final int ERROR_CATEGORY_SAFEBROWSING = 7; 3119 field public static final int ERROR_CATEGORY_SECURITY = 2; 3120 field public static final int ERROR_CATEGORY_UNKNOWN = 1; 3121 field public static final int ERROR_CATEGORY_URI = 5; 3122 field public static final int ERROR_CONNECTION_REFUSED = 67; 3123 field public static final int ERROR_CONTENT_CRASHED = 68; 3124 field public static final int ERROR_CORRUPTED_CONTENT = 52; 3125 field public static final int ERROR_DATA_URI_TOO_LONG = 117; 3126 field public static final int ERROR_FILE_ACCESS_DENIED = 101; 3127 field public static final int ERROR_FILE_NOT_FOUND = 85; 3128 field public static final int ERROR_HARMFULADDON_URI = 103; 3129 field public static final int ERROR_HTTPS_ONLY = 163; 3130 field public static final int ERROR_INVALID_CONTENT_ENCODING = 84; 3131 field public static final int ERROR_MALFORMED_URI = 53; 3132 field public static final int ERROR_NET_INTERRUPT = 35; 3133 field public static final int ERROR_NET_RESET = 147; 3134 field public static final int ERROR_NET_TIMEOUT = 51; 3135 field public static final int ERROR_OFFLINE = 115; 3136 field public static final int ERROR_PORT_BLOCKED = 131; 3137 field public static final int ERROR_PROXY_CONNECTION_REFUSED = 38; 3138 field public static final int ERROR_REDIRECT_LOOP = 99; 3139 field public static final int ERROR_SAFEBROWSING_HARMFUL_URI = 71; 3140 field public static final int ERROR_SAFEBROWSING_MALWARE_URI = 39; 3141 field public static final int ERROR_SAFEBROWSING_PHISHING_URI = 87; 3142 field public static final int ERROR_SAFEBROWSING_UNWANTED_URI = 55; 3143 field public static final int ERROR_SECURITY_BAD_CERT = 50; 3144 field public static final int ERROR_SECURITY_SSL = 34; 3145 field public static final int ERROR_UNKNOWN = 17; 3146 field public static final int ERROR_UNKNOWN_HOST = 37; 3147 field public static final int ERROR_UNKNOWN_PROTOCOL = 69; 3148 field public static final int ERROR_UNKNOWN_PROXY_HOST = 54; 3149 field public static final int ERROR_UNKNOWN_SOCKET_TYPE = 83; 3150 field public static final int ERROR_UNSAFE_CONTENT_TYPE = 36; 3151 field public final int category; 3152 field @Nullable public final X509Certificate certificate; 3153 field public final int code; 3154 } 3155 3156 @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequestError.Error { 3157 } 3158 3159 @Retention(value=RetentionPolicy.SOURCE) public static interface WebRequestError.ErrorCategory { 3160 } 3161 3162 @AnyThread public class WebResponse extends WebMessage { 3163 ctor protected WebResponse(@NonNull WebResponse.Builder); 3164 method public void setReadTimeoutMillis(long); 3165 field public static final long DEFAULT_READ_TIMEOUT_MS = 30000L; 3166 field @Nullable public final InputStream body; 3167 field @Nullable public final X509Certificate certificate; 3168 field public final boolean isSecure; 3169 field public final boolean redirected; 3170 field @Nullable public final boolean requestExternalApp; 3171 field @Nullable public final boolean skipConfirmation; 3172 field public final int statusCode; 3173 } 3174 3175 @AnyThread public static class WebResponse.Builder extends WebMessage.Builder { 3176 ctor public Builder(@NonNull String); 3177 method @NonNull public WebResponse.Builder body(@NonNull InputStream); 3178 method @NonNull public WebResponse build(); 3179 method @NonNull public WebResponse.Builder certificate(@NonNull X509Certificate); 3180 method @NonNull public WebResponse.Builder isSecure(boolean); 3181 method @NonNull public WebResponse.Builder redirected(boolean); 3182 method @NonNull public WebResponse.Builder requestExternalApp(boolean); 3183 method @NonNull public WebResponse.Builder skipConfirmation(boolean); 3184 method @NonNull public WebResponse.Builder statusCode(int); 3185 } 3186 3187 }