Closed Bug 1021658 Opened 10 years ago Closed 10 years ago

Open an YouTube link from Facebook and then go to task manager stuck the phone

Categories

(Firefox OS Graveyard :: Gaia::System::Window Mgmt, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v1.4 unaffected, b2g-v2.0 verified, b2g-v2.1 verified)

VERIFIED FIXED
2.0 S4 (20june)
blocking-b2g 2.0+
Tracking Status
b2g-v1.4 --- unaffected
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: alive, Assigned: alive)

References

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

STR:
1. Install and logic facebook
2. Click an youtube link in facebook
3. When youtube page is launched, long press home button

Expected: TaskManager is shown

Actual: facebook is opened again and you cannot back to homescreen anymore.
Assignee: nobody → alive
The cause shall be: if there are two consecutive window.open request, the first opened window will be killed during it's transitioning which causes the window opener to be opened again, and thus we will have two transition-state="opened" window at the same time.
Summary: Open an youbute link from facebook and then go to task manager stuck the phone → Open an YouTube link from facebook and then go to task manager stuck the phone
Summary: Open an YouTube link from facebook and then go to task manager stuck the phone → Open an YouTube link from Facebook and then go to task manager stuck the phone
QA Wanted to confirm this works on 1.4.
Keywords: qawanted
This bug does NOT occur on v1.4 Flame with the following variables. When tapping on a youtube link in the facebook wall then holding down the home button, the task manager is presented as expected.

Environmental Variables:
Device: Flame 1.4
Build ID: 20140609000201
Gaia: 8b239e41bbd85aa7b6a2c5d388e775ba7de6fb2b
Gecko: e3f85877db29
Version: 30.0 (1.4) 
Firmware Version: v10G-2
Keywords: qawanted
QA Contact: croesch
Should be regressed from bug 916709.
It seems facebook is using window.open to open the youtube link,
and there will be two requests to the same link, the second one happens during the first one and caller is transitioning.

I am not sure if we should change window.open to default behavior (open popup instead of sheet) but this patch could fix this issue. What do you think?
Attachment #8437513 - Flags: review?(etienne)
Comment on attachment 8437513 [details] [review]
https://github.com/mozilla-b2g/gaia/pull/20270

r+ because this is definitely fixing the bug (and is well tested).

But I'd like ux-feedback on what should happen here?

Facebook is doing a window.open on the same origin (m.facebook.com) which then redirects to youtube.
We will open a new sheet for the facebook app (since it's the same origin), and the user can swipe back to the facebook timeline.

But swiping back will be the *only* way to get back to the facebook timeline (since youtube doesn't present chrome for this action).

Alternatively we could blacklist (:/) facebook from opening new sheets, this would cause the window.open redirecting to youtube to open as a separate app. The card view would display facebook and youtube separately, instead of displaying them as one app (with 2 sheets).
Attachment #8437513 - Flags: review?(etienne) → review+
Flags: needinfo?(firefoxos-ux-bugzilla)
Better than the blacklist, suggested by Vivien, we could safely disable child windows for hosted apps in 2.0.
blocking-b2g: 2.0? → 2.0+
(In reply to Etienne Segonzac (:etienne) from comment #7)
> Better than the blacklist, suggested by Vivien, we could safely disable
> child windows for hosted apps in 2.0.

Would you like to open another bug for this solution or wanna me to disable it in this bug?
Flags: needinfo?(etienne)
Let's do the safe no child windows for hosted apps here this way we uplift only once :)
Flags: needinfo?(etienne)
Flagging Jacqueline on this.
Flags: needinfo?(firefoxos-ux-bugzilla) → needinfo?(jsavory)
(In reply to Etienne Segonzac (:etienne) from comment #9)
> Let's do the safe no child windows for hosted apps here this way we uplift
> only once :)

For "hosted" do you mean the app without manifest?
(In reply to Alive Kuo [:alive][NEEDINFO!] from comment #11)
> (In reply to Etienne Segonzac (:etienne) from comment #9)
> > Let's do the safe no child windows for hosted apps here this way we uplift
> > only once :)
> 
> For "hosted" do you mean the app without manifest?

Well is this case facebook is having manifest. And I guess we cannot distinguish by http or app because in firefox nightly they are all http. So I proposed to disable all inner sheets here and turn on for HAIDA=1.
v2: Pref off in app sheets.

I end up doing this because I don't know how to distinguish hosted app and even we only turn it off for hosted app, I think we will have the same problems for packaged app who uses window.open()

Before we have solutions for how to open inner sheet (is window.open the final solution?) and how to deal with location change inner sheet, I'd rather turn it off.
Attachment #8438959 - Flags: review?(etienne)
Attachment #8437513 - Attachment is obsolete: true
I think this one is more of a sheets/task manager question. Passing ni? to Rob and Francis who have been working on these features.
Flags: needinfo?(rmacdonald)
Flags: needinfo?(jsavory)
Flags: needinfo?(fdjabri)
Comment on attachment 8438959 [details] [review]
https://github.com/mozilla-b2g/gaia/pull/20408

r=me with the tiny comments on github addressed.
Attachment #8438959 - Flags: review?(etienne) → review+
I just reviewed the patch and, if it is what I think it is, it's a more graceful solution. I've set up a meeting with Etienne to confirm on Monday afternoon Paris time to discuss and will comment on this bug  afterwards. I just want to be sure that I'm aware of all the implications. :)

Thanks!
I met with Etienne and Francis this morning and we feel this patch addresses the issues well. Does this patch impact only Facebook?
(In reply to Rob MacDonald [:robmac] from comment #18)
> I met with Etienne and Francis this morning and we feel this patch addresses
> the issues well. Does this patch impact only Facebook?

Every app uses window.open will be affected. Exactly the change in bug 961800 is pref-off by this change.
Blocks: 1024472
Clearing my ni as Rob is tracking this
Flags: needinfo?(fdjabri)
master https://github.com/mozilla-b2g/gaia/commit/12cdb71ea937e6baeb277694a2ed3a483af9cc39

Rob we could open another bug to discuss what's the wanted behavior if we have child window in the future. Closing.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Flags: needinfo?(rmacdonald)
Depends on: 1027991
Verified the issue is fixed on 2.1 and 2.0 Flame builds

Phone is no longer stuck when switching to task manager from YouTube video on Facebook

Device: Flame 2.1 KK
BuildID: 20141103001220
Gaia: 027a7de0c95320cea0579bfd1a4ceef3e9038f34
Gecko: ffecb2be228b
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 34.0 (2.1)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Device: Flame 2.0 KK
BuildID: 20141103000201
Gaia: 7b8df9941700c1f6d6d51ff464f0c8ae32008cd2
Gecko: 82a6ed695964
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 32.0 (2.0)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Contact: croesch
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: