Fullscreen Flash broken

VERIFIED FIXED in Firefox 17

Status

()

Firefox for Android
Plugins
VERIFIED FIXED
6 years ago
2 years ago

People

(Reporter: snorp, Assigned: snorp)

Tracking

unspecified
Firefox 19
ARM
Android
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(firefox17 verified, firefox18+ verified, firefox19+ verified)

Details

Attachments

(1 attachment, 1 obsolete attachment)

Looks like something broke fullscreen support for Flash recently. I get the page showing through underneath instead of the Flash content, similar to past broken behavior.
QA Contact: snorp
status-firefox18: --- → affected
status-firefox19: --- → affected
tracking-firefox18: --- → ?
tracking-firefox19: --- → ?
related to bug 789406?
Assignee: nobody → snorp
QA Contact: snorp
So there are two parts here:

1) For some reason, calling setVisiblity() on LayerView no longer has the appropriate effect on the underlying SurfaceView. Calling setVisibility(View.INVISIBLE) used to destroy the SurfaceView's surface and we would pause compositing, etc. It looks like we have to explicitly set the visibility on the SurfaceView and not just the parent (weird). However, after fixing that...

2) The patch for bug 797942 pauses and resumes the compositor on every resize event. While transitioning to fullscreen, we often change the orientation to landscape, so it triggers this path. The pause and resume events are both synchronous. Flash seems to hold a mutex that isn't released until the fullscreen SurfaceView appears on the screen, so we get a deadlock.

IMHO, the patch for bug 797942 is pretty questionable. Sending pause/resume on every resize is kind of expensive and introduces the opportunity for deadlocks like this to occur. I'm trying to find a workaround, but I think there are probably better solutions for bug 797942 too.
Depends on: 797942
Duplicate of this bug: 789406
status-firefox17: --- → affected

Updated

6 years ago
tracking-firefox18: ? → +
tracking-firefox19: ? → +
Created attachment 673370 [details] [diff] [review]
Fix fullscreen Flash on Android
Attachment #673370 - Flags: review?(blassey.bugs)
Comment on attachment 673370 [details] [diff] [review]
Fix fullscreen Flash on Android

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

::: mobile/android/base/GeckoApp.java
@@ +1354,5 @@
>          mFullScreenPluginContainer.removeView(mFullScreenPluginView);
>  
>          // We need do do this on the next iteration in order to avoid
>          // a deadlock, see comment below in FullScreenHolder
>          mMainHandler.post(new Runnable() { 

please fix this trailing whitespace while you're here

@@ +1362,5 @@
>          });
>  
>          FrameLayout decor = (FrameLayout)getWindow().getDecorView();
>          decor.removeView(mFullScreenPluginContainer);
>          

please fix this whitespace
Attachment #673370 - Flags: review?(blassey.bugs) → review+
Comment on attachment 673370 [details] [diff] [review]
Fix fullscreen Flash on Android

[Approval Request Comment]
Low risk, fixes major Flash regression
Attachment #673370 - Flags: approval-mozilla-beta?
Attachment #673370 - Flags: approval-mozilla-aurora?
Backed out on inbound:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8101371a2a4e

because all Android tests were crashing with "Verifier rejected class Lorg/mozilla/gecko/gfx/LayerView":
https://tbpl.mozilla.org/php/getParsedLog.php?id=16344714&full=1&branch=mozilla-inbound

I clobbered and retriggered; if the clobber build is green then this can re-land (with another clobber when it does).
Unfortunately the clobber build failed with the same error.
Created attachment 673933 [details] [diff] [review]
Fix fullscreen Flash on Android
Comment on attachment 673933 [details] [diff] [review]
Fix fullscreen Flash on Android

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 
User impact if declined: 
Testing completed (on m-c, etc.): 
Risk to taking this patch (and alternatives if risky): 
String or UUID changes made by this patch:
Attachment #673933 - Flags: review+
Attachment #673933 - Flags: approval-mozilla-beta?
Attachment #673933 - Flags: approval-mozilla-aurora?
Attachment #673370 - Attachment is obsolete: true
Attachment #673370 - Flags: approval-mozilla-beta?
Attachment #673370 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/b1e1fbb9f169
Status: NEW → RESOLVED
Last Resolved: 6 years ago
status-firefox19: affected → fixed
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → Firefox 19
Duplicate of this bug: 804444
Full screen flash works fine on the latest Nightly. Setting flag as verified for Firefox 19 branch. 

--
Firefox for Android 19.0a1 (2012-10-23)
Device: Galaxy S2
OS: Android 4.0.3
status-firefox19: fixed → verified
Attachment #673933 - Flags: approval-mozilla-beta?
Attachment #673933 - Flags: approval-mozilla-beta+
Attachment #673933 - Flags: approval-mozilla-aurora?
Attachment #673933 - Flags: approval-mozilla-aurora+
Verified Fixed on trunk; awaiting channel uplift
Status: RESOLVED → VERIFIED
Please uplift to branches asap.

Updated

6 years ago
status-firefox17: affected → fixed
status-firefox18: affected → fixed
This issue is fixed on the latest Aurora too.

--
Firefox 18.0a2 (2012-10-29)
Device: Galaxy R
OS: Android 2.3.4
status-firefox18: fixed → verified

Updated

6 years ago
Depends on: 809005

Comment 20

6 years ago
This issue is fixed on Firefox mobile 17 Beta 5 too

Firefox 17.0b5 (2012-11-07)
Device: Acer A500
OS: Android 3.2.1
status-firefox17: fixed → verified
You need to log in before you can comment on or make changes to this bug.