Open Bug 1902709 Opened 5 months ago Updated 5 months ago

browsingContext.currentWindowGlobal is null for initial about:blank on Android with Fission disabled

Categories

(Core :: DOM: Content Processes, defect, P3)

defect

Tracking

()

People

(Reporter: robwu, Unassigned)

References

Details

While working on bug 1900222, I noticed that browsingContext.currentWindowGlobal is null for the initial about:blank document on Android with Fission disabled, unless its DOM window is dereferenced by JS. Is this expected? This does not happen on desktop or Android with Fission enabled.

As a work-around, I dereference the frame's content window (search for frames[0] or f.contentWindow in https://phabricator.services.mozilla.com/D212987 ).

To reproduce locally, remove the work-around, build with a mozconfig for Android, and run one of these tests:

  • /mach test toolkit/components/extensions/test/mochitest/test_ext_scripting_executeScript_slow_frame.html --log-mach-verbose --tag=remote-webextensions --disable-fission
  • /mach test toolkit/components/extensions/test/xpcshell/test_ext_contentscript_slow_frame.js --log-mach-verbose --tag=remote-webextensions --disable-fission

To get test output, run adb logcat before running the tests. There is currently quite some logspam due to bug 1844829, so you should filter the logs using the grep command as suggested in that bug.

Without the work around, the the test times out, because the expected script execution does not happen due to bc.currentWindowGlobal being null for the initial about:blank frame with --disable-fission on Android, and consequently the logic that selects frames to receive the execution message request is unable to send a message to the process that handles the frame.

Severity: -- → S3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.