NS_BINDING_ABORTED error when navigating to http://guinea-pig.webdriver.io/ due to HTTPS-only mode
Categories
(Remote Protocol :: WebDriver BiDi, defect, P3)
Tracking
(Not tracked)
People
(Reporter: whimboo, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [webdriver:m14])
Attachments
(1 file)
13.87 KB,
text/plain
|
Details |
(In reply to Christian Bromann from bug 1908515 comment #12)
I've created a reproduction case: https://github.com/christian-bromann/bidi-issue-ff .. just run npm install and then node test.js.
As it looks like this happens only for the first time I navigate to that page. Further navigation commands return success. To reproduce the following code can be run in the BiDi demo client:
(async function() {
await sendCommand("session.new", { capabilities: {} });
await sendCommand("session.subscribe", {"events":["log.entryAdded","browsingContext.contextCreated","browsingContext.contextDestroyed"]});
await sendCommand("script.addPreloadScript", {"functionDeclaration":"function customElementWrapper() {\n const origFn = customElements.define.bind(customElements);\n customElements.define = function (name, Constructor, options) {\n class WdioWrapperElement extends Constructor {\n connectedCallback() {\n super.connectedCallback && super.connectedCallback();\n let parentNode = this;\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n console.debug('[WDIO]', 'newShadowRoot', this, parentNode);\n }\n disconnectedCallback() {\n super.disconnectedCallback && super.disconnectedCallback();\n console.debug('[WDIO]', 'removeShadowRoot', this);\n }\n }\n return origFn(name, WdioWrapperElement, options);\n };\n}"});
let res = await sendCommand("browsingContext.getTree", {});
const context = res.result.contexts[0].context;
await sendCommand("browsingContext.navigate", {
context,
url: "http://guinea-pig.webdriver.io/",
wait: "complete"
});
// Do stuff ...
})()
(In reply to Alexandra Borovova [:Sasha] from bug 1908515 comment #15)
I did a bit of testing and I think with the
http://guinea-pig.webdriver.io/
page the issue is that it'shttp
page, I've tried also a couple other pages (e.g.http://help.websiteos.com/websiteos/example_of_a_simple_html_page.htm
) and they also triggeredNS_BINDING_ABORTED
error on the first navigation.
(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from bug 1908515 comment #16)
Ah, could this be maybe related to the HTTPS-only mode and that we are trying to forward to https://guinea-pig.webdriver.io/ but that is not available and we run into an error page.
Reporter | ||
Comment 1•2 months ago
|
||
As the log shows we seem to return early because of a STOP_STATE
for about:home
(which is the currently loaded page), and then we continue with loading the page:
1724337703839 RemoteAgent TRACE [4] NavigationListenerChild Loading state: flags: 131088, status: 2152398850, isStart: false, isStop: true, isNetwork: false, isBindingAborted: true, targetURI: http://guinea-pig.webdriver.io/
1724337703839 RemoteAgent TRACE [4] NavigationListenerChild Loading state: flags: 983041, status: 0, isStart: true, isStop: false, isNetwork: true, isBindingAborted: false, targetURI: http://guinea-pig.webdriver.io/
[Parent 14298: Main Thread]: I/BCWebProgress OnStateChange({isTopLevel:1, isLoadingDocument:1}, {URI:http://guinea-pig.webdriver.io/, originalURI:http://guinea-pig.webdriver.io/}, STATE_STOP|STATE_IS_NETWORK|STATE_IS_WINDOW, NS_BINDING_ABORTED) on {top:1, id:4, url:about:home}
1724337703844 RemoteAgent TRACE [4] ProgressListener Loading state: isStart=false isStop=true status=0x804b0002, loadType=0x200001
1724337703844 RemoteAgent TRACE [4] ProgressListener Stop: has error=true url=about:home
1724337703845 RemoteAgent DEBUG WebDriverBiDiConnection 75ef6ea6-8096-44f0-8ebb-192781f5912b <- {"type":"error","id":9,"error":"unknown error","message":"Error: NS_BINDING_ABORTED","stacktrace":"#checkLoadingState@chrome://remote/content/shared/Navigate.sys.mjs:328:28\nonStateChange@chrome://remote/content/shared/Navigate.sys.mjs:423:28\n"}
1724337703846 RemoteAgent TRACE [594297b9-cb22-483a-b9c4-38c8313b5596] Skipping already tracked navigation, navigationId: 35407337-ba06-40eb-8295-ee19c5dadab6
Reporter | ||
Comment 2•2 months ago
|
||
This issue is actually related to the HTTPS-only mode settings in Firefox. A workaround for now is to set the preference dom.security.https_only_mode_ever_enabled_pbm
to true
so that this behavior is limited to private browsing windows, which are by default not used.
We have to check how best we can handle such cases with WebDriver by using the WebProgress listener.
Reporter | ||
Comment 3•2 months ago
|
||
As discussed internally lets set as backlog for M12 for now.
Updated•19 days ago
|
Updated•11 days ago
|
Description
•