mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 12:20:56 +00:00
Bug 1498721 - Add default methods to GeckoView delegate interfaces r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D23016 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
a62440428f
commit
137efa1bc6
@ -501,7 +501,7 @@ package org.mozilla.geckoview {
|
||||
method @android.support.annotation.UiThread public void onColorPrompt(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession.PromptDelegate.TextCallback);
|
||||
method @android.support.annotation.UiThread public void onDateTimePrompt(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String, int, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession.PromptDelegate.TextCallback);
|
||||
method @android.support.annotation.UiThread public void onFilePrompt(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String, int, @android.support.annotation.Nullable java.lang.String[], @android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession.PromptDelegate.FileCallback);
|
||||
method @android.support.annotation.UiThread public org.mozilla.geckoview.GeckoResult<org.mozilla.geckoview.AllowOrDeny> onPopupRequest(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String);
|
||||
method @android.support.annotation.UiThread @android.support.annotation.Nullable public org.mozilla.geckoview.GeckoResult<org.mozilla.geckoview.AllowOrDeny> onPopupRequest(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String);
|
||||
method @android.support.annotation.UiThread public void onTextPrompt(@android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.Nullable java.lang.String, @android.support.annotation.NonNull org.mozilla.geckoview.GeckoSession.PromptDelegate.TextCallback);
|
||||
field public static final int BUTTON_TYPE_NEGATIVE = 2;
|
||||
field public static final int BUTTON_TYPE_NEUTRAL = 1;
|
||||
|
@ -385,7 +385,7 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(GeckoSession.ScrollDelegate { _, _, _ -> })
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {})
|
||||
}
|
||||
|
||||
@Test fun forCallbacksDuringWait_specificMethod() {
|
||||
@ -436,8 +436,11 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
GeckoSession.ScrollDelegate @AssertCalled { _, _, _ -> })
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@Test fun forCallbacksDuringWait_specificCount() {
|
||||
@ -547,8 +550,11 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(false) { _, _, _ -> })
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@ -567,8 +573,11 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
|
||||
sessionRule.forCallbacksDuringWait(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(count = 0) { _, _, _ -> })
|
||||
sessionRule.forCallbacksDuringWait(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(count = 0)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
@ -704,14 +713,20 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
}
|
||||
|
||||
@Test fun delegateUntilTestEnd_notCalled() {
|
||||
sessionRule.delegateUntilTestEnd(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(false) { _, _, _ -> })
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(false)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateUntilTestEnd_throwOnNotCalled() {
|
||||
sessionRule.delegateUntilTestEnd(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(count = 1) { _, _, _ -> })
|
||||
sessionRule.delegateUntilTestEnd(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
sessionRule.performTestEndCheck()
|
||||
}
|
||||
|
||||
@ -788,16 +803,22 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateDuringNextWait_throwOnNotCalled() {
|
||||
sessionRule.delegateDuringNextWait(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(count = 1) { _, _, _ -> })
|
||||
sessionRule.delegateDuringNextWait(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
sessionRule.session.loadTestPath(HELLO_HTML_PATH)
|
||||
sessionRule.waitForPageStop()
|
||||
}
|
||||
|
||||
@Test(expected = AssertionError::class)
|
||||
fun delegateDuringNextWait_throwOnNotCalledAtTestEnd() {
|
||||
sessionRule.delegateDuringNextWait(
|
||||
GeckoSession.ScrollDelegate @AssertCalled(count = 1) { _, _, _ -> })
|
||||
sessionRule.delegateDuringNextWait(object : GeckoSession.ScrollDelegate {
|
||||
@AssertCalled(count = 1)
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
})
|
||||
sessionRule.performTestEndCheck()
|
||||
}
|
||||
|
||||
|
@ -28,166 +28,16 @@ class Callbacks private constructor() {
|
||||
PromptDelegate, ScrollDelegate, SelectionActionDelegate,
|
||||
TextInputDelegate
|
||||
|
||||
interface ContentDelegate : GeckoSession.ContentDelegate {
|
||||
override fun onTitleChange(session: GeckoSession, title: String?) {
|
||||
}
|
||||
|
||||
override fun onFocusRequest(session: GeckoSession) {
|
||||
}
|
||||
|
||||
override fun onCloseRequest(session: GeckoSession) {
|
||||
}
|
||||
|
||||
override fun onFullScreen(session: GeckoSession, fullScreen: Boolean) {
|
||||
}
|
||||
|
||||
override fun onContextMenu(session: GeckoSession,
|
||||
screenX: Int, screenY: Int,
|
||||
element: ContextElement) {
|
||||
}
|
||||
|
||||
override fun onExternalResponse(session: GeckoSession, response: GeckoSession.WebResponseInfo) {
|
||||
}
|
||||
|
||||
override fun onCrash(session: GeckoSession) {
|
||||
}
|
||||
|
||||
override fun onFirstComposite(session: GeckoSession) {
|
||||
}
|
||||
}
|
||||
|
||||
interface NavigationDelegate : GeckoSession.NavigationDelegate {
|
||||
override fun onLocationChange(session: GeckoSession, url: String?) {
|
||||
}
|
||||
|
||||
override fun onCanGoBack(session: GeckoSession, canGoBack: Boolean) {
|
||||
}
|
||||
|
||||
override fun onCanGoForward(session: GeckoSession, canGoForward: Boolean) {
|
||||
}
|
||||
|
||||
override fun onLoadRequest(session: GeckoSession,
|
||||
request: LoadRequest): GeckoResult<AllowOrDeny>? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun onNewSession(session: GeckoSession, uri: String): GeckoResult<GeckoSession>? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun onLoadError(session: GeckoSession, uri: String?,
|
||||
error: WebRequestError): GeckoResult<String>? {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
interface PermissionDelegate : GeckoSession.PermissionDelegate {
|
||||
override fun onAndroidPermissionsRequest(
|
||||
session: GeckoSession, permissions: Array<out String>?,
|
||||
callback: GeckoSession.PermissionDelegate.Callback) {
|
||||
callback.reject()
|
||||
}
|
||||
|
||||
override fun onContentPermissionRequest(
|
||||
session: GeckoSession, uri: String?, type: Int,
|
||||
callback: GeckoSession.PermissionDelegate.Callback) {
|
||||
callback.reject()
|
||||
}
|
||||
|
||||
override fun onMediaPermissionRequest(
|
||||
session: GeckoSession, uri: String,
|
||||
video: Array<out GeckoSession.PermissionDelegate.MediaSource>?,
|
||||
audio: Array<out GeckoSession.PermissionDelegate.MediaSource>?,
|
||||
callback: GeckoSession.PermissionDelegate.MediaCallback) {
|
||||
callback.reject()
|
||||
}
|
||||
}
|
||||
|
||||
interface ProgressDelegate : GeckoSession.ProgressDelegate {
|
||||
override fun onPageStart(session: GeckoSession, url: String) {
|
||||
}
|
||||
|
||||
override fun onPageStop(session: GeckoSession, success: Boolean) {
|
||||
}
|
||||
|
||||
override fun onProgressChange(session: GeckoSession, progress: Int) {
|
||||
}
|
||||
|
||||
override fun onSecurityChange(session: GeckoSession, securityInfo: GeckoSession.ProgressDelegate.SecurityInformation) {
|
||||
}
|
||||
}
|
||||
|
||||
interface PromptDelegate : GeckoSession.PromptDelegate {
|
||||
override fun onAlert(session: GeckoSession, title: String?, msg: String?,
|
||||
callback: GeckoSession.PromptDelegate.AlertCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onButtonPrompt(session: GeckoSession, title: String?, msg: String?,
|
||||
btnMsg: Array<out String>?,
|
||||
callback: GeckoSession.PromptDelegate.ButtonCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onTextPrompt(session: GeckoSession, title: String?, msg: String?,
|
||||
value: String?,
|
||||
callback: GeckoSession.PromptDelegate.TextCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onAuthPrompt(session: GeckoSession, title: String?, msg: String?,
|
||||
options: GeckoSession.PromptDelegate.AuthOptions,
|
||||
callback: GeckoSession.PromptDelegate.AuthCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onChoicePrompt(session: GeckoSession, title: String?, msg: String?, type: Int,
|
||||
choices: Array<out GeckoSession.PromptDelegate.Choice>,
|
||||
callback: GeckoSession.PromptDelegate.ChoiceCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onColorPrompt(session: GeckoSession, title: String?, value: String?,
|
||||
callback: GeckoSession.PromptDelegate.TextCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onDateTimePrompt(session: GeckoSession, title: String?, type: Int,
|
||||
value: String?, min: String?, max: String?,
|
||||
callback: GeckoSession.PromptDelegate.TextCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onFilePrompt(session: GeckoSession, title: String?, type: Int,
|
||||
mimeTypes: Array<out String>?,
|
||||
callback: GeckoSession.PromptDelegate.FileCallback) {
|
||||
callback.dismiss()
|
||||
}
|
||||
|
||||
override fun onPopupRequest(session: GeckoSession, targetUri: String?)
|
||||
: GeckoResult<AllowOrDeny>? {
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
interface ScrollDelegate : GeckoSession.ScrollDelegate {
|
||||
override fun onScrollChanged(session: GeckoSession, scrollX: Int, scrollY: Int) {
|
||||
}
|
||||
}
|
||||
|
||||
interface ContentBlockingDelegate : ContentBlocking.Delegate {
|
||||
override fun onContentBlocked(session: GeckoSession,
|
||||
event: ContentBlocking.BlockEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
interface SelectionActionDelegate : GeckoSession.SelectionActionDelegate {
|
||||
override fun onShowActionRequest(session: GeckoSession, selection: GeckoSession.SelectionActionDelegate.Selection, actions: Array<out String>, response: GeckoResponse<String>) {
|
||||
}
|
||||
|
||||
override fun onHideAction(session: GeckoSession, reason: Int) {
|
||||
}
|
||||
}
|
||||
interface ContentDelegate : GeckoSession.ContentDelegate {}
|
||||
interface NavigationDelegate : GeckoSession.NavigationDelegate {}
|
||||
interface PermissionDelegate : GeckoSession.PermissionDelegate {}
|
||||
interface ProgressDelegate : GeckoSession.ProgressDelegate {}
|
||||
interface PromptDelegate : GeckoSession.PromptDelegate {}
|
||||
interface ScrollDelegate : GeckoSession.ScrollDelegate {}
|
||||
interface ContentBlockingDelegate : ContentBlocking.Delegate {}
|
||||
interface SelectionActionDelegate : GeckoSession.SelectionActionDelegate {}
|
||||
interface MediaDelegate: GeckoSession.MediaDelegate {}
|
||||
interface HistoryDelegate : GeckoSession.HistoryDelegate {}
|
||||
|
||||
interface TextInputDelegate : GeckoSession.TextInputDelegate {
|
||||
override fun restartInput(session: GeckoSession, reason: Int) {
|
||||
@ -211,24 +61,4 @@ class Callbacks private constructor() {
|
||||
override fun notifyAutoFill(session: GeckoSession, notification: Int, virtualId: Int) {
|
||||
}
|
||||
}
|
||||
|
||||
interface MediaDelegate: GeckoSession.MediaDelegate {
|
||||
override fun onMediaAdd(session: GeckoSession, element: MediaElement) {
|
||||
}
|
||||
|
||||
override fun onMediaRemove(session: GeckoSession, element: MediaElement) {
|
||||
}
|
||||
}
|
||||
|
||||
interface HistoryDelegate : GeckoSession.HistoryDelegate {
|
||||
override fun onVisited(session: GeckoSession, url: String, lastVisitedURL: String?,
|
||||
flags: Int): GeckoResult<Boolean>? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun getVisited(session: GeckoSession,
|
||||
urls: Array<out String>): GeckoResult<BooleanArray>? {
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -373,8 +373,8 @@ public class ContentBlocking {
|
||||
* @param event The {@link BlockEvent} details.
|
||||
*/
|
||||
@UiThread
|
||||
void onContentBlocked(@NonNull GeckoSession session,
|
||||
@NonNull BlockEvent event);
|
||||
default void onContentBlocked(@NonNull GeckoSession session,
|
||||
@NonNull BlockEvent event) {}
|
||||
}
|
||||
|
||||
|
||||
|
@ -2528,7 +2528,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param url The resource being loaded.
|
||||
*/
|
||||
@UiThread
|
||||
void onPageStart(@NonNull GeckoSession session, @NonNull String url);
|
||||
default void onPageStart(@NonNull GeckoSession session, @NonNull String url) {}
|
||||
|
||||
/**
|
||||
* A View has finished loading content from the network.
|
||||
@ -2536,7 +2536,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param success Whether the page loaded successfully or an error occurred.
|
||||
*/
|
||||
@UiThread
|
||||
void onPageStop(@NonNull GeckoSession session, boolean success);
|
||||
default void onPageStop(@NonNull GeckoSession session, boolean success) {}
|
||||
|
||||
/**
|
||||
* Page loading has progressed.
|
||||
@ -2544,7 +2544,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param progress Current page load progress value [0, 100].
|
||||
*/
|
||||
@UiThread
|
||||
void onProgressChange(@NonNull GeckoSession session, int progress);
|
||||
default void onProgressChange(@NonNull GeckoSession session, int progress) {}
|
||||
|
||||
/**
|
||||
* The security status has been updated.
|
||||
@ -2552,8 +2552,8 @@ public class GeckoSession implements Parcelable {
|
||||
* @param securityInfo The new security information.
|
||||
*/
|
||||
@UiThread
|
||||
void onSecurityChange(@NonNull GeckoSession session,
|
||||
@NonNull SecurityInformation securityInfo);
|
||||
default void onSecurityChange(@NonNull GeckoSession session,
|
||||
@NonNull SecurityInformation securityInfo) {}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2612,7 +2612,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param title The title sent from the content.
|
||||
*/
|
||||
@UiThread
|
||||
void onTitleChange(@NonNull GeckoSession session, @Nullable String title);
|
||||
default void onTitleChange(@NonNull GeckoSession session, @Nullable String title) {}
|
||||
|
||||
/**
|
||||
* A page has requested focus. Note that window.focus() in content will not result
|
||||
@ -2620,14 +2620,14 @@ public class GeckoSession implements Parcelable {
|
||||
* @param session The GeckoSession that initiated the callback.
|
||||
*/
|
||||
@UiThread
|
||||
void onFocusRequest(@NonNull GeckoSession session);
|
||||
default void onFocusRequest(@NonNull GeckoSession session) {}
|
||||
|
||||
/**
|
||||
* A page has requested to close
|
||||
* @param session The GeckoSession that initiated the callback.
|
||||
*/
|
||||
@UiThread
|
||||
void onCloseRequest(@NonNull GeckoSession session);
|
||||
default void onCloseRequest(@NonNull GeckoSession session) {}
|
||||
|
||||
/**
|
||||
* A page has entered or exited full screen mode. Typically, the implementation
|
||||
@ -2638,7 +2638,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param fullScreen True if the page is in full screen mode.
|
||||
*/
|
||||
@UiThread
|
||||
void onFullScreen(@NonNull GeckoSession session, boolean fullScreen);
|
||||
default void onFullScreen(@NonNull GeckoSession session, boolean fullScreen) {}
|
||||
|
||||
/**
|
||||
* Element details for onContextMenu callbacks.
|
||||
@ -2722,9 +2722,9 @@ public class GeckoSession implements Parcelable {
|
||||
* @param element The details for the pressed element.
|
||||
*/
|
||||
@UiThread
|
||||
void onContextMenu(@NonNull GeckoSession session,
|
||||
int screenX, int screenY,
|
||||
@NonNull ContextElement element);
|
||||
default void onContextMenu(@NonNull GeckoSession session,
|
||||
int screenX, int screenY,
|
||||
@NonNull ContextElement element) {}
|
||||
|
||||
/**
|
||||
* This is fired when there is a response that cannot be handled
|
||||
@ -2734,7 +2734,8 @@ public class GeckoSession implements Parcelable {
|
||||
* @param response the WebResponseInfo for the external response
|
||||
*/
|
||||
@UiThread
|
||||
void onExternalResponse(@NonNull GeckoSession session, @NonNull WebResponseInfo response);
|
||||
default void onExternalResponse(@NonNull GeckoSession session,
|
||||
@NonNull WebResponseInfo response) {}
|
||||
|
||||
/**
|
||||
* The content process hosting this GeckoSession has crashed. The
|
||||
@ -2746,7 +2747,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param session The GeckoSession that crashed.
|
||||
*/
|
||||
@UiThread
|
||||
void onCrash(@NonNull GeckoSession session);
|
||||
default void onCrash(@NonNull GeckoSession session) {}
|
||||
|
||||
/**
|
||||
* Notification that the first content composition has occurred.
|
||||
@ -2755,7 +2756,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param session The GeckoSession that had a first paint event.
|
||||
*/
|
||||
@UiThread
|
||||
void onFirstComposite(@NonNull GeckoSession session);
|
||||
default void onFirstComposite(@NonNull GeckoSession session) {}
|
||||
}
|
||||
|
||||
public interface SelectionActionDelegate {
|
||||
@ -2908,8 +2909,8 @@ public class GeckoSession implements Parcelable {
|
||||
* multiple times to perform multiple actions at once.
|
||||
*/
|
||||
@UiThread
|
||||
void onShowActionRequest(@NonNull GeckoSession session, @NonNull Selection selection,
|
||||
@Action String[] actions, @NonNull GeckoResponse<String> response);
|
||||
default void onShowActionRequest(@NonNull GeckoSession session, @NonNull Selection selection,
|
||||
@Action String[] actions, @NonNull GeckoResponse<String> response) {}
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({HIDE_REASON_NO_SELECTION,
|
||||
@ -2950,7 +2951,7 @@ public class GeckoSession implements Parcelable {
|
||||
* {@link #HIDE_REASON_NO_SELECTION HIDE_REASON_*} constants.
|
||||
*/
|
||||
@UiThread
|
||||
void onHideAction(@NonNull GeckoSession session, @HideReason int reason);
|
||||
default void onHideAction(@NonNull GeckoSession session, @HideReason int reason) {}
|
||||
}
|
||||
|
||||
public interface NavigationDelegate {
|
||||
@ -2960,7 +2961,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param url The resource being loaded.
|
||||
*/
|
||||
@UiThread
|
||||
void onLocationChange(@NonNull GeckoSession session, @Nullable String url);
|
||||
default void onLocationChange(@NonNull GeckoSession session, @Nullable String url) {}
|
||||
|
||||
/**
|
||||
* The view's ability to go back has changed.
|
||||
@ -2968,7 +2969,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param canGoBack The new value for the ability.
|
||||
*/
|
||||
@UiThread
|
||||
void onCanGoBack(@NonNull GeckoSession session, boolean canGoBack);
|
||||
default void onCanGoBack(@NonNull GeckoSession session, boolean canGoBack) {}
|
||||
|
||||
/**
|
||||
* The view's ability to go forward has changed.
|
||||
@ -2976,7 +2977,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param canGoForward The new value for the ability.
|
||||
*/
|
||||
@UiThread
|
||||
void onCanGoForward(@NonNull GeckoSession session, boolean canGoForward);
|
||||
default void onCanGoForward(@NonNull GeckoSession session, boolean canGoForward) {}
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({TARGET_WINDOW_NONE, TARGET_WINDOW_CURRENT, TARGET_WINDOW_NEW})
|
||||
@ -3065,8 +3066,11 @@ public class GeckoSession implements Parcelable {
|
||||
* A null return value is interpreted as false (unhandled).
|
||||
*/
|
||||
@UiThread
|
||||
@Nullable GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession session,
|
||||
@NonNull LoadRequest request);
|
||||
default @Nullable GeckoResult<AllowOrDeny> onLoadRequest(@NonNull GeckoSession session,
|
||||
@NonNull LoadRequest request)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* A request has been made to open a new session. The URI is provided only for
|
||||
@ -3081,7 +3085,11 @@ public class GeckoSession implements Parcelable {
|
||||
* <code>window.open()</code> will return null.
|
||||
*/
|
||||
@UiThread
|
||||
@Nullable GeckoResult<GeckoSession> onNewSession(@NonNull GeckoSession session, @NonNull String uri);
|
||||
default @Nullable GeckoResult<GeckoSession> onNewSession(@NonNull GeckoSession session,
|
||||
@NonNull String uri)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param session The GeckoSession that initiated the callback.
|
||||
@ -3090,9 +3098,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @return A URI to display as an error. Returning null will halt the load entirely.
|
||||
*/
|
||||
@UiThread
|
||||
@Nullable GeckoResult<String> onLoadError(@NonNull GeckoSession session,
|
||||
@Nullable String uri,
|
||||
@NonNull WebRequestError error);
|
||||
default @Nullable GeckoResult<String> onLoadError(@NonNull GeckoSession session,
|
||||
@Nullable String uri,
|
||||
@NonNull WebRequestError error)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3160,8 +3171,11 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onAlert(@NonNull GeckoSession session, @Nullable String title, @Nullable String msg,
|
||||
@NonNull AlertCallback callback);
|
||||
default void onAlert(@NonNull GeckoSession session, @Nullable String title, @Nullable String msg,
|
||||
@NonNull AlertCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback interface for notifying the result of a button prompt.
|
||||
@ -3195,9 +3209,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onButtonPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Nullable String[] btnMsg,
|
||||
@NonNull ButtonCallback callback);
|
||||
default void onButtonPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Nullable String[] btnMsg,
|
||||
@NonNull ButtonCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback interface for notifying the result of prompts that have text results,
|
||||
@ -3224,9 +3241,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onTextPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Nullable String value,
|
||||
@NonNull TextCallback callback);
|
||||
default void onTextPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Nullable String value,
|
||||
@NonNull TextCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback interface for notifying the result of authentication prompts.
|
||||
@ -3353,9 +3373,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onAuthPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @NonNull AuthOptions options,
|
||||
@NonNull AuthCallback callback);
|
||||
default void onAuthPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @NonNull AuthOptions options,
|
||||
@NonNull AuthCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
class Choice {
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@ -3504,9 +3527,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onChoicePrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Choice.ChoiceType int type,
|
||||
@NonNull Choice[] choices, @NonNull ChoiceCallback callback);
|
||||
default void onChoicePrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String msg, @Choice.ChoiceType int type,
|
||||
@NonNull Choice[] choices, @NonNull ChoiceCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a color prompt.
|
||||
@ -3518,8 +3544,11 @@ public class GeckoSession implements Parcelable {
|
||||
* HTML color format.
|
||||
*/
|
||||
@UiThread
|
||||
void onColorPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String value, @NonNull TextCallback callback);
|
||||
default void onColorPrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@Nullable String value, @NonNull TextCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef({DATETIME_TYPE_DATE, DATETIME_TYPE_MONTH, DATETIME_TYPE_WEEK,
|
||||
@ -3564,9 +3593,12 @@ public class GeckoSession implements Parcelable {
|
||||
* HTML date/time format.
|
||||
*/
|
||||
@UiThread
|
||||
void onDateTimePrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@DatetimeType int type, @Nullable String value, @Nullable String min,
|
||||
@Nullable String max, @NonNull TextCallback callback);
|
||||
default void onDateTimePrompt(@NonNull GeckoSession session, @Nullable String title,
|
||||
@DatetimeType int type, @Nullable String value, @Nullable String min,
|
||||
@Nullable String max, @NonNull TextCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback interface for notifying the result of file prompts.
|
||||
@ -3612,8 +3644,11 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onFilePrompt(@NonNull GeckoSession session, @Nullable String title, @FileType int type,
|
||||
@Nullable String[] mimeTypes, @NonNull FileCallback callback);
|
||||
default void onFilePrompt(@NonNull GeckoSession session, @Nullable String title, @FileType int type,
|
||||
@Nullable String[] mimeTypes, @NonNull FileCallback callback)
|
||||
{
|
||||
callback.dismiss();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a popup request prompt; this occurs when content attempts to open
|
||||
@ -3626,8 +3661,11 @@ public class GeckoSession implements Parcelable {
|
||||
* whether or not the popup should be allowed to open.
|
||||
*/
|
||||
@UiThread
|
||||
GeckoResult<AllowOrDeny> onPopupRequest(@NonNull GeckoSession session,
|
||||
@Nullable String targetUri);
|
||||
default @Nullable GeckoResult<AllowOrDeny> onPopupRequest(@NonNull GeckoSession session,
|
||||
@Nullable String targetUri)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3643,7 +3681,7 @@ public class GeckoSession implements Parcelable {
|
||||
* @param scrollY The new vertical scroll position in pixels.
|
||||
*/
|
||||
@UiThread
|
||||
public void onScrollChanged(@NonNull GeckoSession session, int scrollX, int scrollY);
|
||||
default void onScrollChanged(@NonNull GeckoSession session, int scrollX, int scrollY) {}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3866,9 +3904,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onAndroidPermissionsRequest(@NonNull GeckoSession session,
|
||||
@Nullable String[] permissions,
|
||||
@NonNull Callback callback);
|
||||
default void onAndroidPermissionsRequest(@NonNull GeckoSession session,
|
||||
@Nullable String[] permissions,
|
||||
@NonNull Callback callback)
|
||||
{
|
||||
callback.reject();
|
||||
}
|
||||
|
||||
/**
|
||||
* Request content permission.
|
||||
@ -3881,8 +3922,11 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onContentPermissionRequest(@NonNull GeckoSession session, @Nullable String uri,
|
||||
@Permission int type, @NonNull Callback callback);
|
||||
default void onContentPermissionRequest(@NonNull GeckoSession session, @Nullable String uri,
|
||||
@Permission int type, @NonNull Callback callback)
|
||||
{
|
||||
callback.reject();
|
||||
}
|
||||
|
||||
class MediaSource {
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@ -4085,9 +4129,12 @@ public class GeckoSession implements Parcelable {
|
||||
* @param callback Callback interface.
|
||||
*/
|
||||
@UiThread
|
||||
void onMediaPermissionRequest(@NonNull GeckoSession session, @NonNull String uri,
|
||||
@Nullable MediaSource[] video, @Nullable MediaSource[] audio,
|
||||
@NonNull MediaCallback callback);
|
||||
default void onMediaPermissionRequest(@NonNull GeckoSession session, @NonNull String uri,
|
||||
@Nullable MediaSource[] video, @Nullable MediaSource[] audio,
|
||||
@NonNull MediaCallback callback)
|
||||
{
|
||||
callback.reject();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4470,14 +4517,15 @@ public class GeckoSession implements Parcelable {
|
||||
* @param element The media element that was just created.
|
||||
*/
|
||||
@UiThread
|
||||
void onMediaAdd(@NonNull GeckoSession session, @NonNull MediaElement element);
|
||||
default void onMediaAdd(@NonNull GeckoSession session, @NonNull MediaElement element) {}
|
||||
|
||||
/**
|
||||
* An HTMLMediaElement has been unloaded.
|
||||
* @param session Session instance.
|
||||
* @param element The media element that was unloaded.
|
||||
*/
|
||||
@UiThread
|
||||
void onMediaRemove(@NonNull GeckoSession session, @NonNull MediaElement element);
|
||||
default void onMediaRemove(@NonNull GeckoSession session, @NonNull MediaElement element) {}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -85,6 +85,9 @@ exclude: true
|
||||
[67.20]: ../GeckoDisplay.html
|
||||
[67.21]: ../GeckoDisplay.html#capturePixels
|
||||
|
||||
- Add missing `@Nullable` annotation to return value for
|
||||
`GeckoSession.PromptDelegate.ChoiceCallback.onPopupResult()`
|
||||
|
||||
## v66
|
||||
- Removed redundant field `trackingMode` from [`SecurityInformation`][66.6].
|
||||
Use `TrackingProtectionDelegate.onTrackerBlocked` for notification of blocked
|
||||
@ -204,4 +207,4 @@ exclude: true
|
||||
[65.24]: ../CrashReporter.html#sendCrashReport-android.content.Context-android.os.Bundle-java.lang.String-
|
||||
[65.25]: ../GeckoResult.html
|
||||
|
||||
[api-version]: 0bcb9f0f763b746bb6f27f5d275c351818ab971b
|
||||
[api-version]: 577c3b0d000b0b1da57f9af32331f1e9045939b9
|
||||
|
Loading…
x
Reference in New Issue
Block a user