Closed Bug 1202634 Opened 9 years ago Closed 9 years ago

[e10s] links with target=_blank in private browsing popup open in non-private window

Categories

(Firefox :: Private Browsing, defect)

x86_64
All
defect
Not set
normal

Tracking

()

VERIFIED FIXED
Firefox 44
Tracking Status
e10s m8+ ---
firefox44 --- fixed

People

(Reporter: moz-bugs, Assigned: mconley)

References

Details

(Keywords: regression)

Attachments

(4 files)

Attached file test-case for reproduction (deleted) —
Clicking a link with target=_blank from a popup window in private browsing mode opens a new tab in a window that is not in private browsing mode.

Steps to reproduce:
- open Firefox
- open a new private window
- open the attached html file in the private window
- click the link "click 1", a popup opens (still marked private browsing)
- in the popup, click the link "click 2"
- notice that the link opened in the non-private window. (If there are no non-private windows, clicking the link does nothing at all.)


This does not happen when e10s is disabled.
Blocks: e10s
Attachment #8658141 - Attachment mime type: text/plain → text/html
I can also reproduce on Windows7.
Status: UNCONFIRMED → NEW
tracking-e10s: --- → ?
Ever confirmed: true
OS: Linux → All
Keywords: regression
Assignee: nobody → mrbkap
Via local build,
Last Good: 613d80a116b4
First Bad: 8798cd000e6b
 
Regressed by: 8798cd000e6b	Bill McCloskey — Bug 567058 - Stop using intr messages for window.open (r=bent)
Hey Blake - can I take this off your hands?
Flags: needinfo?(mrbkap)
Assuming yes - ping me if you'd like it back!
Assignee: mrbkap → mconley
Flags: needinfo?(mrbkap)
Bug 1202634 - Make sure TabParent LoadContext for pop-up shares private browsing state of opener. r?billm
Comment on attachment 8662560 [details]
MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm

So the problem here appears to be that the chrome flags on the TabParent aren't getting the private browsing / remote flags set properly on them.

I think I'm partially responsible for this due to my patch in bug 1114299, which makes it so that the content process cannot send up remoteness / private browsing flags. I had added that rule because it looked like the parent was "doing the right thing", and setting the private browsing state on the newly opened windows properly. What I didn't realize is that TabParent's get their own LoadContext's, and store the chrome flags that were used to open the new TabParent, and those chrome flags need to have the private browsing flag set if content from a private browsing window requests a new window be opened.

I... I think this is the right move. But I'm not 100% certain. Window opening is kinda hard, it seems. :/

billm, do you have any feedback on this?
Attachment #8662560 - Flags: feedback?(wmccloskey)
Comment on attachment 8662560 [details]
MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm

Bug 1202634 - Make sure TabParent LoadContext for pop-up shares private browsing state of opener. r?billm
Attachment #8662560 - Flags: feedback?(wmccloskey)
Bug 1202634 - Regression test. r?jdm
Attachment #8663766 - Flags: review?(josh)
Comment on attachment 8662560 [details]
MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm

The regression test is probably landable, but I'm still not sure about this bit.
Attachment #8662560 - Flags: feedback?(wmccloskey)
Attachment #8663766 - Flags: review?(josh) → review+
Comment on attachment 8662560 [details]
MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm

https://reviewboard.mozilla.org/r/19639/#review18245

::: dom/ipc/nsIContentParent.cpp:134
(Diff revision 2)
> +  uint32_t chromeFlagsCopy = aChromeFlags;

Just call this chromeFlags.
Attachment #8662560 - Flags: review+
Comment on attachment 8662560 [details]
MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm

Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm
Attachment #8662560 - Attachment description: MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-up shares private browsing state of opener. r?billm → MozReview Request: Bug 1202634 - Make sure TabParent LoadContext for pop-ups shares private browsing state of opener. r=billm
Comment on attachment 8663766 [details]
MozReview Request: Bug 1202634 - Regression test. r=jdm

Bug 1202634 - Regression test. r=jdm
Attachment #8663766 - Attachment description: MozReview Request: Bug 1202634 - Regression test. r?jdm → MozReview Request: Bug 1202634 - Regression test. r=jdm
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/6f9433f93a56
https://hg.mozilla.org/mozilla-central/rev/71e494cbdd1d
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44
I have reproduced this bug with Firefox Nightly 43.0a1 (Build ID: 20150908030203) on 
windows 8.1 64-bit with the instructions from comment 0 .

Verified as fixed with Firefox Nightly 44.0a1 (Build ID: 20151023030245

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
QA Whiteboard: [bugday-20151014]
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: