From caebf13372415e59bd36c49fbee934e25ec46a32 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Thu, 1 Mar 2018 13:50:06 +0100 Subject: Checking NS_BINDING_ABORTED to avoid dispatching navigate event https://github.com/MoonchildProductions/moebius/pull/302 --- devtools/server/actors/webbrowser.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'devtools/server') diff --git a/devtools/server/actors/webbrowser.js b/devtools/server/actors/webbrowser.js index 1808895b1..dffe49b91 100644 --- a/devtools/server/actors/webbrowser.js +++ b/devtools/server/actors/webbrowser.js @@ -2501,7 +2501,11 @@ DebuggerProgressListener.prototype = { if (isWindow && isStop) { // Don't dispatch "navigate" event just yet when there is a redirect to // about:neterror page. - if (request.status != Cr.NS_OK) { + // Navigating to about:neterror will make `status` be something else than NS_OK. + // But for some error like NS_BINDING_ABORTED we don't want to emit any `navigate` + // event as the page load has been cancelled and the related page document is going + // to be a dead wrapper. + if (request.status != Cr.NS_OK && request.status != Cr.NS_BINDING_ABORTED) { // Instead, listen for DOMContentLoaded as about:neterror is loaded // with LOAD_BACKGROUND flags and never dispatches load event. // That may be the same reason why there is no onStateChange event -- cgit v1.2.3