bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

Many videos can't be full-screened for no apparent reason

VERIFIED FIXED in Firefox OS master

Status

Firefox OS
Gaia::System::Window Mgmt
VERIFIED FIXED
4 years ago
3 years ago

People

(Reporter: cwiiis, Assigned: timdream)

Tracking

({polish})

unspecified
FxOS-S6 (04Sep)
All
Gonk (Firefox OS)
polish

Firefox Tracking Flags

(blocking-b2g:2.5+, b2g-v2.2 affected, b2g-master verified)

Details

(URL)

Attachments

(5 attachments)

(Reporter)

Description

4 years ago
If I follow a link to YouTube from Facebook or Twitter, I can't fullscreen the video.

If I open the YouTube app (which is just the website), fullscreen is available and works correctly.

I would expect fullscreen to always be available, I don't see why it isn't.
Keywords: polish
Whiteboard: [systemsfe] polish → [systemsfe]
I've never seen this for YouTube videos, but its 100% repro for Dailymotion videos.
(Reporter)

Comment 2

3 years ago
[Blocking Requested - why for this release]: This is a really long-standing and annoying bug, but is likely easily fixed once tracked down (which may not be quite so easy?)

I'm guessing that any video element in a non-remote window probably suffers from this. More importantly, any video link followed via Facebook or Twitter (or your favourite social media platform) can't be watched full-screen. Quite annoying given the amount of browser chrome there is and how difficult it can be to get the rocketbar to disappear without scrolling the video off-screen.
blocking-b2g: --- → spark?
blocking-b2g: spark? → 2.5?
blocking-b2g: 2.5? → 2.5+

Comment 3

3 years ago
Hi Gregor,
Do you know is there anyone who could take this bug?
Flags: needinfo?(gwagner)
Is this a regression?
Keywords: qawanted
This issue is reproducible on Aries and Flame 2.5, 2.2, 2.1. Following a youtube link on facebook opens youtube via browser, however the full screen option is not on the controls UI when tapped on the video.

Device: Aries 2.5
BuildID: 20150805200451
Gaia: 34ff1f5a704237820ce2e4a4aa09563b23d0e80a
Gecko: 40b2180f99d5
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 42.0a1 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:42.0) Gecko/42.0 Firefox/42.0

Device: Flame 2.5
BuildID: 20150805030212
Gaia: c5425d9f1f5184731a59ed4bc99295acbde30390
Gecko: f3b757156f69
Gonk: 41d3e221039d1c4486fc13ff26793a7a39226423
Version: 42.0a1 (2.5) 
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:42.0) Gecko/42.0 Firefox/42.0

Device: Flame 2.2
BuildID: 20150805032505
Gaia: f8b119ac30e97df991c97682ac4d4f9ca22e1793
Gecko: 0c7a85251e10
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0

Device: Flame 2.1
BuildID: 20150724001207
Gaia: 9dba58d18006e921546cec62c76074ce81e16518
Gecko: 41e10c6740be
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 34.0 (2.1) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

-----

This issue does not occur on Flame 2.0. However 2.0 uses a different/legacy browser that's no longer being used on 2.1 onwards.

Device: Flame 2.0
BuildID: 20150723000207
Gaia: b16ba05481e577bc644ed8966f587a70fe2148e6
Gecko: 2e6f1d4deff9
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 32.0 (2.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-v2.2: --- → affected
status-b2g-master: --- → affected
Flags: needinfo?(ktucker)
Keywords: qawanted
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Duplicate of this bug: 1189146
Component: Gaia::System → Audio/Video
Product: Firefox OS → Core
Whiteboard: [systemsfe]

Comment 7

3 years ago
Blake, could you help to take care this?
Flags: needinfo?(bwu)
It might be a gaia bug which I am not sure. 

Russ, 
May I have your help to have a look?
Flags: needinfo?(bwu) → needinfo?(rnicoletti)
Created attachment 8646007 [details]
video with fullscreen option

I'm not able to reproduce on my aries (2.5.0). I am able to enter fullscreen when playing the video after clicking on this link [1]. Attached is the screenshot showing the 'fullscreen' UI element. Am I correct that according to the STR I should expect the 'fullscreen' UI element to not appear?

[1] http://vid.carbuzz.com/these-folks-on-the-roof-of-their-ferrari-have-more-money-than-sense/?utm_source=311

My device build info:
application_buildid: 20150709163311
application_changeset: 917e7b01ea54
application_display_name: B2G
application_name: B2G
application_repository: https://hg.mozilla.org/mozilla-central
application_version: 42.0a1
device_firmware_date: 1434753668
device_firmware_version_incremental: eng.worker.20150619.224059
device_firmware_version_release: 4.4.2
device_id: aries
gaia_changeset: fc6643dd3da2ccdf2ab284479643836bb3698644
gaia_date: 1436353791
platform_buildid: 20150709163311
platform_changeset: 917e7b01ea54
Flags: needinfo?(rnicoletti)
(Reporter)

Comment 10

3 years ago
(In reply to Russ Nicoletti [:russn] (PTO until 8/10/15) from comment #9)
> Created attachment 8646007 [details]
> video with fullscreen option
> 
> I'm not able to reproduce on my aries (2.5.0). I am able to enter fullscreen
> when playing the video after clicking on this link [1]. Attached is the
> screenshot showing the 'fullscreen' UI element. Am I correct that according
> to the STR I should expect the 'fullscreen' UI element to not appear?
> 
> [1]
> http://vid.carbuzz.com/these-folks-on-the-roof-of-their-ferrari-have-more-
> money-than-sense/?utm_source=311

This problem manifests depending on how the link is embedded. If you follow a link to a video from the Facebook application, the fullscreen button will not appear. Following the link from the browser may not manifest the problem.

Here's some STR:

1. Go to http://chrislord.net/files/mozilla/fullscreen-video.html
2. Follow the link

Expected:

The YouTube video can be fullscreened.

Actual:

The YouTube video cannot be fullscreened. Note that if you long-press the link and choose 'Open in new window', the video can be fullscreened correctly.

Comment 11

3 years ago
Created attachment 8646219 [details]
2015-08-11-16-11-41.png

Russ, I have same as your result from your steps in comment 9. 

However, this is not STR in Description. I can reproduce on Aries with latest foxfooding build. Once I click youtube video link from Facebook App, then youtube video without fullscreen controller. But If I open same link from browser, then youtube video does have fullscreen controller.



------

Build ID               20150806112625
Gaia Revision          497fe3f938722b0aa49c93f975fad5d9ed3b0a82
Gaia Date              2015-08-06 05:30:02
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/22476236b3e1
Gecko Version          42.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20150619.224059
Firmware Date          Fri Jun 19 22:41:08 UTC 2015
Bootloader             s1

Comment 12

3 years ago
Created attachment 8646221 [details]
Youtube with fullscreen controller

with fullscreen controller

Updated

3 years ago
Flags: needinfo?(rnicoletti)
Thanks, I am seeing the issue now based on comment 11. Sotaro, can you comment on this?
Flags: needinfo?(rnicoletti) → needinfo?(sotaro.ikeda.g)
I am going to look into it.
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)
In current gecko, if TabParent has an owner element and the owner element does not have 'mozallowfullscreen' nor 'allowfullscreen' attributes, the TabParent requests TabChild to make its document as to prohibit fullscreen. The sequence is like the following.

->TabParent::Show()
->TabParent::SendShow()
->TabChild::RecvShow()
->TabChild::ApplyShowInfo()
->nsDocShell::SetFullscreenAllowed()

When we tap a link in a browser/app, the browser/app open the link. But when we long tap the link and choose 'Open in new window', system app open the link. This different seems to make the results difference.
This mechanism seems to be implemented by Bug 795184. And then modified to current code by Bug 1003848.
System app seems to set browser_frame 'mozallowfullscreen' to true.

 > browser.setAttribute('mozallowfullscreen', 'true');
    https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/browser_frame.js#L73
Browser open sequence with clicking a link is very similar to wiindowopen like the following.
 https://github.com/sotaroikeda/firefox-diagrams/blob/master/dom/dom_window_open_FirefoxOS_2_2.pdf
(In reply to Chris Lord [:cwiiis] from comment #10)
> Here's some STR:
> 
> 1. Go to http://chrislord.net/files/mozilla/fullscreen-video.html
> 2. Follow the link

In the above 1, the link's iframe was like the following in system app.

<iframe class="browser" id="browser4" data-url="http://chrislord.net/files/mozilla/fullscreen-video.html" src="http://chrislord.net/files/mozilla/fullscreen-video.html" mozallowfullscreen="true" remote="true" name="main" mozbrowser="true"></iframe>

In the abive 2, the opened link's was like the following in system app.

<iframe style="background-color: rgb(255, 255, 255);" aria-hidden="false" data-url="https://m.youtube.com/watch?v=zydvVUiqIHM" data-frame-origin="https://www.youtube.com/watch?v=zydvVUiqIHM" data-frame-type="window" remote="true" name="_blank" mozbrowser=""></iframe>

Opened links seems not created as BrowserFrame.
From comment 19, it seems better to investigate the problem by system app's WindowManager.

Updated

3 years ago
Component: Audio/Video → Gaia::System::Window Mgmt
Product: Core → Firefox OS

Updated

3 years ago
Assignee: sotaro.ikeda.g → nobody
Look like an easy bug according to comment 19?
Assignee: nobody → timdream
Status: NEW → ASSIGNED
browser_frame.js creates frames with mozallowfullscreen set to true, but the iframe element given from mozbrowseropenwindow apparently doesn't come with this property. 

Going to identify the code handling such iframe instance and set the attribute.
Created attachment 8649110 [details] [review]
[gaia] timdream:window-blank-fullscreen > mozilla-b2g:master
Comment on attachment 8649110 [details] [review]
[gaia] timdream:window-blank-fullscreen > mozilla-b2g:master

This patch set mozallowfullscreen on the iframe element sent from the mozbrowseropenwindow event. It will only apply to _blank window (I don't think attention screen, popup etc. are allowed to go full screen -- but we could argue that).

Etienne, I thought you are taking over window mgmt but I don't see your name on the suggested reviewers. Please redirect if you shouldn't review this patch.

Big kudos to :sotaro for investigation! Thanks.
Attachment #8649110 - Flags: review?(etienne)
BTW I've also realized the tests did not set the right properties for mozbrowseropenwindow events -- the iframe element should be under |frameElement| not |iframe|.
Comment on attachment 8649110 [details] [review]
[gaia] timdream:window-blank-fullscreen > mozilla-b2g:master

Looks like Etienne is PTO?
Attachment #8649110 - Flags: review?(apastor)
Made a small comment in GH. I believe we should get that value from the window that is creating the new one, instead of setting it always to true. I don't think is going to make a big difference right now, as it seems we always set that attribute to true in app windows, but I think it makes more sense for future changes. What do you think?
Flags: needinfo?(timdream)
Comment on attachment 8649110 [details] [review]
[gaia] timdream:window-blank-fullscreen > mozilla-b2g:master

(In reply to Tim Guan-tin Chien [:timdream] (slow response; please ni? to queue) from comment #26)
> Comment on attachment 8649110 [details] [review]
> [gaia] timdream:window-blank-fullscreen > mozilla-b2g:master
> 
> Looks like Etienne is PTO?

I'm back :)
The patch looks good! And looks like Alberto is on it.
Attachment #8649110 - Flags: review?(etienne)
Make sense & updated. Noted that we can't blindly set the returned value of getAttribute() to setAttribute(), bacause getAttribute() would return |null| when the property is unset and null will be cast to string "null" when being set.
Flags: needinfo?(timdream)
Comment on attachment 8649110 [details] [review]
[gaia] timdream:window-blank-fullscreen > mozilla-b2g:master

Nice! r=me as soon as the tests are green :)
Thanks for fixing this.
Attachment #8649110 - Flags: review?(apastor) → review+
master: https://github.com/mozilla-b2g/gaia/commit/edea63f933eb0233b33add9bf51772fae447a196
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Flags: needinfo?(gwagner)

Updated

3 years ago
Target Milestone: --- → FxOS-S6 (04Sep)

Comment 32

3 years ago
Created attachment 8671831 [details]
verified_Aries KK v2.5.3gp

According to the STR of Comment 10, this bug has been verified as pass on latest Aries KK v2.5 and Flame KK v2.5.
Actual results: The YouTube video can be fullscreened.
See attachment: verified_Aries KK v2.5.3gp
Reproduce rate: 0/6

Device: Aries KK v2.5 (Pass)
Build ID               20151008233852
Gaia Revision          e698df503ff700eb5782e3d50c6eb753567d3451
Gaia Date              2015-10-08 17:26:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/23b7f289df923c01e692299fcd4be7029de8b155
Gecko Version          44.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151008.225742
Firmware Date          Thu Oct  8 22:57:51 UTC 2015
Bootloader             s1

Device: Flame KK v2.5 (Pass)
Build ID               20151008150210
Gaia Revision          e698df503ff700eb5782e3d50c6eb753567d3451
Gaia Date              2015-10-08 17:26:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/e5f1bc63ad52d0eb86f7fb838226ca6036774660
Gecko Version          44.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151008.182756
Firmware Date          Thu Oct  8 18:28:08 EDT 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Updated

3 years ago
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+], [MGSEI-Triage+]
status-b2g-master: affected → verified
You need to log in before you can comment on or make changes to this bug.