From ae738c1fac9a6585912bfcf65828807667d43357 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Mon, 9 Nov 2020 09:29:34 -0800 Subject: [PATCH] browser(firefox): ignore WebProgress events coming from workers (#4380) Somehow, we get WebProgress state changes when worker is loaded with a blob url. This messes up frame navigation detection. Luckily, it's easy to filter out non-document state changes. --- browser_patches/firefox/BUILD_NUMBER | 4 ++-- browser_patches/firefox/juggler/content/FrameTree.js | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/browser_patches/firefox/BUILD_NUMBER b/browser_patches/firefox/BUILD_NUMBER index b864c6fe59..29e8053650 100644 --- a/browser_patches/firefox/BUILD_NUMBER +++ b/browser_patches/firefox/BUILD_NUMBER @@ -1,2 +1,2 @@ -1204 -Changed: dgozman@gmail.com Fri Nov 6 14:37:05 PST 2020 +1205 +Changed: dgozman@gmail.com Sun Nov 8 07:09:21 PST 2020 diff --git a/browser_patches/firefox/juggler/content/FrameTree.js b/browser_patches/firefox/juggler/content/FrameTree.js index 98ee5c5f19..0aabc7ff77 100644 --- a/browser_patches/firefox/juggler/content/FrameTree.js +++ b/browser_patches/firefox/juggler/content/FrameTree.js @@ -197,6 +197,12 @@ class FrameTree { return; } + if (!channel.isDocument) { + // Somehow, we can get worker requests here, + // while we are only interested in frame documents. + return; + } + const isStart = flag & Ci.nsIWebProgressListener.STATE_START; const isTransferring = flag & Ci.nsIWebProgressListener.STATE_TRANSFERRING; const isStop = flag & Ci.nsIWebProgressListener.STATE_STOP;