api.txt 99.9 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.AnyThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.ActionMode;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.View;
import android.view.ViewStructure;
import android.view.autofill.AutofillValue;
import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
import android.widget.FrameLayout;
import java.io.File;
import java.io.InputStream;
import java.lang.Boolean;
import java.lang.CharSequence;
import java.lang.Class;
43
import java.lang.Deprecated;
44
import java.lang.Double;
45
46
47
import java.lang.Exception;
import java.lang.Float;
import java.lang.Integer;
48
import java.lang.Long;
49
50
51
52
53
54
55
56
import java.lang.Object;
import java.lang.Runnable;
import java.lang.RuntimeException;
import java.lang.String;
import java.lang.Throwable;
import java.lang.Void;
import java.net.InetAddress;
import java.nio.ByteBuffer;
57
import java.security.cert.X509Certificate;
58
import java.util.AbstractSequentialList;
59
import java.util.Collection;
60
61
62
63
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.mozilla.geckoview.AllowOrDeny;
64
import org.mozilla.geckoview.Autocomplete;
65
import org.mozilla.geckoview.Autofill;
66
67
import org.mozilla.geckoview.CompositorController;
import org.mozilla.geckoview.ContentBlocking;
68
import org.mozilla.geckoview.ContentBlockingController;
69
70
71
72
73
74
75
76
import org.mozilla.geckoview.GeckoDisplay;
import org.mozilla.geckoview.GeckoResult;
import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoRuntimeSettings;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoSessionSettings;
import org.mozilla.geckoview.GeckoView;
import org.mozilla.geckoview.MediaElement;
77
import org.mozilla.geckoview.MediaSession;
78
79
import org.mozilla.geckoview.OverscrollEdgeEffect;
import org.mozilla.geckoview.PanZoomController;
80
import org.mozilla.geckoview.ProfilerController;
81
82
83
84
85
86
import org.mozilla.geckoview.RuntimeSettings;
import org.mozilla.geckoview.RuntimeTelemetry;
import org.mozilla.geckoview.ScreenLength;
import org.mozilla.geckoview.SessionAccessibility;
import org.mozilla.geckoview.SessionFinder;
import org.mozilla.geckoview.SessionTextInput;
87
import org.mozilla.geckoview.SlowScriptResponse;
88
import org.mozilla.geckoview.StorageController;
89
import org.mozilla.geckoview.WebExtension;
90
import org.mozilla.geckoview.WebExtensionController;
91
import org.mozilla.geckoview.WebMessage;
92
93
import org.mozilla.geckoview.WebNotification;
import org.mozilla.geckoview.WebNotificationDelegate;
94
95
96
import org.mozilla.geckoview.WebPushController;
import org.mozilla.geckoview.WebPushDelegate;
import org.mozilla.geckoview.WebPushSubscription;
97
98
99
100
import org.mozilla.geckoview.WebRequest;
import org.mozilla.geckoview.WebRequestError;
import org.mozilla.geckoview.WebResponse;

101
102
package org.mozilla.geckoview {

103
104
105
106
107
  @AnyThread public final enum AllowOrDeny {
    method public static AllowOrDeny valueOf(String);
    method public static AllowOrDeny[] values();
    enum_constant public static final AllowOrDeny ALLOW;
    enum_constant public static final AllowOrDeny DENY;
108
109
  }

110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
  public class Autocomplete {
    ctor protected Autocomplete();
  }

  public static class Autocomplete.LoginEntry {
    ctor @AnyThread protected LoginEntry();
    field @Nullable public final String formActionOrigin;
    field @Nullable public final String guid;
    field @Nullable public final String httpRealm;
    field @NonNull public final String origin;
    field @NonNull public final String password;
    field @NonNull public final String username;
  }

  public static class Autocomplete.LoginEntry.Builder {
    ctor @AnyThread public Builder();
    method @AnyThread @NonNull public Autocomplete.LoginEntry build();
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder formActionOrigin(@Nullable String);
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder guid(@Nullable String);
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder httpRealm(@Nullable String);
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder origin(@NonNull String);
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder password(@NonNull String);
    method @AnyThread @NonNull public Autocomplete.LoginEntry.Builder username(@NonNull String);
  }

  public static class Autocomplete.LoginSaveOption extends Autocomplete.SaveOption {
    ctor public LoginSaveOption(@NonNull Autocomplete.LoginEntry);
  }

  public static class Autocomplete.LoginSaveOption.Hint {
    ctor protected Hint();
    field public static final int GENERATED = 1;
    field public static final int LOW_CONFIDENCE = 2;
    field public static final int NONE = 0;
  }

  public static class Autocomplete.LoginSelectOption extends Autocomplete.SelectOption {
    ctor public LoginSelectOption(@NonNull Autocomplete.LoginEntry);
  }

  public static class Autocomplete.LoginSelectOption.Hint {
    ctor public Hint();
    field public static final int DUPLICATE_USERNAME = 4;
    field public static final int GENERATED = 1;
    field public static final int INSECURE_FORM = 2;
    field public static final int MATCHING_ORIGIN = 8;
    field public static final int NONE = 0;
  }

  public static interface Autocomplete.LoginStorageDelegate {
    method @UiThread @Nullable default public GeckoResult<Autocomplete.LoginEntry[]> onLoginFetch(@NonNull String);
    method @UiThread default public void onLoginSave(@NonNull Autocomplete.LoginEntry);
    method @UiThread default public void onLoginUsed(@NonNull Autocomplete.LoginEntry, int);
  }

  public abstract static class Autocomplete.Option<T> {
    ctor public Option(@NonNull T, int);
    field public final int hint;
    field @NonNull public final T value;
  }

  public abstract static class Autocomplete.SaveOption<T> extends Autocomplete.Option {
    ctor public SaveOption(@NonNull T, int);
  }

  public abstract static class Autocomplete.SelectOption<T> extends Autocomplete.Option {
    ctor public SelectOption(@NonNull T, int);
  }

  public static class Autocomplete.UsedField {
    ctor protected UsedField();
    field public static final int PASSWORD = 1;
  }

184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
  public class Autofill {
    ctor public Autofill();
  }

  public static interface Autofill.Delegate {
    method @UiThread default public void onAutofill(@NonNull GeckoSession, int, @Nullable Autofill.Node);
  }

  public static final class Autofill.Hint {
    method @AnyThread @Nullable public static String toString(int);
    field public static final int EMAIL_ADDRESS = 0;
    field public static final int NONE = -1;
    field public static final int PASSWORD = 1;
    field public static final int URI = 2;
    field public static final int USERNAME = 3;
  }

  public static final class Autofill.InputType {
    method @AnyThread @Nullable public static String toString(int);
    field public static final int NONE = -1;
    field public static final int NUMBER = 1;
    field public static final int PHONE = 2;
    field public static final int TEXT = 0;
  }

  public static final class Autofill.Node {
    method @UiThread public void fillViewStructure(@NonNull View, @NonNull ViewStructure, int);
    method @AnyThread @Nullable public String getAttribute(@NonNull String);
    method @AnyThread @NonNull public Map<String,String> getAttributes();
    method @AnyThread @NonNull public Collection<Autofill.Node> getChildren();
    method @AnyThread @NonNull public Rect getDimensions();
    method @AnyThread @NonNull public String getDomain();
    method @AnyThread public boolean getEnabled();
    method @AnyThread public boolean getFocusable();
    method @AnyThread public boolean getFocused();
    method @AnyThread public int getHint();
    method @AnyThread public int getId();
    method @AnyThread public int getInputType();
    method @AnyThread @NonNull public String getTag();
    method @AnyThread @NonNull public String getValue();
    method @AnyThread public boolean getVisible();
  }

  public static final class Autofill.Notify {
    method @AnyThread @Nullable public static String toString(int);
    field public static final int NODE_ADDED = 3;
    field public static final int NODE_BLURRED = 7;
    field public static final int NODE_FOCUSED = 6;
    field public static final int NODE_REMOVED = 4;
    field public static final int NODE_UPDATED = 5;
    field public static final int SESSION_CANCELED = 2;
    field public static final int SESSION_COMMITTED = 1;
    field public static final int SESSION_STARTED = 0;
  }

  public static final class Autofill.Session {
    method @UiThread public void fillViewStructure(@NonNull View, @NonNull ViewStructure, int);
    method @AnyThread @NonNull public Rect getDefaultDimensions();
    method @AnyThread @NonNull public Autofill.Node getRoot();
243
244
  }

245
246
247
  @UiThread public class BasicSelectionActionDelegate implements ActionMode.Callback GeckoSession.SelectionActionDelegate {
    ctor public BasicSelectionActionDelegate(@NonNull Activity);
    ctor public BasicSelectionActionDelegate(@NonNull Activity, boolean);
248
    method public boolean areExternalActionsEnabled();
249
    method public void clearSelection();
250
    method public void enableExternalActions(boolean);
251
252
    method @Nullable public GeckoSession.SelectionActionDelegate.Selection getSelection();
    method public boolean isActionAvailable();
253
254
255
256
257
258
259
260
    method public void onGetContentRect(@Nullable ActionMode, @Nullable View, @NonNull Rect);
    method @NonNull protected String[] getAllActions();
    method protected boolean isActionAvailable(@NonNull String);
    method protected boolean performAction(@NonNull String, @NonNull MenuItem);
    method protected void prepareAction(@NonNull String, @NonNull MenuItem);
    field protected static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT";
    field @Nullable protected ActionMode mActionMode;
    field @NonNull protected final Activity mActivity;
261
    field protected boolean mRepopulatedMenu;
262
263
264
265
    field @Nullable protected GeckoSession.SelectionActionDelegate.Selection mSelection;
    field @Nullable protected GeckoSession mSession;
    field @NonNull protected final Matrix mTempMatrix;
    field @NonNull protected final RectF mTempRect;
266
267
268
    field protected final boolean mUseFloatingToolbar;
  }

269
270
  @UiThread public final class CompositorController {
    method public void addDrawCallback(@NonNull Runnable);
271
    method public int getClearColor();
272
273
    method @Nullable public Runnable getFirstPaintCallback();
    method public void removeDrawCallback(@NonNull Runnable);
274
    method public void setClearColor(int);
275
    method public void setFirstPaintCallback(@Nullable Runnable);
276
277
  }

278
  @AnyThread public class ContentBlocking {
279
    ctor public ContentBlocking();
280
281
282
283
284
285
286
287
288
289
  }

  public static class ContentBlocking.AntiTracking {
    ctor protected AntiTracking();
    field public static final int AD = 2;
    field public static final int ANALYTIC = 4;
    field public static final int CONTENT = 16;
    field public static final int CRYPTOMINING = 64;
    field public static final int DEFAULT = 46;
    field public static final int FINGERPRINTING = 128;
290
    field public static final int NONE = 0;
291
    field public static final int SOCIAL = 8;
292
    field public static final int STP = 256;
293
294
    field public static final int STRICT = 254;
    field public static final int TEST = 32;
295
296
297
  }

  public static class ContentBlocking.BlockEvent {
298
299
300
301
302
    ctor public BlockEvent(@NonNull String, int, int, int, boolean);
    method @UiThread public int getAntiTrackingCategory();
    method @UiThread public int getCookieBehaviorCategory();
    method @UiThread public int getSafeBrowsingCategory();
    method @UiThread public boolean isBlocking();
303
    field @NonNull public final String uri;
304
305
  }

306
307
308
309
  public static class ContentBlocking.CookieBehavior {
    ctor protected CookieBehavior();
    field public static final int ACCEPT_ALL = 0;
    field public static final int ACCEPT_FIRST_PARTY = 1;
310
    field public static final int ACCEPT_FIRST_PARTY_AND_ISOLATE_OTHERS = 5;
311
312
313
314
315
316
317
318
319
320
321
322
    field public static final int ACCEPT_NONE = 2;
    field public static final int ACCEPT_NON_TRACKERS = 4;
    field public static final int ACCEPT_VISITED = 3;
  }

  public static class ContentBlocking.CookieLifetime {
    ctor protected CookieLifetime();
    field public static final int DAYS = 3;
    field public static final int NORMAL = 0;
    field public static final int RUNTIME = 2;
  }

323
  public static interface ContentBlocking.Delegate {
324
    method @UiThread default public void onContentBlocked(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent);
325
326
327
    method @UiThread default public void onContentLoaded(@NonNull GeckoSession, @NonNull ContentBlocking.BlockEvent);
  }

328
329
330
331
332
333
334
  public static class ContentBlocking.EtpLevel {
    ctor public EtpLevel();
    field public static final int DEFAULT = 1;
    field public static final int NONE = 0;
    field public static final int STRICT = 2;
  }

335
336
337
338
339
340
341
342
  public static class ContentBlocking.SafeBrowsing {
    ctor protected SafeBrowsing();
    field public static final int DEFAULT = 15360;
    field public static final int HARMFUL = 4096;
    field public static final int MALWARE = 1024;
    field public static final int NONE = 0;
    field public static final int PHISHING = 8192;
    field public static final int UNWANTED = 2048;
343
344
  }

345
  @AnyThread public static class ContentBlocking.Settings extends RuntimeSettings {
346
    method public int getAntiTrackingCategories();
347
348
    method public int getCookieBehavior();
    method public int getCookieLifetime();
349
    method public boolean getCookiePurging();
350
    method public int getEnhancedTrackingProtectionLevel();
351
    method public int getSafeBrowsingCategories();
352
    method public boolean getStrictSocialTrackingProtection();
353
    method @NonNull public ContentBlocking.Settings setAntiTracking(int);
354
355
    method @NonNull public ContentBlocking.Settings setCookieBehavior(int);
    method @NonNull public ContentBlocking.Settings setCookieLifetime(int);
356
    method @NonNull public ContentBlocking.Settings setCookiePurging(boolean);
357
    method @NonNull public ContentBlocking.Settings setEnhancedTrackingProtectionLevel(int);
358
    method @NonNull public ContentBlocking.Settings setSafeBrowsing(int);
359
    method @NonNull public ContentBlocking.Settings setStrictSocialTrackingProtection(boolean);
360
    field public static final Parcelable.Creator<ContentBlocking.Settings> CREATOR;
361
362
  }

363
  @AnyThread public static class ContentBlocking.Settings.Builder extends RuntimeSettings.Builder {
364
    ctor public Builder();
365
    method @NonNull public ContentBlocking.Settings.Builder antiTracking(int);
366
367
    method @NonNull public ContentBlocking.Settings.Builder cookieBehavior(int);
    method @NonNull public ContentBlocking.Settings.Builder cookieLifetime(int);
368
    method @NonNull public ContentBlocking.Settings.Builder cookiePurging(boolean);
369
    method @NonNull public ContentBlocking.Settings.Builder enhancedTrackingProtectionLevel(int);
370
    method @NonNull public ContentBlocking.Settings.Builder safeBrowsing(int);
371
    method @NonNull public ContentBlocking.Settings.Builder strictSocialTrackingProtection(boolean);
372
    method @NonNull protected ContentBlocking.Settings newSettings(@Nullable ContentBlocking.Settings);
373
374
  }

375
376
377
378
379
  @AnyThread public class ContentBlockingController {
    ctor public ContentBlockingController();
    method @UiThread public void addException(@NonNull GeckoSession);
    method @UiThread @NonNull public GeckoResult<Boolean> checkException(@NonNull GeckoSession);
    method @UiThread public void clearExceptionList();
380
    method @UiThread @NonNull public GeckoResult<List<ContentBlockingController.LogEntry>> getLog(@NonNull GeckoSession);
381
    method @UiThread public void removeException(@NonNull GeckoSession);
382
383
384
385
386
387
388
389
390
391
    method @AnyThread public void removeException(@NonNull ContentBlockingController.ContentBlockingException);
    method @Deprecated @UiThread public void restoreExceptionList(@NonNull ContentBlockingController.ExceptionList);
    method @AnyThread public void restoreExceptionList(@NonNull List<ContentBlockingController.ContentBlockingException>);
    method @UiThread @NonNull public GeckoResult<List<ContentBlockingController.ContentBlockingException>> saveExceptionList();
  }

  @AnyThread public static class ContentBlockingController.ContentBlockingException {
    method @NonNull public static ContentBlockingController.ContentBlockingException fromJson(@NonNull JSONObject);
    method @NonNull public JSONObject toJson();
    field @NonNull public final String uri;
392
393
  }

394
395
396
397
398
399
400
401
402
403
  public static class ContentBlockingController.Event {
    ctor protected Event();
    field public static final int BLOCKED_CRYPTOMINING_CONTENT = 2048;
    field public static final int BLOCKED_FINGERPRINTING_CONTENT = 64;
    field public static final int BLOCKED_SOCIALTRACKING_CONTENT = 65536;
    field public static final int BLOCKED_TRACKING_CONTENT = 4096;
    field public static final int BLOCKED_UNSAFE_CONTENT = 16384;
    field public static final int COOKIES_BLOCKED_ALL = 1073741824;
    field public static final int COOKIES_BLOCKED_BY_PERMISSION = 268435456;
    field public static final int COOKIES_BLOCKED_FOREIGN = 128;
404
    field public static final int COOKIES_BLOCKED_SOCIALTRACKER = 16777216;
405
406
407
408
409
410
411
    field public static final int COOKIES_BLOCKED_TRACKER = 536870912;
    field public static final int COOKIES_LOADED = 32768;
    field public static final int COOKIES_LOADED_SOCIALTRACKER = 524288;
    field public static final int COOKIES_LOADED_TRACKER = 262144;
    field public static final int COOKIES_PARTITIONED_FOREIGN = -2147483648;
    field public static final int LOADED_CRYPTOMINING_CONTENT = 2097152;
    field public static final int LOADED_FINGERPRINTING_CONTENT = 1024;
412
413
    field public static final int LOADED_LEVEL_1_TRACKING_CONTENT = 8192;
    field public static final int LOADED_LEVEL_2_TRACKING_CONTENT = 1048576;
414
415
416
    field public static final int LOADED_SOCIALTRACKING_CONTENT = 131072;
  }

417
  @Deprecated @AnyThread public class ContentBlockingController.ExceptionList {
418
419
420
421
422
423
    ctor public ExceptionList(@NonNull String);
    ctor public ExceptionList(@NonNull JSONObject);
    method @NonNull public String[] getUris();
    method @NonNull public JSONObject toJson();
  }

424
425
426
427
428
429
430
431
432
433
434
435
436
  @AnyThread public static class ContentBlockingController.LogEntry {
    ctor protected LogEntry();
    field @NonNull public final List<ContentBlockingController.LogEntry.BlockingData> blockingData;
    field @NonNull public final String origin;
  }

  public static class ContentBlockingController.LogEntry.BlockingData {
    ctor protected BlockingData();
    field public final boolean blocked;
    field public final int category;
    field public final int count;
  }

437
438
  public class CrashReporter {
    ctor public CrashReporter();
439
440
    method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull Intent, @NonNull String);
    method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull Bundle, @NonNull String);
441
    method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull Context, @NonNull File, @NonNull File, @NonNull String);
442
    method @AnyThread @NonNull public static GeckoResult<String> sendCrashReport(@NonNull String, @NonNull File, @NonNull JSONObject);
443
444
445
  }

  public class GeckoDisplay {
446
447
    ctor protected GeckoDisplay(GeckoSession);
    method @UiThread @NonNull public GeckoResult<Bitmap> capturePixels();
448
    method @UiThread public void safeAreaInsetsChanged(int, int, int, int);
449
    method @UiThread public void screenOriginChanged(int, int);
450
    method @UiThread @NonNull public GeckoDisplay.ScreenshotBuilder screenshot();
451
    method @UiThread public void setDynamicToolbarMaxHeight(int);
452
    method @UiThread public void setVerticalClipping(int);
453
454
455
456
    method @UiThread public boolean shouldPinOnScreen();
    method @UiThread public void surfaceChanged(@NonNull Surface, int, int);
    method @UiThread public void surfaceChanged(@NonNull Surface, int, int, int, int);
    method @UiThread public void surfaceDestroyed();
457
458
  }

459
460
461
462
463
464
465
466
467
468
  public static final class GeckoDisplay.ScreenshotBuilder {
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder aspectPreservingSize(int);
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder bitmap(@Nullable Bitmap);
    method @UiThread @NonNull public GeckoResult<Bitmap> capture();
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder scale(float);
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder size(int, int);
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(int, int, int, int);
    method @AnyThread @NonNull public GeckoDisplay.ScreenshotBuilder source(@NonNull Rect);
  }

469
  @AnyThread public class GeckoResult<T> {
470
    ctor public GeckoResult();
471
472
    ctor public GeckoResult(Handler);
    ctor public GeckoResult(GeckoResult<T>);
473
474
    method @NonNull public GeckoResult<Void> accept(@Nullable GeckoResult.Consumer<T>);
    method @NonNull public GeckoResult<Void> accept(@Nullable GeckoResult.Consumer<T>, @Nullable GeckoResult.Consumer<Throwable>);
475
476
    method @NonNull public static <V> GeckoResult<List<V>> allOf(@NonNull GeckoResult<V>);
    method @NonNull public static <V> GeckoResult<List<V>> allOf(@Nullable List<GeckoResult<V>>);
477
    method @NonNull public synchronized GeckoResult<Boolean> cancel();
478
479
480
481
482
483
484
485
    method public synchronized void complete(@Nullable T);
    method public synchronized void completeExceptionally(@NonNull Throwable);
    method @NonNull public <U> GeckoResult<U> exceptionally(@NonNull GeckoResult.OnExceptionListener<U>);
    method @NonNull public static <T> GeckoResult<T> fromException(@NonNull Throwable);
    method @NonNull public static <U> GeckoResult<U> fromValue(@Nullable U);
    method @Nullable public Looper getLooper();
    method @Nullable public synchronized T poll();
    method @Nullable public synchronized T poll(long);
486
    method public void setCancellationDelegate(@Nullable GeckoResult.CancellationDelegate);
487
488
489
490
491
    method @NonNull public <U> GeckoResult<U> then(@NonNull GeckoResult.OnValueListener<T,U>);
    method @NonNull public <U> GeckoResult<U> then(@Nullable GeckoResult.OnValueListener<T,U>, @Nullable GeckoResult.OnExceptionListener<U>);
    method @NonNull public GeckoResult<T> withHandler(@Nullable Handler);
    field public static final GeckoResult<AllowOrDeny> ALLOW;
    field public static final GeckoResult<AllowOrDeny> DENY;
492
493
  }

494
495
496
497
  @AnyThread public static interface GeckoResult.CancellationDelegate {
    method @NonNull default public GeckoResult<Boolean> cancel();
  }

498
499
500
501
  public static interface GeckoResult.Consumer<T> {
    method @AnyThread public void accept(@Nullable T);
  }

502
  public static interface GeckoResult.OnExceptionListener<V> {
503
    method @AnyThread @Nullable public GeckoResult<V> onException(@NonNull Throwable);
504
505
506
  }

  public static interface GeckoResult.OnValueListener<T,U> {
507
    method @AnyThread @Nullable public GeckoResult<U> onValue(@Nullable T);
508
509
  }

510
511
  public static final class GeckoResult.UncaughtException extends RuntimeException {
    ctor public UncaughtException(Throwable);
512
513
  }

514
  public final class GeckoRuntime implements Parcelable {
515
    method @AnyThread public void appendAppNotesToCrashReport(@NonNull String);
516
517
518
519
    method @UiThread public void attachTo(@NonNull Context);
    method @UiThread public void configurationChanged(@NonNull Configuration);
    method @UiThread @NonNull public static GeckoRuntime create(@NonNull Context);
    method @UiThread @NonNull public static GeckoRuntime create(@NonNull Context, @NonNull GeckoRuntimeSettings);
520
    method @UiThread @NonNull public ContentBlockingController getContentBlockingController();
521
522
    method @UiThread @NonNull public static synchronized GeckoRuntime getDefault(@NonNull Context);
    method @UiThread @Nullable public GeckoRuntime.Delegate getDelegate();
523
    method @UiThread @Nullable public Autocomplete.LoginStorageDelegate getLoginStorageDelegate();
524
    method @UiThread @Nullable public File getProfileDir();
525
    method @UiThread @NonNull public ProfilerController getProfilerController();
526
    method @AnyThread @NonNull public GeckoRuntimeSettings getSettings();
527
    method @UiThread @NonNull public StorageController getStorageController();
528
    method @UiThread @NonNull public WebExtensionController getWebExtensionController();
529
    method @UiThread @Nullable public WebNotificationDelegate getWebNotificationDelegate();
530
    method @UiThread @NonNull public WebPushController getWebPushController();
531
532
533
534
    method @UiThread public void orientationChanged();
    method @UiThread public void orientationChanged(int);
    method @AnyThread public void readFromParcel(@NonNull Parcel);
    method @UiThread public void setDelegate(@Nullable GeckoRuntime.Delegate);
535
    method @UiThread public void setLoginStorageDelegate(@Nullable Autocomplete.LoginStorageDelegate);
536
    method @UiThread public void setServiceWorkerDelegate(@Nullable GeckoRuntime.ServiceWorkerDelegate);
537
    method @UiThread public void setWebNotificationDelegate(@Nullable WebNotificationDelegate);
538
539
540
541
542
543
    method @AnyThread public void shutdown();
    field public static final String ACTION_CRASHED = "org.mozilla.gecko.ACTION_CRASHED";
    field public static final Parcelable.Creator<GeckoRuntime> CREATOR;
    field public static final String EXTRA_CRASH_FATAL = "fatal";
    field public static final String EXTRA_EXTRAS_PATH = "extrasPath";
    field public static final String EXTRA_MINIDUMP_PATH = "minidumpPath";
544
545
546
  }

  public static interface GeckoRuntime.Delegate {
547
    method @UiThread public void onShutdown();
548
549
  }

550
551
552
553
  @UiThread public static interface GeckoRuntime.ServiceWorkerDelegate {
    method @UiThread @NonNull public GeckoResult<GeckoSession> onOpenWindow(@NonNull String);
  }

554
  @AnyThread public final class GeckoRuntimeSettings extends RuntimeSettings {
555
    method public boolean getAboutConfigEnabled();
556
    method @NonNull public String[] getArguments();
557
    method public boolean getAutomaticFontSizeAdjustment();
558
    method @Nullable public String getConfigFilePath();
559
    method public boolean getConsoleOutputEnabled();
560
561
562
563
    method @NonNull public ContentBlocking.Settings getContentBlocking();
    method @Nullable public Class<?> getCrashHandler();
    method @Nullable public Float getDisplayDensityOverride();
    method @Nullable public Integer getDisplayDpiOverride();
564
    method public boolean getDoubleTapZoomingEnabled();
565
    method @NonNull public Bundle getExtras();
566
567
    method public boolean getFontInflationEnabled();
    method public float getFontSizeFactor();
568
    method public boolean getForceUserScalableEnabled();
569
570
    method public int getGlMsaaLevel();
    method public boolean getInputAutoZoomEnabled();
571
    method public boolean getJavaScriptEnabled();
572
    method @Nullable public String[] getLocales();
573
    method public boolean getLoginAutofillEnabled();
574
    method public boolean getPauseForDebuggerEnabled();
575
    method public int getPreferredColorScheme();
576
    method public boolean getRemoteDebuggingEnabled();
577
578
    method @Nullable public GeckoRuntime getRuntime();
    method @Nullable public Rect getScreenSizeOverride();
579
    method @Nullable public RuntimeTelemetry.Delegate getTelemetryDelegate();
580
    method public int getTorSecurityLevel();
581
    method public boolean getUseMaxScreenDepth();
582
    method @Deprecated public boolean getUseMultiprocess();
583
    method public boolean getWebFontsEnabled();
584
    method public boolean getWebManifestEnabled();
585
    method @NonNull public GeckoRuntimeSettings setAboutConfigEnabled(boolean);
586
587
    method @NonNull public GeckoRuntimeSettings setAutomaticFontSizeAdjustment(boolean);
    method @NonNull public GeckoRuntimeSettings setConsoleOutputEnabled(boolean);
588
    method @NonNull public GeckoRuntimeSettings setDoubleTapZoomingEnabled(boolean);
589
590
    method @NonNull public GeckoRuntimeSettings setFontInflationEnabled(boolean);
    method @NonNull public GeckoRuntimeSettings setFontSizeFactor(float);
591
    method @NonNull public GeckoRuntimeSettings setForceUserScalableEnabled(boolean);
592
593
    method @NonNull public GeckoRuntimeSettings setGlMsaaLevel(int);
    method @NonNull public GeckoRuntimeSettings setInputAutoZoomEnabled(boolean);
594
595
    method @NonNull public GeckoRuntimeSettings setJavaScriptEnabled(boolean);
    method public void setLocales(@Nullable String[]);
596
    method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean);
597
598
    method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int);
    method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean);
599
    method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int);
600
    method @NonNull public GeckoRuntimeSettings setWebFontsEnabled(boolean);
601
    method @NonNull public GeckoRuntimeSettings setWebManifestEnabled(boolean);
602
603
604
    field public static final int COLOR_SCHEME_DARK = 1;
    field public static final int COLOR_SCHEME_LIGHT = 0;
    field public static final int COLOR_SCHEME_SYSTEM = -1;
605
    field public static final Parcelable.Creator<GeckoRuntimeSettings> CREATOR;
606
607
  }

608
  @AnyThread public static final class GeckoRuntimeSettings.Builder extends RuntimeSettings.Builder {
609
    ctor public Builder();
610
    method @NonNull public GeckoRuntimeSettings.Builder aboutConfigEnabled(boolean);
611
612
    method @NonNull public GeckoRuntimeSettings.Builder arguments(@NonNull String[]);
    method @NonNull public GeckoRuntimeSettings.Builder automaticFontSizeAdjustment(boolean);
613
    method @NonNull public GeckoRuntimeSettings.Builder configFilePath(@Nullable String);
614
615
616
    method @NonNull public GeckoRuntimeSettings.Builder consoleOutput(boolean);
    method @NonNull public GeckoRuntimeSettings.Builder contentBlocking(@NonNull ContentBlocking.Settings);
    method @NonNull public GeckoRuntimeSettings.Builder crashHandler(@Nullable Class<?>);
617
    method @NonNull public GeckoRuntimeSettings.Builder debugLogging(boolean);
618
619
    method @NonNull public GeckoRuntimeSettings.Builder displayDensityOverride(float);
    method @NonNull public GeckoRuntimeSettings.Builder displayDpiOverride(int);
620
    method @NonNull public GeckoRuntimeSettings.Builder doubleTapZoomingEnabled(boolean);
621
622
623
    method @NonNull public GeckoRuntimeSettings.Builder extras(@NonNull Bundle);
    method @NonNull public GeckoRuntimeSettings.Builder fontInflation(boolean);
    method @NonNull public GeckoRuntimeSettings.Builder fontSizeFactor(float);
624
    method @NonNull public GeckoRuntimeSettings.Builder forceUserScalableEnabled(boolean);
625
626
    method @NonNull public GeckoRuntimeSettings.Builder glMsaaLevel(int);
    method @NonNull public GeckoRuntimeSettings.Builder inputAutoZoomEnabled(boolean);
627
628
    method @NonNull public GeckoRuntimeSettings.Builder javaScriptEnabled(boolean);
    method @NonNull public GeckoRuntimeSettings.Builder locales(@Nullable String[]);
629
    method @NonNull public GeckoRuntimeSettings.Builder loginAutofillEnabled(boolean);
630
631
632
633
    method @NonNull public GeckoRuntimeSettings.Builder pauseForDebugger(boolean);
    method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int);
    method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean);
    method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int);
634
    method @NonNull public GeckoRuntimeSettings.Builder telemetryDelegate(@NonNull RuntimeTelemetry.Delegate);
635
    method @NonNull public GeckoRuntimeSettings.Builder torSecurityLevel(int);
636
    method @NonNull public GeckoRuntimeSettings.Builder useMaxScreenDepth(boolean);
637
    method @Deprecated @NonNull public GeckoRuntimeSettings.Builder useMultiprocess(boolean);
638
    method @NonNull public GeckoRuntimeSettings.Builder webFontsEnabled(boolean);
639
    method @NonNull public GeckoRuntimeSettings.Builder webManifest(boolean);
640
641
642
643
    method @NonNull protected GeckoRuntimeSettings newSettings(@Nullable GeckoRuntimeSettings);
  }

  public class GeckoSession implements Parcelable {
644
    ctor public GeckoSession();
645
646
    ctor public GeckoSession(@Nullable GeckoSessionSettings);
    method @UiThread @NonNull public GeckoDisplay acquireDisplay();
647
    method @UiThread public void autofill(@NonNull SparseArray<CharSequence>);
648
649
650
651
652
    method @UiThread public void close();
    method @AnyThread @NonNull public static String createDataUri(@NonNull byte[], @Nullable String);
    method @AnyThread @NonNull public static String createDataUri(@NonNull String, @Nullable String);
    method @AnyThread public void exitFullScreen();
    method @UiThread @NonNull public SessionAccessibility getAccessibility();
653
654
    method @UiThread @Nullable public Autofill.Delegate getAutofillDelegate();
    method @UiThread @NonNull public Autofill.Session getAutofillSession();
655
656
657
658
659
660
661
662
663
664
    method @UiThread public void getClientBounds(@NonNull RectF);
    method @UiThread public void getClientToScreenMatrix(@NonNull Matrix);
    method @UiThread public void getClientToSurfaceMatrix(@NonNull Matrix);
    method @UiThread @NonNull public CompositorController getCompositorController();
    method @AnyThread @Nullable public ContentBlocking.Delegate getContentBlockingDelegate();
    method @UiThread @Nullable public GeckoSession.ContentDelegate getContentDelegate();
    method @AnyThread @NonNull public static String getDefaultUserAgent();
    method @AnyThread @NonNull public SessionFinder getFinder();
    method @AnyThread @Nullable public GeckoSession.HistoryDelegate getHistoryDelegate();
    method @AnyThread @Nullable public GeckoSession.MediaDelegate getMediaDelegate();
665
    method @AnyThread @Nullable public MediaSession.Delegate getMediaSessionDelegate();
666
667
668
669
670
671
672
673
674
675
676
677
678
679
    method @UiThread @Nullable public GeckoSession.NavigationDelegate getNavigationDelegate();
    method @UiThread @NonNull public OverscrollEdgeEffect getOverscrollEdgeEffect();
    method @UiThread public void getPageToScreenMatrix(@NonNull Matrix);
    method @UiThread public void getPageToSurfaceMatrix(@NonNull Matrix);
    method @UiThread @NonNull public PanZoomController getPanZoomController();
    method @UiThread @Nullable public GeckoSession.PermissionDelegate getPermissionDelegate();
    method @UiThread @Nullable public GeckoSession.ProgressDelegate getProgressDelegate();
    method @AnyThread @Nullable public GeckoSession.PromptDelegate getPromptDelegate();
    method @UiThread @Nullable public GeckoSession.ScrollDelegate getScrollDelegate();
    method @AnyThread @Nullable public GeckoSession.SelectionActionDelegate getSelectionActionDelegate();
    method @AnyThread @NonNull public GeckoSessionSettings getSettings();
    method @UiThread public void getSurfaceBounds(@NonNull Rect);
    method @AnyThread @NonNull public SessionTextInput getTextInput();
    method @AnyThread @NonNull public GeckoResult<String> getUserAgent();
680
    method @UiThread @NonNull public WebExtension.SessionController getWebExtensionController();
681
682
    method @AnyThread public void goBack();
    method @AnyThread public void goForward();
683
    method @AnyThread public void gotoHistoryIndex(int);
684
685
686
687
    method @AnyThread public boolean isOpen();
    method @AnyThread public void loadData(@NonNull byte[], @Nullable String);
    method @AnyThread public void loadString(@NonNull String, @Nullable String);
    method @AnyThread public void loadUri(@NonNull String);
688
    method @AnyThread public void loadUri(@NonNull String, @Nullable Map<String,String>);
689
690
    method @AnyThread public void loadUri(@NonNull String, int);
    method @AnyThread public void loadUri(@NonNull String, @Nullable String, int);
691
    method @AnyThread public void loadUri(@NonNull String, @Nullable String, int, @Nullable Map<String,String>);
692
    method @AnyThread public void loadUri(@NonNull String, @Nullable GeckoSession, int);
693
    method @AnyThread public void loadUri(@NonNull String, @Nullable GeckoSession, int, @Nullable Map<String,String>);
694
    method @AnyThread public void loadUri(@NonNull Uri);
695
    method @AnyThread public void loadUri(@NonNull Uri, @Nullable Map<String,String>);
696
697
    method @AnyThread public void loadUri(@NonNull Uri, int);
    method @AnyThread public void loadUri(@NonNull Uri, @Nullable Uri, int);
698
    method @AnyThread public void loadUri(@NonNull Uri, @Nullable Uri, int, @Nullable Map<String,String>);
699
    method @UiThread public void open(@NonNull GeckoRuntime);
700
    method @AnyThread public void purgeHistory();
701
    method @Deprecated @AnyThread public void readFromParcel(@NonNull Parcel);
702
703
    method @UiThread public void releaseDisplay(@NonNull GeckoDisplay);
    method @AnyThread public void reload();
704
    method @AnyThread public void reload(int);
705
706
    method @AnyThread public void restoreState(@NonNull GeckoSession.SessionState);
    method @AnyThread public void setActive(boolean);
707
    method @UiThread public void setAutofillDelegate(@Nullable Autofill.Delegate);
708
709
710
711
712
    method @AnyThread public void setContentBlockingDelegate(@Nullable ContentBlocking.Delegate);
    method @UiThread public void setContentDelegate(@Nullable GeckoSession.ContentDelegate);
    method @AnyThread public void setFocused(boolean);
    method @AnyThread public void setHistoryDelegate(@Nullable GeckoSession.HistoryDelegate);
    method @AnyThread public void setMediaDelegate(@Nullable GeckoSession.MediaDelegate);
713
    method @AnyThread public void setMediaSessionDelegate(@Nullable MediaSession.Delegate);
714
715
716
717
718
719
720
721
    method @UiThread public void setNavigationDelegate(@Nullable GeckoSession.NavigationDelegate);
    method @UiThread public void setPermissionDelegate(@Nullable GeckoSession.PermissionDelegate);
    method @UiThread public void setProgressDelegate(@Nullable GeckoSession.ProgressDelegate);
    method @AnyThread public void setPromptDelegate(@Nullable GeckoSession.PromptDelegate);
    method @UiThread public void setScrollDelegate(@Nullable GeckoSession.ScrollDelegate);
    method @UiThread public void setSelectionActionDelegate(@Nullable GeckoSession.SelectionActionDelegate);
    method @AnyThread public void stop();
    method @UiThread protected void setShouldPinOnScreen(boolean);
722
    field @Deprecated public static final Parcelable.Creator<GeckoSession> CREATOR;
723
724
725
726
727
728
729
730
731
    field public static final int FINDER_DISPLAY_DIM_PAGE = 2;
    field public static final int FINDER_DISPLAY_DRAW_LINK_OUTLINE = 4;
    field public static final int FINDER_DISPLAY_HIGHLIGHT_ALL = 1;
    field public static final int FINDER_FIND_BACKWARDS = 1;
    field public static final int FINDER_FIND_LINKS_ONLY = 8;
    field public static final int FINDER_FIND_MATCH_CASE = 2;
    field public static final int FINDER_FIND_WHOLE_WORD = 4;
    field public static final int LOAD_FLAGS_ALLOW_POPUPS = 8;
    field public static final int LOAD_FLAGS_BYPASS_CACHE = 1;
732
    field public static final int LOAD_FLAGS_BYPASS_CLASSIFIER = 16;
733
734
    field public static final int LOAD_FLAGS_BYPASS_PROXY = 2;
    field public static final int LOAD_FLAGS_EXTERNAL = 4;
735
    field public static final int LOAD_FLAGS_FORCE_ALLOW_DATA_URI = 32;
736
    field public static final int LOAD_FLAGS_NONE = 0;
737
    field public static final int LOAD_FLAGS_REPLACE_HISTORY = 64;
738
    field @Nullable protected GeckoSession.Window mWindow;
739
740
741
  }

  public static interface GeckoSession.ContentDelegate {
742
743
744
745
746
    method @UiThread default public void onCloseRequest(@NonNull GeckoSession);
    method @UiThread default public void onContextMenu(@NonNull GeckoSession, int, int, @NonNull GeckoSession.ContentDelegate.ContextElement);
    method @UiThread default public void onCrash(@NonNull GeckoSession);
    method @UiThread default public void onExternalResponse(@NonNull GeckoSession, @NonNull GeckoSession.WebResponseInfo);
    method @UiThread default public void onFirstComposite(@NonNull GeckoSession);
747
    method @UiThread default public void onFirstContentfulPaint(@NonNull GeckoSession);
748
749
    method @UiThread default public void onFocusRequest(@NonNull GeckoSession);
    method @UiThread default public void onFullScreen(@NonNull GeckoSession, boolean);
750
    method @UiThread default public void onKill(@NonNull GeckoSession);
751
    method @UiThread default public void onMetaViewportFitChange(@NonNull GeckoSession, @NonNull String);
752
    method @UiThread default public void onPaintStatusReset(@NonNull GeckoSession);
753
    method @UiThread @Nullable default public GeckoResult<SlowScriptResponse> onSlowScript(@NonNull GeckoSession, @NonNull String);
754
755
    method @UiThread default public void onTitleChange(@NonNull GeckoSession, @Nullable String);
    method @UiThread default public void onWebAppManifest(@NonNull GeckoSession, @NonNull JSONObject);
756
757
  }

758
  public static class GeckoSession.ContentDelegate.ContextElement {
759
    ctor protected ContextElement(@Nullable String, @Nullable String, @Nullable String, @Nullable String, @NonNull String, @Nullable String);
760
761
762
763
    field public static final int TYPE_AUDIO = 3;
    field public static final int TYPE_IMAGE = 1;
    field public static final int TYPE_NONE = 0;
    field public static final int TYPE_VIDEO = 2;
764
765
766
767
768
    field @Nullable public final String altText;
    field @Nullable public final String baseUri;
    field @Nullable public final String linkUri;
    field @Nullable public final String srcUri;
    field @Nullable public final String title;
769
    field public final int type;
770
771
  }

772
  @AnyThread public static class GeckoSession.FinderResult {
773
    ctor protected FinderResult();
774
    field @Nullable public final RectF clientRect;
775
776
777
    field public final int current;
    field public final int flags;
    field public final boolean found;
778
779
    field @Nullable public final String linkUri;
    field @NonNull public final String searchString;
780
781
782
783
784
    field public final int total;
    field public final boolean wrapped;
  }

  public static interface GeckoSession.HistoryDelegate {
785
    method @UiThread @Nullable default public GeckoResult<boolean[]> getVisited(@NonNull GeckoSession, @NonNull String[]);
786
    method @UiThread default public void onHistoryStateChange(@NonNull GeckoSession, @NonNull GeckoSession.HistoryDelegate.HistoryList);
787
    method @UiThread @Nullable default public GeckoResult<Boolean> onVisited(@NonNull GeckoSession, @NonNull String, @Nullable String, int);
788
789
790
791
792
793
794
795
    field public static final int VISIT_REDIRECT_PERMANENT = 4;
    field public static final int VISIT_REDIRECT_SOURCE = 8;
    field public static final int VISIT_REDIRECT_SOURCE_PERMANENT = 16;
    field public static final int VISIT_REDIRECT_TEMPORARY = 2;
    field public static final int VISIT_TOP_LEVEL = 1;
    field public static final int VISIT_UNRECOVERABLE_ERROR = 32;
  }

796
797
798
799
800
801
802
803
804
  public static interface GeckoSession.HistoryDelegate.HistoryItem {
    method @AnyThread @NonNull default public String getTitle();
    method @AnyThread @NonNull default public String getUri();
  }

  public static interface GeckoSession.HistoryDelegate.HistoryList implements List {
    method @AnyThread default public int getCurrentIndex();
  }

805
  public static interface GeckoSession.MediaDelegate {
806
807
    method @UiThread default public void onMediaAdd(@NonNull GeckoSession, @NonNull MediaElement);
    method @UiThread default public void onMediaRemove(@NonNull GeckoSession, @NonNull MediaElement);
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
    method @UiThread default public void onRecordingStatusChanged(@NonNull GeckoSession, @NonNull GeckoSession.MediaDelegate.RecordingDevice[]);
  }

  public static class GeckoSession.MediaDelegate.RecordingDevice {
    ctor protected RecordingDevice();
    field public final long status;
    field public final long type;
  }

  public static class GeckoSession.MediaDelegate.RecordingDevice.Status {
    ctor protected Status();
    field public static final long INACTIVE = 1L;
    field public static final long RECORDING = 0L;
  }

  public static class GeckoSession.MediaDelegate.RecordingDevice.Type {
    ctor protected Type();
    field public static final long CAMERA = 0L;
    field public static final long MICROPHONE = 1L;
827
828
829
  }

  public static interface GeckoSession.NavigationDelegate {
830
831
832
833
834
835
    method @UiThread default public void onCanGoBack(@NonNull GeckoSession, boolean);
    method @UiThread default public void onCanGoForward(@NonNull GeckoSession, boolean);
    method @UiThread @Nullable default public GeckoResult<String> onLoadError(@NonNull GeckoSession, @Nullable String, @NonNull WebRequestError);
    method @UiThread @Nullable default public GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest);
    method @UiThread default public void onLocationChange(@NonNull GeckoSession, @Nullable String);
    method @UiThread @Nullable default public GeckoResult<GeckoSession> onNewSession(@NonNull GeckoSession, @NonNull String);
836
    method @UiThread @Nullable default public GeckoResult<AllowOrDeny> onSubframeLoadRequest(@NonNull GeckoSession, @NonNull GeckoSession.NavigationDelegate.LoadRequest);
837
    field public static final int LOAD_REQUEST_IS_REDIRECT = 8388608;
838
839
840
841
842
843
    field public static final int TARGET_WINDOW_CURRENT = 1;
    field public static final int TARGET_WINDOW_NEW = 2;
    field public static final int TARGET_WINDOW_NONE = 0;
  }

  public static class GeckoSession.NavigationDelegate.LoadRequest {
844
    ctor protected LoadRequest();
845
    field public final boolean hasUserGesture;
846
    field public final boolean isDirectNavigation;
847
    field public final boolean isRedirect;
848
    field public final int target;
849
850
    field @Nullable public final String triggerUri;
    field @NonNull public final String uri;
851
852
853
  }

  public static interface GeckoSession.PermissionDelegate {
854
855
856
    method @UiThread default public void onAndroidPermissionsRequest(@NonNull GeckoSession, @Nullable String[], @NonNull GeckoSession.PermissionDelegate.Callback);
    method @UiThread default public void onContentPermissionRequest(@NonNull GeckoSession, @Nullable String, int, @NonNull GeckoSession.PermissionDelegate.Callback);
    method @UiThread default public void onMediaPermissionRequest(@NonNull GeckoSession, @NonNull String, @Nullable GeckoSession.PermissionDelegate.MediaSource[], @Nullable GeckoSession.PermissionDelegate.MediaSource[], @NonNull GeckoSession.PermissionDelegate.MediaCallback);
857
858
    field public static final int PERMISSION_AUTOPLAY_AUDIBLE = 5;
    field public static final int PERMISSION_AUTOPLAY_INAUDIBLE = 4;
859
860
    field public static final int PERMISSION_DESKTOP_NOTIFICATION = 1;
    field public static final int PERMISSION_GEOLOCATION = 0;
861
    field public static final int PERMISSION_MEDIA_KEY_SYSTEM_ACCESS = 6;
862
    field public static final int PERMISSION_PERSISTENT_STORAGE = 2;
863
    field public static final int PERMISSION_XR = 3;
864
865
866
  }

  public static interface GeckoSession.PermissionDelegate.Callback {
867
868
    method @UiThread default public void grant();
    method @UiThread default public void reject();
869
870
871
  }

  public static interface GeckoSession.PermissionDelegate.MediaCallback {
872
873
874
    method @UiThread default public void grant(@Nullable String, @Nullable String);
    method @UiThread default public void grant(@Nullable GeckoSession.PermissionDelegate.MediaSource, @Nullable GeckoSession.PermissionDelegate.MediaSource);
    method @UiThread default public void reject();
875
876
877
  }

  public static class GeckoSession.PermissionDelegate.MediaSource {
878
    ctor protected MediaSource();
879
    field public static final int SOURCE_AUDIOCAPTURE = 3;
880
    field public static final int SOURCE_CAMERA = 0;
881
882
    field public static final int SOURCE_MICROPHONE = 2;
    field public static final int SOURCE_OTHER = 4;
883
884
885
    field public static final int SOURCE_SCREEN = 1;
    field public static final int TYPE_AUDIO = 1;
    field public static final int TYPE_VIDEO = 0;
886
887
888
    field @NonNull public final String id;
    field @Nullable public final String name;
    field @NonNull public final String rawId;
889
890
891
892
893
    field public final int source;
    field public final int type;
  }

  public static interface GeckoSession.ProgressDelegate {
894
895
896
897
898
    method @UiThread default public void onPageStart(@NonNull GeckoSession, @NonNull String);
    method @UiThread default public void onPageStop(@NonNull GeckoSession, boolean);
    method @UiThread default public void onProgressChange(@NonNull GeckoSession, int);
    method @UiThread default public void onSecurityChange(@NonNull GeckoSession, @NonNull GeckoSession.ProgressDelegate.SecurityInformation);
    method @UiThread default public void onSessionStateChange(@NonNull GeckoSession, @NonNull GeckoSession.SessionState);
899
900
901
  }

  public static class GeckoSession.ProgressDelegate.SecurityInformation {
902
    ctor protected SecurityInformation();
903
904
905
906
907
908
    field public static final int CONTENT_BLOCKED = 1;
    field public static final int CONTENT_LOADED = 2;
    field public static final int CONTENT_UNKNOWN = 0;
    field public static final int SECURITY_MODE_IDENTIFIED = 1;
    field public static final int SECURITY_MODE_UNKNOWN = 0;
    field public static final int SECURITY_MODE_VERIFIED = 2;
909
    field @Nullable public final X509Certificate certificate;
910
    field @NonNull public final String host;
911
912
913
914
    field public final boolean isException;
    field public final boolean isSecure;
    field public final int mixedModeActive;
    field public final int mixedModePassive;
915
    field @Nullable public final String origin;
916
917
918
919
    field public final int securityMode;
  }

  public static interface GeckoSession.PromptDelegate {
920
921
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAlertPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AlertPrompt);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onAuthPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AuthPrompt);
922
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onBeforeUnloadPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.BeforeUnloadPrompt);
923
924
925
926
927
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onButtonPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ButtonPrompt);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onChoicePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ChoicePrompt);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onColorPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.ColorPrompt);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onDateTimePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.DateTimePrompt);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onFilePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.FilePrompt);
928
929
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onLoginSave(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.LoginSaveOption>);
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onLoginSelect(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.AutocompleteRequest<Autocomplete.LoginSelectOption>);
930
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onPopupPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.PopupPrompt);
931
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onSharePrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.SharePrompt);
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
    method @UiThread @Nullable default public GeckoResult<GeckoSession.PromptDelegate.PromptResponse> onTextPrompt(@NonNull GeckoSession, @NonNull GeckoSession.PromptDelegate.TextPrompt);
  }

  public static class GeckoSession.PromptDelegate.AlertPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected AlertPrompt(@Nullable String, @Nullable String);
    field @Nullable public final String message;
  }

  public static class GeckoSession.PromptDelegate.AuthPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected AuthPrompt(@Nullable String, @Nullable String, @NonNull GeckoSession.PromptDelegate.AuthPrompt.AuthOptions);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String, @NonNull String);
    field @NonNull public final GeckoSession.PromptDelegate.AuthPrompt.AuthOptions authOptions;
    field @Nullable public final String message;
  }

  public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions {
949
    ctor protected AuthOptions();
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
    field public final int flags;
    field public final int level;
    field @Nullable public final String password;
    field @Nullable public final String uri;
    field @Nullable public final String username;
  }

  public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Flags {
    ctor protected Flags();
    field public static final int CROSS_ORIGIN_SUB_RESOURCE = 32;
    field public static final int HOST = 1;
    field public static final int ONLY_PASSWORD = 8;
    field public static final int PREVIOUS_FAILED = 16;
    field public static final int PROXY = 2;
  }

  public static class GeckoSession.PromptDelegate.AuthPrompt.AuthOptions.Level {
    ctor protected Level();
    field public static final int NONE = 0;
    field public static final int PW_ENCRYPTED = 1;
    field public static final int SECURE = 2;
  }

973
974
975
976
977
978
  public static class GeckoSession.PromptDelegate.AutocompleteRequest<T extends Autocomplete.Option<?>> extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected AutocompleteRequest(@NonNull T[]);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Autocomplete.Option<?>);
    field @NonNull public final T[] options;
  }

979
980
981
982
983
984
985
  public static class GeckoSession.PromptDelegate.BasePrompt {
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse dismiss();
    method @UiThread public boolean isComplete();
    method @UiThread @NonNull protected GeckoSession.PromptDelegate.PromptResponse confirm();
    field @Nullable public final String title;
  }

986
987
988
989
990
  public static class GeckoSession.PromptDelegate.BeforeUnloadPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected BeforeUnloadPrompt();
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@Nullable AllowOrDeny);
  }

991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
  public static class GeckoSession.PromptDelegate.ButtonPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected ButtonPrompt(@Nullable String, @Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(int);
    field @Nullable public final String message;
  }

  public static class GeckoSession.PromptDelegate.ButtonPrompt.Type {
    ctor protected Type();
    field public static final int NEGATIVE = 2;
    field public static final int POSITIVE = 0;
  }

  public static class GeckoSession.PromptDelegate.ChoicePrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected ChoicePrompt(@Nullable String, @Nullable String, int, @NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[]);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String[]);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull GeckoSession.PromptDelegate.ChoicePrompt.Choice[]);
    field @NonNull public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] choices;
    field @Nullable public final String message;
    field public final int type;
  }

  public static class GeckoSession.PromptDelegate.ChoicePrompt.Choice {
1015
    ctor protected Choice();
1016
    field public final boolean disabled;
1017
1018
    field @Nullable public final String icon;
    field @NonNull public final String id;
1019
    field @Nullable public final GeckoSession.PromptDelegate.ChoicePrompt.Choice[] items;
1020
    field @NonNull public final String label;
1021
1022
1023
1024
    field public final boolean selected;
    field public final boolean separator;
  }

1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
  public static class GeckoSession.PromptDelegate.ChoicePrompt.Type {
    ctor protected Type();
    field public static final int MENU = 1;
    field public static final int MULTIPLE = 3;
    field public static final int SINGLE = 2;
  }

  public static class GeckoSession.PromptDelegate.ColorPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected ColorPrompt(@Nullable String, @Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String);
    field @Nullable public final String defaultValue;
  }

  public static class GeckoSession.PromptDelegate.DateTimePrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected DateTimePrompt(@Nullable String, int, @Nullable String, @Nullable String, @Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String);
    field @Nullable public final String defaultValue;
    field @Nullable public final String maxValue;
    field @Nullable public final String minValue;
    field public final int type;
  }

  public static class GeckoSession.PromptDelegate.DateTimePrompt.Type {
    ctor protected Type();
    field public static final int DATE = 1;
    field public static final int DATETIME_LOCAL = 5;
    field public static final int MONTH = 2;
    field public static final int TIME = 4;
    field public static final int WEEK = 3;
  }

  public static class GeckoSession.PromptDelegate.FilePrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected FilePrompt(@Nullable String, int, int, @Nullable String[]);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull Context, @NonNull Uri[]);
    field public final int capture;
    field @Nullable public final String[] mimeTypes;
    field public final int type;
  }

  public static class GeckoSession.PromptDelegate.FilePrompt.Capture {
    ctor protected Capture();
    field public static final int ANY = 1;
    field public static final int ENVIRONMENT = 3;
    field public static final int NONE = 0;
    field public static final int USER = 2;
  }

  public static class GeckoSession.PromptDelegate.FilePrompt.Type {
    ctor protected Type();
    field public static final int MULTIPLE = 2;
    field public static final int SINGLE = 1;
  }

  public static class GeckoSession.PromptDelegate.PopupPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected PopupPrompt(@Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull AllowOrDeny);
    field @Nullable public final String targetUri;
1083
1084
  }

1085
  public static class GeckoSession.PromptDelegate.PromptResponse {
1086
1087
  }

1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
  public static class GeckoSession.PromptDelegate.SharePrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected SharePrompt(@Nullable String, @Nullable String, @Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(int);
    field @Nullable public final String text;
    field @Nullable public final String uri;
  }

  public static class GeckoSession.PromptDelegate.SharePrompt.Result {
    ctor protected Result();
    field public static final int ABORT = 2;
    field public static final int FAILURE = 1;
    field public static final int SUCCESS = 0;
  }

1102
1103
1104
1105
1106
  public static class GeckoSession.PromptDelegate.TextPrompt extends GeckoSession.PromptDelegate.BasePrompt {
    ctor protected TextPrompt(@Nullable String, @Nullable String, @Nullable String);
    method @UiThread @NonNull public GeckoSession.PromptDelegate.PromptResponse confirm(@NonNull String);
    field @Nullable public final String defaultValue;
    field @Nullable public final String message;
1107
1108
1109
  }

  public static interface GeckoSession.ScrollDelegate {
1110
    method @UiThread default public void onScrollChanged(@NonNull GeckoSession, int, int);
1111
1112
1113
  }

  public static interface GeckoSession.SelectionActionDelegate {
1114
    method @UiThread default public void onHideAction(@NonNull GeckoSession, int);
1115
    method @UiThread default public void onShowActionRequest(@NonNull GeckoSession, @NonNull GeckoSession.SelectionActionDelegate.Selection);
1116
1117
1118
1119
1120
1121
1122
1123
1124
    field public static final String ACTION_COLLAPSE_TO_END = "org.mozilla.geckoview.COLLAPSE_TO_END";
    field public static final String ACTION_COLLAPSE_TO_START = "org.mozilla.geckoview.COLLAPSE_TO_START";
    field public static final String ACTION_COPY = "org.mozilla.geckoview.COPY";
    field public static final String ACTION_CUT = "org.mozilla.geckoview.CUT";
    field public static final String ACTION_DELETE = "org.mozilla.geckoview.DELETE";
    field public static final String ACTION_HIDE = "org.mozilla.geckoview.HIDE";
    field public static final String ACTION_PASTE = "org.mozilla.geckoview.PASTE";
    field public static final String ACTION_SELECT_ALL = "org.mozilla.geckoview.SELECT_ALL";
    field public static final String ACTION_UNSELECT = "org.mozilla.geckoview.UNSELECT";
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
    field public static final int FLAG_IS_COLLAPSED = 1;
    field public static final int FLAG_IS_EDITABLE = 2;
    field public static final int FLAG_IS_PASSWORD = 4;
    field public static final int HIDE_REASON_ACTIVE_SCROLL = 3;
    field public static final int HIDE_REASON_ACTIVE_SELECTION = 2;
    field public static final int HIDE_REASON_INVISIBLE_SELECTION = 1;
    field public static final int HIDE_REASON_NO_SELECTION = 0;
  }

  public static class GeckoSession.SelectionActionDelegate.Selection {
1135
    ctor protected Selection();
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
    method @AnyThread public void collapseToEnd();
    method @AnyThread public void collapseToStart();
    method @AnyThread public void copy();
    method @AnyThread public void cut();
    method @AnyThread public void delete();
    method @AnyThread public void execute(@NonNull String);
    method @AnyThread public void hide();
    method @AnyThread public boolean isActionAvailable(@NonNull String);
    method @AnyThread public void paste();
    method @AnyThread public void selectAll();
    method @AnyThread public void unselect();
    field @NonNull public final Collection<String> availableActions;
1148
    field @Nullable public final RectF clientRect;
1149
    field public final int flags;
1150
    field @NonNull public final String text;
1151
1152
  }

1153
  @AnyThread public static class GeckoSession.SessionState extends AbstractSequentialList implements GeckoSession.HistoryDelegate.HistoryList Parcelable {
1154
1155
1156
1157
    ctor public SessionState(@NonNull GeckoSession.SessionState);
    method @NonNull public static GeckoSession.SessionState fromString(@NonNull String);
    method public void readFromParcel(@NonNull Parcel);
    field public static final Parcelable.Creator<GeckoSession.SessionState> CREATOR;
1158
1159
1160
  }

  public static interface GeckoSession.TextInputDelegate {
1161
1162
1163
1164
1165
1166
    method @UiThread default public void hideSoftInput(@NonNull GeckoSession);
    method @UiThread default public void restartInput(@NonNull GeckoSession, int);
    method @UiThread default public void showSoftInput(@NonNull GeckoSession);
    method @UiThread default public void updateCursorAnchorInfo(@NonNull GeckoSession, @NonNull CursorAnchorInfo);
    method @UiThread default public void updateExtractedText(@NonNull GeckoSession, @NonNull ExtractedTextRequest, @NonNull ExtractedText);
    method @UiThread default public void updateSelection(@NonNull GeckoSession, int, int, int, int);
1167
1168
1169
1170
1171
    field public static final int RESTART_REASON_BLUR = 1;
    field public static final int RESTART_REASON_CONTENT_CHANGE = 2;
    field public static final int RESTART_REASON_FOCUS = 0;
  }

1172
  @AnyThread public static class GeckoSession.WebResponseInfo {
1173
    ctor protected WebResponseInfo();
1174
1175
1176
1177
    field @Nullable public final long contentLength;
    field @Nullable public final String contentType;
    field @Nullable public final String filename;
    field @NonNull public final String uri;
1178
1179
  }

1180
  @AnyThread public final class GeckoSessionSettings implements Parcelable {
1181
    ctor public GeckoSessionSettings();
1182
    ctor public GeckoSessionSettings(@NonNull GeckoSessionSettings);
1183
    method public boolean getAllowJavascript();
1184
    method @Nullable public String getChromeUri();
1185
    method @Nullable public String getContextId();
1186
1187
1188
1189
1190
1191
1192
    method public int getDisplayMode();
    method public boolean getFullAccessibilityTree();
    method public int getScreenId();
    method public boolean getSuspendMediaWhenInactive();
    method public boolean getUsePrivateMode();
    method public boolean getUseTrackingProtection();
    method public int getUserAgentMode();
1193
    method @Nullable public String getUserAgentOverride();
1194
    method public int getViewportMode();
1195
    method public void readFromParcel(@NonNull Parcel);
1196
1197
1198
1199
1200
1201
    method public void setAllowJavascript(boolean);
    method public void setDisplayMode(int);
    method public void setFullAccessibilityTree(boolean);
    method public void setSuspendMediaWhenInactive(boolean);
    method public void setUseTrackingProtection(boolean);
    method public void setUserAgentMode(int);
1202
    method public void setUserAgentOverride(@Nullable String);
1203
    method public void setViewportMode(int);
1204
    field public static final Parcelable.Creator<GeckoSessionSettings> CREATOR;
1205
1206
1207
1208
1209
1210
1211
    field public static final int DISPLAY_MODE_BROWSER = 0;
    field public static final int DISPLAY_MODE_FULLSCREEN = 3;
    field public static final int DISPLAY_MODE_MINIMAL_UI = 1;
    field public static final int DISPLAY_MODE_STANDALONE = 2;
    field public static final int USER_AGENT_MODE_DESKTOP = 1;
    field public static final int USER_AGENT_MODE_MOBILE = 0;
    field public static final int USER_AGENT_MODE_VR = 2;
1212
1213
    field public static final int VIEWPORT_MODE_DESKTOP = 1;
    field public static final int VIEWPORT_MODE_MOBILE = 0;
1214
1215
  }

1216
  @AnyThread public static final class GeckoSessionSettings.Builder {
1217
    ctor public Builder();
1218
1219
1220
1221
    ctor public Builder(GeckoSessionSettings);
    method @NonNull public GeckoSessionSettings.Builder allowJavascript(boolean);
    method @NonNull public GeckoSessionSettings build();
    method @NonNull public GeckoSessionSettings.Builder chromeUri(@NonNull String);
1222
    method @NonNull public GeckoSessionSettings.Builder contextId(@Nullable String);
1223
1224
1225
1226
1227
1228
1229
1230
1231
    method @NonNull public GeckoSessionSettings.Builder displayMode(int);
    method @NonNull public GeckoSessionSettings.Builder fullAccessibilityTree(boolean);
    method @NonNull public GeckoSessionSettings.Builder screenId(int);
    method @NonNull public GeckoSessionSettings.Builder suspendMediaWhenInactive(boolean);
    method @NonNull public GeckoSessionSettings.Builder usePrivateMode(boolean);
    method @NonNull public GeckoSessionSettings.Builder useTrackingProtection(boolean);
    method @NonNull public GeckoSessionSettings.Builder userAgentMode(int);
    method @NonNull public GeckoSessionSettings.Builder userAgentOverride(@NonNull String);
    method @NonNull public GeckoSessionSettings.Builder viewportMode(int);
1232
1233
  }

1234
1235
1236
  public static class GeckoSessionSettings.Key<T> {
  }

1237
  public class GeckoVRManager {
1238
    method @AnyThread public static synchronized void setExternalContext(long);
1239
1240
  }

1241
1242
1243
1244
  @UiThread public class GeckoView extends FrameLayout {
    ctor public GeckoView(Context);
    ctor public GeckoView(Context, AttributeSet);
    method @UiThread @NonNull public GeckoResult<Bitmap> capturePixels();
1245
    method public void coverUntilFirstPaint(int);
1246
    method public boolean getAutofillEnabled();
1247
1248
    method @NonNull public PanZoomController getPanZoomController();
    method @AnyThread @Nullable public GeckoSession getSession();
1249
1250
    method public int onGenericMotionEventForResult(@NonNull MotionEvent);
    method public int onTouchEventForResult(@NonNull MotionEvent);
1251
    method @UiThread @Nullable public GeckoSession releaseSession();
1252
    method public void setAutofillEnabled(boolean);
1253
    method public void setDynamicToolbarMaxHeight(int);
1254
    method @UiThread public void setSession(@NonNull GeckoSession);
1255
    method public void setVerticalClipping(int);
1256
    method public void setViewBackend(int);
1257
    method public boolean shouldPinOnScreen();
1258
1259
    field public static final int BACKEND_SURFACE_VIEW = 1;
    field public static final int BACKEND_TEXTURE_VIEW = 2;
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
    field @NonNull protected final GeckoView.Display mDisplay;
    field @Nullable protected GeckoSession mSession;
  }

  @AnyThread public class GeckoWebExecutor {
    ctor public GeckoWebExecutor(@NonNull GeckoRuntime);
    method @NonNull public GeckoResult<WebResponse> fetch(@NonNull WebRequest);
    method @NonNull public GeckoResult<WebResponse> fetch(@NonNull WebRequest, int);
    method @NonNull public GeckoResult<InetAddress[]> resolve(@NonNull String);
    method public void speculativeConnect(@NonNull String);
1270
1271
    field public static final int FETCH_FLAGS_ANONYMOUS = 1;
    field public static final int FETCH_FLAGS_NONE = 0;
1272
    field public static final int FETCH_FLAGS_NO_REDIRECTS = 2;
1273
    field public static final int FETCH_FLAGS_STREAM_FAILURE_TEST = 1024;
1274
1275
  }

1276
1277