JavaScript Error: "TypeError: can't access property 0, window.arguments is undefined" {file: "chrome://geckoview/content/geckoview.js" line: 52}
Categories
(GeckoView :: General, defect)
Tracking
(Not tracked)
People
(Reporter: vasilyev.i.v7, Unassigned, NeedInfo)
References
Details
Attachments
(1 file)
52.78 KB,
image/png
|
Details |
Steps to reproduce:
- Implement GeckoSession.NavigationDelegate interface
- 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)
}
}
- 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
Comment 1•4 months ago
|
||
The severity field is not set for this bug.
:owlish, could you have a look please?
For more information, please visit BugBot documentation.
Description
•