Open Bug 1920505 Opened 4 months ago Updated 4 months ago

JavaScript Error: "TypeError: can't access property 0, window.arguments is undefined" {file: "chrome://geckoview/content/geckoview.js" line: 52}

Categories

(GeckoView :: General, defect)

Firefox 128
All
Android
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: vasilyev.i.v7, Unassigned, NeedInfo)

References

Details

Attachments

(1 file)

Steps to reproduce:

  1. Implement GeckoSession.NavigationDelegate interface
  2. Implement methods:
    fun onNewSession(session: GeckoSession, uri: String): GeckoResult<GeckoSession>?
    fun onLoadRequest(session: GeckoSession, request: GeckoSession.NavigationDelegate.LoadRequest): GeckoResult<AllowOrDeny>?
    which returns GeckoResult.fromValue(AllowOrDeny.DENY) for specific url, e.g.:

class TestNavigationDelegate() : GeckoSession.NavigationDelegate {

override fun onNewSession(
    session: GeckoSession,
    uri: String
): GeckoResult<GeckoSession> {
    return GeckoResult.fromValue(GeckoSession().apply { loadUri(uri) })
}

override fun onLoadRequest(
    session: GeckoSession,
    request: GeckoSession.NavigationDelegate.LoadRequest
): GeckoResult<AllowOrDeny>? {
     return if (request.uri == "SOME_SPECIFIC_URI") {
         GeckoResult.fromValue(AllowOrDeny.DENY)
    } else super.onLoadRequest(session, request)
}

}

  1. Try to open any specific link which redirects to a new tab with target = "_blank"

Actual results:

Issue is reproducible from geckoview - 128.0.20240704121409, also with geckoview-nightly - 132.0.20240922213737, but not reproducible with geckoview - 127.0.20240624183754.
New session is created (can be visible in Mozilla - Remote debugging tool, see attachment), but method onNewSesssion was not called, also new created session has an empty url, in console next exception can be found :
[JavaScript Error: "TypeError: can't access property 0, window.arguments is undefined" {file: "chrome://geckoview/content/geckoview.js" line: 52}]
get _initData@chrome://geckoview/content/geckoview.js:52:5
init@chrome://geckoview/content/geckoview.js:56:22
startup@chrome://geckoview/content/geckoview.js:558:17

and:
[JavaScript Error: "can't access property "id", nativeTab is undefined" {file: "chrome://geckoview/content/ext-android.js" line: 567}]
wrapTab@chrome://geckoview/content/ext-android.js:567:47
TabManagerBase/this._tabs<@chrome://extensions/content/parent/ext-tabs-base.js:1934:49
get@resource://gre/modules/ExtensionUtils.sys.mjs:92:20
getWrapper@chrome://extensions/content/parent/ext-tabs-base.js:2038:25
get activeTab@chrome://geckoview/content/ext-android.js:529:23
getTabs@chrome://geckoview/content/ext-android.js:520:5
candidates@chrome://extensions/content/parent/ext-tabs-base.js:2131:14
query@chrome://extensions/content/parent/ext-tabs-base.js:2135:7
query@chrome://geckoview/content/ext-tabs.js:524:24
recvAPICall/result</</<@resource://gre/modules/ExtensionParent.sys.mjs:1223:16
withCallContextData@resource://gre/modules/ExtensionParent.sys.mjs:666:14
recvAPICall/result</<@resource://gre/modules/ExtensionParent.sys.mjs:1222:19
withPendingBrowser@resource://gre/modules/ExtensionParent.sys.mjs:676:26
recvAPI

Expected results:

  • a new session is not created if method onLoadRequest returns result DENY,
  • no JS exception

The severity field is not set for this bug.
:owlish, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(bugzeeeeee)
See Also: → 1910849
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: