Closed
Bug 1166066
Opened 9 years ago
Closed 9 years ago
Firefox 38 regression: link in private window with target="_blank" opens window with no tabs/toolbars/menus
Categories
(Firefox :: General, defect)
Tracking
()
People
(Reporter: soeren.hentzschel, Assigned: Gijs)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
39 bytes,
text/x-review-board-request
|
jdm
:
review+
Sylvestre
:
approval-mozilla-esr38+
|
Details |
This bug sounds similar to bug 1114299, but there is a difference: in this scenario e10s is not involved, but the private mode. The same testcase can be used to reproduce, the result is the same.
It's a regression in Firefox 38, Firefox 37 works as expected.
STR:
1. make sure "Open new windows in a new tab instead" is *not* checked
2. open the testcase from bug 1114299 in a private window
3. click the link
ER:
A new browser window with toolbar items, tabstrip and scrollbar opens.
AR:
A new browser window opens, but it has no tabstrip and no toolbar items and it's not possible to scroll.
Reporter | ||
Comment 1•9 years ago
|
||
Last good revision: 38e4719e71af (2015-01-27)
First bad revision: 9b6b80222e66 (2015-01-28)
Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=38e4719e71af&tochange=9b6b80222e66
Assignee | ||
Comment 3•9 years ago
|
||
(In reply to Sören Hentzschel from comment #0)
> This bug sounds similar to bug 1114299, but there is a difference: in this
> scenario e10s is not involved, but the private mode. The same testcase can
> be used to reproduce, the result is the same.
>
> It's a regression in Firefox 38, Firefox 37 works as expected.
>
> STR:
>
> 1. make sure "Open new windows in a new tab instead" is *not* checked
> 2. open the testcase from bug 1114299 in a private window
> 3. click the link
>
> ER:
>
> A new browser window with toolbar items, tabstrip and scrollbar opens.
Does this only happen if you set the browser.link.open_newwindow pref to a non-default value (namely, open _blank links in windows instead of tabs) ? Because I cannot reproduce with the steps as-is.
Flags: needinfo?(cadeyrn)
Assignee | ||
Comment 4•9 years ago
|
||
[Tracking Requested - why for this release]:
Serious functional regression if you prefer windows over tabs and use private browsing mode.
Just checked, and I can reproduce with the pref flipped. Probably not worth the risk for 38.0.5 unless the fix is very simple indeed. Going to request tracking for 39 but I'll look into it right now.
Sören, keeping the needinfo because now I'm wondering if this is reproducible in permanent private browsing mode (selecting "never remember history" in the prefs). Do you know?
status-firefox38:
--- → affected
status-firefox38.0.5:
--- → affected
status-firefox39:
--- → affected
status-firefox40:
--- → affected
status-firefox41:
--- → affected
tracking-firefox39:
--- → ?
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Iteration: --- → 41.1 - May 25
Points: --- → 3
Flags: qe-verify+
Flags: in-testsuite?
Flags: firefox-backlog+
Assignee | ||
Comment 5•9 years ago
|
||
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
+ nsAutoString features;
+ if (mInPrivateBrowsing) {
+ features.AssignLiteral("private");
+ }
rv = win->OpenNoNavigate(NS_ConvertUTF8toUTF16(spec),
name, // window name
- EmptyString(), // Features
+ features,
Yeah, except "" has meaning, which gets nuked if you supply a non-empty string, so just assigning "private" doesn't keep the rest of the features non-private windows get here.
Reporter | ||
Comment 6•9 years ago
|
||
(In reply to :Gijs Kruitbosch from comment #4)
> Sören, keeping the needinfo because now I'm wondering if this is
> reproducible in permanent private browsing mode (selecting "never remember
> history" in the prefs). Do you know?
Yes, it's also reproducible in permanent private browsing mode.
Flags: needinfo?(cadeyrn)
Assignee | ||
Comment 8•9 years ago
|
||
/r/9055 - Bug 1166066 - fix opening new windows from a private window, r?bholley
Pull down this commit:
hg pull -r a692a04003880ba61a128f830dea0dfa68f76595 https://reviewboard-hg.mozilla.org/gecko/
Attachment #8607577 -
Flags: review?(bobbyholley)
Assignee | ||
Comment 9•9 years ago
|
||
I'm not particularly thrilled with this patch, but it seems there's a lot of hairiness here, so I decided to cut through some of the hairiness.
The principal issue is that windowwatcher itself decides whether the window you're opening is a dialog, irrespective of what you've told it (bug 779939). It does this based on the argc of the call (ie length of the 4th param of window.open in JS, AFAICT). While we could add fake arguments to work around this, that would be lame and probably be web-visible and sadfaces.
The other thing is that if the browser thinks you're not a dialog, you don't get to use the "chrome" or "all" flags or really any other useful stuff. And really what we want here is that just passing "private" behaves the same as "" except that the window should be private. So that's what I've tried to implement here.
If there's better alternatives, I'd love to hear about them.
Try push from mozreview: https://treeherder.mozilla.org/#/jobs?repo=try&revision=ec3577673ac2
Comment 10•9 years ago
|
||
Comment on attachment 8607577 [details]
MozReview Request: bz://1166066/Gijs
I'm not really familiar with stuff. Looks like Josh reviewed the origin patch - josh, do you feel comfortable reviewing this? Could also try bobowen.
Attachment #8607577 -
Flags: review?(bobbyholley) → review?(josh)
Updated•9 years ago
|
Attachment #8607577 -
Flags: review?(josh) → review+
Comment 11•9 years ago
|
||
Comment on attachment 8607577 [details]
MozReview Request: bz://1166066/Gijs
https://reviewboard.mozilla.org/r/9053/#review7829
Ship It!
Comment 12•9 years ago
|
||
I don't have any better solutions; comment 9 sums up my feelings about it quite well.
Assignee | ||
Comment 13•9 years ago
|
||
burning tree and cantina to follow -> ci-needed.
Keywords: checkin-needed
Comment 14•9 years ago
|
||
Keywords: checkin-needed
Comment 15•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 41
Comment 16•9 years ago
|
||
is there any possibility to uplift this? it's a regression that is quite visible to users with the affected settings & therefore comes up quite often in support: https://support.mozilla.org/en-US/questions/firefox?tagged=bug1166066&show=all
Assignee | ||
Comment 17•9 years ago
|
||
Comment on attachment 8607577 [details]
MozReview Request: bz://1166066/Gijs
Approval Request Comment
[Feature/regressing bug #]: bug 1108547
[User impact if declined]: broken window chrome on window.open calls from private windows / in permanent private browsing mode, iff the "open new windows as new tabs" option is disabled by the user.
[Describe test coverage new/current, TreeHerder]: sadly, no tests
[Risks and why]: medium-low. This should not change any behaviour except this particular case. AFAICT almost any other case goes through different codepaths anyway, and the change is fairly specific to the bug in question. Would have been just "very low" if it weren't for the lack of automated testing. Would recommend increased manual QA.
[String/UUID change made/needed]: no.
Attachment #8607577 -
Flags: approval-mozilla-beta?
Attachment #8607577 -
Flags: approval-mozilla-aurora?
Updated•9 years ago
|
Comment 18•9 years ago
|
||
Comment on attachment 8607577 [details]
MozReview Request: bz://1166066/Gijs
I am taking it to aurora to improve the testing coverage.
Attachment #8607577 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Assignee | ||
Comment 20•9 years ago
|
||
Flags: needinfo?(gijskruitbosch+bugs)
Comment 21•9 years ago
|
||
Comment 22•9 years ago
|
||
Florin can your team test this fix on aurora? If it seems ok there and hasn't caused obvious problems then I'd like to uplift this for beta 4.
Flags: needinfo?(florin.mezei)
Comment 24•9 years ago
|
||
I reproduced the original issue with Firefox 38 and older Dev Edition build, as specified in comment 0, with both New Private Browsing Window and Permanent Private Browsing mode.
The issue no longer reproduces with the latest Firefox 40 Aurora, on Windows 7 x64, Mac OS X 10.8.5, and Ubuntu 14.04 x86. The new window that opens now correctly displays tabs/toolbars/menus, also buttons functionality and navigation all seem to work fine in the new window.
Flags: needinfo?(florin.mezei)
Comment 25•9 years ago
|
||
Reported on the French community board: https://forums.mozfr.org/viewtopic.php?f=5&t=124487
Would be nice to have a backport into FF39 too.
Comment 26•9 years ago
|
||
Comment on attachment 8607577 [details]
MozReview Request: bz://1166066/Gijs
Approved for uplift to beta. This has had extra manual testing work on aurora; fixes a regression in private browsing.
Attachment #8607577 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 27•9 years ago
|
||
Assignee | ||
Comment 28•9 years ago
|
||
Attachment #8607577 -
Attachment is obsolete: true
Attachment #8620316 -
Flags: review+
Assignee | ||
Comment 29•9 years ago
|
||
Comment 30•9 years ago
|
||
I have also verified this with Firefox 39 Beta 5, on Windows 7 x64, Mac OS X 10.8.5, and Ubuntu 14.0.4 x64. I got the same results as in comment 24.
Flags: qe-verify+
Comment 31•9 years ago
|
||
[Tracking Requested - why for this release]:
will this fix be considered for the esr 38 cycle as well?
status-firefox-esr38:
--- → affected
tracking-firefox-esr38:
--- → ?
Assignee | ||
Comment 32•9 years ago
|
||
Bob, Josh is on PTO for the next while. I'd like a second opinion about whether this is suitable for esr or not, considering risk/reward. The patch is self-contained but this code is not my usual habitat... Let me know if you need more detail beyond the bug comments / patch so far.
Flags: needinfo?(bobowen.code)
Comment 33•9 years ago
|
||
Wow, my head did not need that on a Friday morning. :-)
I'm not sure I'm the right person to suggest what gets into ESR.
However, having said that it seems like quite a bad regression for people who use that setting and given your stated aim:
'And really what we want here is that just passing "private" behaves the same as "" except that the window should be private.'
The patch seems relatively straight forward (if you ignore all the craziness around it).
Flags: needinfo?(bobowen.code)
Assignee | ||
Comment 34•9 years ago
|
||
Comment on attachment 8620316 [details]
MozReview Request: Bug 1166066 - fix opening new windows from a private window, r?bholley
[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: serious functional regression for people using private browsing / permanent private browsing (which seems plausible for e.g. schools and other enterprises where multiple people share computers that need to live without history etc.) if they prefer windows over tabs (which seems like it'd correlate with ESR usage...)
User impact if declined: _blank links in private browsing windows are broken
Fix Landed on Version: 41, uplifted to 39, already verified there and on 40.
Risk to taking this patch (and alternatives if risky): low-risk; as comment 33 notes, this is fairly straightforward considering the actual change we made.
String or UUID changes made by this patch: nope.
See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #8620316 -
Flags: approval-mozilla-esr38?
Comment 35•9 years ago
|
||
Comment on attachment 8620316 [details]
MozReview Request: Bug 1166066 - fix opening new windows from a private window, r?bholley
We can also take stability/important fixes for the two first ESR. I think this is the case here. Taking it.
Attachment #8620316 -
Flags: approval-mozilla-esr38? → approval-mozilla-esr38+
Comment 36•9 years ago
|
||
Comment 37•9 years ago
|
||
I have also verified this fix with Firefox ESR 38.1.0 (BuildID=20150624141534), on Windows 7 x64, Mac OS X 10.9.5, and Ubuntu 12.0.4 x86. I got the same results as in comment 24.
Updated•9 years ago
|
Updated•9 years ago
|
relnote-firefox:
--- → 39+
You need to log in
before you can comment on or make changes to this bug.
Description
•