Open Bug 1557457 Opened 6 months ago Updated 6 days ago

Setting window.location to a site with HTTP authentication doesn't show the prompt if the navigation results in a remote process swap

Categories

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

65 Branch
defect

Tracking

()

Fission Milestone M5
Tracking Status
firefox67 --- wontfix
firefox67.0.1 --- wontfix
firefox68 --- wontfix
firefox69 --- fix-optional
firefox70 --- fix-optional

People

(Reporter: whimboo, Unassigned)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Attached file test_marionette.py

The following Marionette test always fails with Nightly and custom builds but passes with official releases (beta, release). Something in Nightly (maybe a not-yet enabled preference on the release channel) prevents opening the HTTP auth dialog after opening a new tab.

Johann, do you know what kind of setting could prevent this?

As it looks like this only happens when the page is loaded like:

window.location = "https://jigsaw.w3.org/HTTP/Basic/"

That is usually done by Marionette all the time, and only fails under the above condition. Not opening a new tab, or opening a new window makes the test pass.

Flags: needinfo?(jhofmann)

I can actually replicate this manually in Nightly:

  1. Open a new tab
  2. Open the Browser Toolbar and select Console
  3. Execute window.location = "https://jigsaw.w3.org/HTTP/Basic/"

Thanks to Kwierso who pointed me at:
https://searchfox.org/mozilla-central/rev/153172de0c5bfca31ef861bd8fc0995f44cada6a/browser/app/profile/firefox.js#502-512

This is a problem with browser.tabs.remote.separatePrivilegedContentProcess set to true.

So it regressed due to bug 1472212 which turned this preference on by default.

Mike, could you please have a look too?

Component: Marionette → Activity Streams: Newtab
Flags: needinfo?(mconley)
Keywords: regression
Product: Testing → Firefox
Regressed by: 1472212
Version: unspecified → 65 Branch

This appears to be the case not only with the privileged content process, but any remote process that will require a process flip to proceed.

I can see this becoming more of an issue as Fission ramps up too.

Fission Milestone: --- → ?
Component: Activity Streams: Newtab → DOM: Content Processes
Flags: needinfo?(mconley)
Product: Firefox → Core
Summary: Opening a new tab and navigating to HTTP auth page no dialog is displayed with Nightly builds → Setting window.location to a site with HTTP authentication doesn't show the prompt if the navigation results in a remote process swap

I see. Would you suggest that we turn this preference off for the time being in Marionette? Or better not to catch those cases?

Flags: needinfo?(jhofmann) → needinfo?(mconley)

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #4)

I see. Would you suggest that we turn this preference off for the time being in Marionette? Or better not to catch those cases?

I don't see a problem turning it off for Marionette - though we should probably turn it back on when we fix bug 1513045 and have that become the default.

Flags: needinfo?(mconley)

Shouldn't this bug block bug 1513045 then?

I will file a Marionette bug to get it disabled in the client, which we are about to release the final Python package. I will add dependencies so that we won't forget to remove the pref once bug 1513045 got fixed.

Flags: needinfo?(mconley)
Blocks: 1558763

Yep, sounds good.

Blocks: 1513045
Flags: needinfo?(mconley)
Fission Milestone: ? → M4

Peter, is this issue the same as bug 1532994?

Flags: needinfo?(peterv)

It's hard to tell without debugging, but it could be.

Flags: needinfo?(peterv)

Happy to take a patch for 70 or beyond.
Since we are getting close to the end of the 69 beta cycle and this is set to P3, I'm marking it fix-optional for 69 and 70 to remove it from weekly triage.

Roll some unfixed bugs from Fission Milestone M4 to M5

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

Fission Milestone: M4 → M5
You need to log in before you can comment on or make changes to this bug.