From 3d49af2537a03a28bb8dcd246c19bae9bd774909 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Mon, 22 Jun 2020 15:57:05 -0700 Subject: [PATCH] browser(firefox): fix redirect interception (#2672) We sometimes receive shouldIntercept for redirects, and should not issue sendOnRequest for the second time. --- browser_patches/firefox/BUILD_NUMBER | 2 +- browser_patches/firefox/juggler/NetworkObserver.js | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/browser_patches/firefox/BUILD_NUMBER b/browser_patches/firefox/BUILD_NUMBER index 2b4ff56629..1b6d75c849 100644 --- a/browser_patches/firefox/BUILD_NUMBER +++ b/browser_patches/firefox/BUILD_NUMBER @@ -1 +1 @@ -1114 +1115 diff --git a/browser_patches/firefox/juggler/NetworkObserver.js b/browser_patches/firefox/juggler/NetworkObserver.js index cce2b08d4d..c99ca56580 100644 --- a/browser_patches/firefox/juggler/NetworkObserver.js +++ b/browser_patches/firefox/juggler/NetworkObserver.js @@ -320,6 +320,12 @@ class NetworkRequest { return false; } + // We do not want to intercept any redirects, because we are not able + // to intercept subresource redirects, and it's unreliable for main requests. + // We do not sendOnRequest here, because redirects do that in constructor. + if (this.redirectedFromId) + return false; + const shouldIntercept = this._shouldIntercept(); if (!shouldIntercept) { // We are not intercepting - ready to issue onRequest. @@ -424,10 +430,6 @@ class NetworkRequest { } _shouldIntercept() { - // We do not want to intercept any redirects, because we are not able - // to intercept subresource redirects. - if (this.redirectedFromId) - return false; const pageNetwork = this._activePageNetwork(); if (!pageNetwork) return false;