summaryrefslogtreecommitdiffstats
path: root/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java')
-rw-r--r--mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java30
1 files changed, 28 insertions, 2 deletions
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
index f8f7f858e3..85b3abf9a9 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
@@ -685,7 +685,11 @@ public class GeckoSession {
final GeckoBundle[] perms = message.getBundleArray("permissions");
final List<PermissionDelegate.ContentPermission> permList =
PermissionDelegate.ContentPermission.fromBundleArray(perms);
- delegate.onLocationChange(GeckoSession.this, message.getString("uri"), permList);
+ delegate.onLocationChange(
+ GeckoSession.this,
+ message.getString("uri"),
+ permList,
+ message.getBoolean("hasUserGesture"));
}
delegate.onCanGoBack(GeckoSession.this, message.getBoolean("canGoBack"));
delegate.onCanGoForward(GeckoSession.this, message.getBoolean("canGoForward"));
@@ -1928,7 +1932,7 @@ public class GeckoSession {
// https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigation.idl
//
// We do not use the same values directly in order to insulate ourselves from
- // changes in Gecko. Instead, the flags are converted in GeckoViewNavigation.jsm.
+ // changes in Gecko. Instead, the flags are converted in GeckoViewNavigation.sys.mjs.
/** Default load flag, no special considerations. */
public static final int LOAD_FLAGS_NONE = 0;
@@ -4935,17 +4939,39 @@ public class GeckoSession {
/**
* A view has started loading content from the network.
*
+ * @deprecated use {@link #onLocationChange(GeckoSession, String,
+ * List<PermissionDelegate.ContentPermission>, Boolean) onLocationChange} instead
* @param session The GeckoSession that initiated the callback.
* @param url The resource being loaded.
* @param perms The permissions currently associated with this url.
*/
@UiThread
+ @Deprecated
+ @DeprecationSchedule(id = "geckoview-onlocationchange", version = 127)
default void onLocationChange(
@NonNull GeckoSession session,
@Nullable String url,
final @NonNull List<PermissionDelegate.ContentPermission> perms) {}
/**
+ * A view has started loading content from the network.
+ *
+ * @param session The GeckoSession that initiated the callback.
+ * @param url The resource being loaded.
+ * @param perms The permissions currently associated with this url.
+ * @param hasUserGesture Whether or not there was an active user gesture when the location
+ * change was requested.
+ */
+ @UiThread
+ default void onLocationChange(
+ @NonNull GeckoSession session,
+ @Nullable String url,
+ final @NonNull List<PermissionDelegate.ContentPermission> perms,
+ final @NonNull Boolean hasUserGesture) {
+ session.getNavigationDelegate().onLocationChange(session, url, perms);
+ }
+
+ /**
* The view's ability to go back has changed.
*
* @param session The GeckoSession that initiated the callback.