Closed Bug 853986 Opened 11 years ago Closed 11 years ago

Empty space at the top of fullscreen HTML5 video with dynamic toolbar enabled

Categories

(Firefox for Android Graveyard :: General, defect, P1)

22 Branch
ARM
Android
defect

Tracking

(firefox20 unaffected, firefox21 unaffected, firefox22+ wontfix, firefox23+ verified, firefox24 verified, firefox25 verified, fennec23+)

VERIFIED FIXED
Firefox 25
Tracking Status
firefox20 --- unaffected
firefox21 --- unaffected
firefox22 + wontfix
firefox23 + verified
firefox24 --- verified
firefox25 --- verified
fennec 23+ ---

People

(Reporter: aaronmt, Assigned: wesj)

References

Details

(Keywords: regression, reproducible, Whiteboard: [html5Video])

Attachments

(3 files, 3 obsolete files)

See screenshot

STR:

i) http://people.mozilla.org/~atrain/mobile/tests/media.html; play any video, long-tap and full-screen it

--
Samsung Galaxy Note (Android 4.1.2)
Nightly (03/22)
Aaron, is this a recent regression? Was the Galaxy Note one of our blacklisted devices?
Component: General → Video/Audio
Product: Firefox for Android → Core
This is also reproducible on an assortment of devices, such as the LGE Nexus 4, and Samsung Galaxy Nexus and this Alcatel One Touch EVO 7" Tablet; this seems like a recent regression and not specific to a device.
Summary: Full-screen HTML5 video broken in portrait orientation → Android mobile HTML5 video in full-screen is broken in portrait orientation
Cristian, can you help find a regression range?
Flags: needinfo?(nicolae.cristian)
The regression window for this issue is:
good build: 07.03.2013  
bad build:  08.03.2013 

pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ee4879719f78&tochange=cb432984d5ce
Flags: needinfo?(nicolae.cristian)
Component: Video/Audio → General
Product: Core → Firefox for Android
Version: unspecified → Firefox 22
The tinderbox inbound builds are:
Good build: 1362588481
Bad build: 1362589064
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=42845185ca07&tochange=5948f1c95fbe
Assignee: nobody → wjohnston
tracking-fennec: ? → 22+
From bug 855240:

"A further note, been trying to debug this - the bug occurs regardless of orientation, and when the dynamic toolbar is disabled too. It seems to oscillate between the window size and some larger size, for which I've not yet figured out the relation."

Bug 859946 likely has the same root cause.
I have a fix (at least for bug 855240) that isn't too horrible :) Will verify full-screen video playback and fix that too, if it doesn't fix that (which it may not).
On second thoughts, it isn't going to help me to conflate these two separate issues, will reopen 855240.
Whiteboard: [html5]
Whiteboard: [html5] → [html5Video]
Assignee: wjohnston → chrislord.net
Could someone from front-end take this?

I think all it needs is to call hideMargins() when full-screening a video (and maybe call showMargins() if they were visible pre-fullscreen?) and it'd be a nice introduction to the code for someone.
Assignee: chrislord.net → nobody
Flags: needinfo?(mark.finkle)
Assignee: nobody → wjohnston
Sending to Wes
Flags: needinfo?(mark.finkle)
P1 since it is a top issue per QA.
Priority: -- → P1
Summary: Android mobile HTML5 video in full-screen is broken in portrait orientation → Android mobile HTML5 video in full-screen does not fill screen
we're disabling dynamic toolbar for 22, bumping to 23
tracking-fennec: 22+ → 23+
Attached patch Patch 1/2 (obsolete) — Splinter Review
I can't really reproduce this (partly because none of the videos on Aaron's test page work for me?) I think this does what you describe chris? This doesn't maintain state either (i.e. the urlbar will show whenever you come out of fullscreen). I think that might actually be nice?
Attachment #746088 - Flags: review?(chrislord.net)
(In reply to Wesley Johnston (:wesj) from comment #18)
> Created attachment 746088 [details] [diff] [review]
> Patch 1/2
> 
> I can't really reproduce this (partly because none of the videos on Aaron's
> test page work for me?)

More block-listings recently landed; maybe you're hitting one on your device. SII? How about http://cd.pn/b/
Comment on attachment 746088 [details] [diff] [review]
Patch 1/2

Review of attachment 746088 [details] [diff] [review]:
-----------------------------------------------------------------

This does what I suggested, but there are problems;

1- There's no checking or flag or anything to stop the margins being shown elsewhere
2- We don't tell Gecko that the viewport margins have disappeared, so the page may not be sized full-screen

I think we should fix both of these things. Also, sorry this review took so long, I missed the mail somehow :/

::: mobile/android/base/BrowserApp.java
@@ +1290,3 @@
>                      mBrowserToolbar.hide();
> +                    if (isDynamicToolbarEnabled()) {
> +                        mLayerView.getLayerMarginsAnimator().hideMargins(false);

If we're hiding the toolbar, we should probably just immediately hide the margins here.
Attachment #746088 - Flags: review?(chrislord.net) → review-
Version: Firefox 22 → Firefox 23
So, 22 is indeed affected here on mozilla-beta; despite having the dynamic-toolbar disabled.

Here is a screenshot from http://cd.pn/b full-screen on my Nexus 4 using Firefox Beta on Google Play.

http://cl.ly/image/2j3M2h0r3121
Version: Firefox 23 → Firefox 22
tracking-fennec: 23+ → ?
Status of attached patch?
Flags: needinfo?(wjohnston)
(In reply to Aaron Train [:aaronmt] from comment #21)
> So, 22 is indeed affected here on mozilla-beta; despite having the
> dynamic-toolbar disabled.
> 
> Here is a screenshot from http://cd.pn/b full-screen on my Nexus 4 using
> Firefox Beta on Google Play.
> 
> http://cl.ly/image/2j3M2h0r3121

This screen makes it look like it isn't related to the dynamic toolbar...
Wes - Can you repro using STR in comment 21 ?
I can! From some logging it looks like the video width == window.outerWidth. I'll have to keep digging to see what's wrong.
Flags: needinfo?(wjohnston)
(In reply to Chris Lord [:cwiiis] from comment #23)
> (In reply to Aaron Train [:aaronmt] from comment #21)
> > So, 22 is indeed affected here on mozilla-beta; despite having the
> > dynamic-toolbar disabled.
> > 
> > Here is a screenshot from http://cd.pn/b full-screen on my Nexus 4 using
> > Firefox Beta on Google Play.
> > 
> > http://cl.ly/image/2j3M2h0r3121
> 
> This screen makes it look like it isn't related to the dynamic toolbar...

In bug 876562, cpearce mentions that this issue is also present on B2G, so I think that's a separate issue from the blue bar that's appearing where the toolbar would be.
tracking-fennec: ? → 22+
Let's make this bug about the dynamic toolbar issue, bug 876562 can be about the layout issue.

Given that this is a dynamic toolbar issue, this should probably track 23, not 22.
Summary: Android mobile HTML5 video in full-screen does not fill screen → Empty space at the top of fullscreen HTML5 video with dynamic toolbar enabled
tracking-fennec: 22+ → 23+
Attached image screenshot w/ patch applied (obsolete) —
Wes, when I applied your patch, I seemed to have the inverse problem, and a blue bar showed up at the bottom of the screen :/

I was testing with ted's simple fullscreen testcase:
http://people.mozilla.com/~tmielczarek/fullscreen.html

I kinda wonder if we'll need a fix for the content issue (bug 876562) before we can come up with a good fix for this blank toolbar space issue.
Status: NEW → ASSIGNED
Alex, I think you might have wanted to relnote bug 876562, not this one (this is only an issue with the dynamic toolbar enabled, which it's not for 22).
Comment on attachment 746088 [details] [diff] [review]
Patch 1/2

Review of attachment 746088 [details] [diff] [review]:
-----------------------------------------------------------------

After tn's patch in bug 876562 is applied, this patch (or some cleaner variant) should do the trick to fix the rest of this bug.
(In reply to :Margaret Leibovic from comment #30)
> Alex, I think you might have wanted to relnote bug 876562, not this one
> (this is only an issue with the dynamic toolbar enabled, which it's not for
> 22).

Thanks Margaret.
relnote-firefox: ? → ---
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #31)
> Comment on attachment 746088 [details] [diff] [review]
> Patch 1/2
> 
> Review of attachment 746088 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> After tn's patch in bug 876562 is applied, this patch (or some cleaner
> variant) should do the trick to fix the rest of this bug.

That patch is on 23 now, can we get a nom on this for uplift with a risk eval?
Flags: needinfo?(wjohnston)
The bug 876562 fix made this less horrible, but it's still broken. My simple testcase:
http://people.mozilla.com/~tmielczarek/fullscreen.html

It should produce an all-black screen when you tap on the black box, but now it leaves an empty space where the toolbar was.
Here's what screenshot.html looks like on my Nexus 4 after tapping the black box on a recent Nightly (2013-07-07).
Attached patch Patch (obsolete) — Splinter Review
Updated. And now I'm really really really late. This uses setMaxMargins as it seemed like the easiest way to accomplish both things you mentioned. i.e. it locks the toolbar offscreen and notifies gecko that the page size may need to be updated.
Attachment #746088 - Attachment is obsolete: true
Attachment #756871 - Attachment is obsolete: true
Attachment #773607 - Flags: review?(chrislord.net)
Flags: needinfo?(wjohnston)
Comment on attachment 773607 [details] [diff] [review]
Patch

Review of attachment 773607 [details] [diff] [review]:
-----------------------------------------------------------------

::: mobile/android/base/BrowserApp.java
@@ +1591,5 @@
>              @Override
>              public void run() {
> +                if (fullscreen) {
> +                    if (isDynamicToolbarEnabled()) {
> +                        mBrowserToolbar.hide();

Probably want to do mBrowserToolbar.hide() and show() even if dynamic toolbar is not enabled, right?
Attached patch PatchSplinter Review
Grr. Yeah. I was playing with moving things around to get something prettier and apparently moved to much.
Attachment #773607 - Attachment is obsolete: true
Attachment #773607 - Flags: review?(chrislord.net)
Attachment #773972 - Flags: review?(chrislord.net)
Comment on attachment 773972 [details] [diff] [review]
Patch

Review of attachment 773972 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM, I think.
Attachment #773972 - Flags: review?(chrislord.net) → review+
Comment on attachment 773972 [details] [diff] [review]
Patch

Noming this a bit early, because we need this on beta to ship dynamic toolbar.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): dynamic toolbar
User impact if declined: fullscreen isn't quite full screen at first
Testing completed (on m-c, etc.): landed on mc today
Risk to taking this patch (and alternatives if risky): This is a fairly simple change for an edge case we just missed at first. I don't think there are many alternatives beyond disabling the dynamic toolbar.
String or IDL/UUID changes made by this patch: none
Attachment #773972 - Flags: approval-mozilla-beta?
Attachment #773972 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/a67961a377b8
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 25
Status: RESOLVED → VERIFIED
My simple fullscreen testcase does the right thing as of today's nightly. Thanks for fixing this!
Comment on attachment 773972 [details] [diff] [review]
Patch

Looks like it fixed the issue Ted was reporting.Lets take this on branches..The patch is simple and we do not want to ship dynamic toolbar with this bug.
Attachment #773972 - Flags: approval-mozilla-beta?
Attachment #773972 - Flags: approval-mozilla-beta+
Attachment #773972 - Flags: approval-mozilla-aurora?
Attachment #773972 - Flags: approval-mozilla-aurora+
Keywords: verifyme
Verified fixed on:
Build: Firefox for Android 24.0a2( 2013-07-16)
Device: Samsung Galaxy Nexus
OS: Android 4.1.1
Verified fixed on:
Build: Firefox for Android 23.0b6
Device: LG Nexus 4
OS: Android 4.2.2.
Verified fixed, so removing the keyword: "verifyme"
Keywords: verifyme
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: