Closed Bug 825734 Opened 12 years ago Closed 12 years ago

Plugins stop rendering when the top half of the plugin is scrolled off the top of the page, in HiDPI mode

Categories

(Core Graveyard :: Plug-ins, defect, P1)

x86
macOS
defect

Tracking

(firefox17 unaffected, firefox18+ wontfix, firefox19+ verified, firefox20+ verified, relnote-firefox 19+)

VERIFIED FIXED
mozilla20
Tracking Status
firefox17 --- unaffected
firefox18 + wontfix
firefox19 + verified
firefox20 + verified
relnote-firefox --- 19+

People

(Reporter: cpeterson, Assigned: smichaud)

References

Details

(Keywords: regression)

Attachments

(1 file)

STR:
1. Play any Flash video on YouTube or Vimeo
2. While the video is playing, slowly scroll down the page so the video is half off the top of the page

RESULT:
The video stops rendering, but the audio continues playing. If you scroll up the page so more of the video is visible, the video will begin rendering again.

I believe this is a regression from HiDPI bug 674373. I'm using a Retina MacBook Pro.

I bisected Nightly builds and identified Nightly 18 build 2012-09-30 as the regression point. Here is the changelog from build 09-29 to 09-30:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c09a0c022b2e&tochange=a680fd777c3b
Assignee: nobody → smichaud
Priority: -- → P1
(In reply to Chris Peterson (:cpeterson) from comment #0)
> STR:
> 1. Play any Flash video on YouTube or Vimeo
> 2. While the video is playing, slowly scroll down the page so the video is
> half off the top of the page
> 
> RESULT:
> The video stops rendering, but the audio continues playing. If you scroll up
> the page so more of the video is visible, the video will begin rendering
> again.
> 
> I believe this is a regression from HiDPI bug 674373. I'm using a Retina
> MacBook Pro.
> 
> I bisected Nightly builds and identified Nightly 18 build 2012-09-30 as the
> regression point. Here is the changelog from build 09-29 to 09-30:
> 
> https://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=c09a0c022b2e&tochange=a680fd777c3b

Hey Chris, I have tried with on FF18.0b7 with flash version 11.5.502.136 Mac OSX 10.8.2 on retina display and unable to reproduce it.Can you please comment on a)are you able to reproduce this consistently for any specific url's b)What version's of FF,flash are you on c)any other specific details on plugin's or env you may have to help reproduce.

In addition CC-ing qa here to see if they can help.Marcia, can you please help & try to reproduce this on your machine ?
QA Contact: mozillamarcia.knous
(In reply to bhavana bajaj [:bajaj] from comment #1)
> Hey Chris, I have tried with on FF18.0b7 with flash version 11.5.502.136 Mac
> OSX 10.8.2 on retina display and unable to reproduce it.Can you please
> comment on a)are you able to reproduce this consistently for any specific
> url's b)What version's of FF,flash are you on c)any other specific details
> on plugin's or env you may have to help reproduce.

I was using Flash 11.6.602.108 (Beta) on my Retina MacBook Pro.

I am NOT able to reproduce this bug on my non-Retina MacBook Pro (with FF20 and Flash 11.6.602.108 Beta). I can retest my Retina MacBook Pro with a non-beta version of Flash tonight.
Chris: I just tried to repro using Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20130102 Firefox/20.0. I have the same Beta Flash version as you do, and I cannot get it to reproduce playing the staff picks at http://vimeo.com/. Is it possible you have an addon that may be contributing to this issue?

I am using 10.8.3, Build 12D44 which is probably ahead of what you have.
I can repro in FF 18.0b7 and today's mozilla-central nightly with the following example:

http://mirrors.creativecommons.org/getcreative/

You need reduce the page height quite a bit to make it scrollable enough for the bug to happen.

I tested on OS X 10.7.5.  Just a sec and I'll test on 10.8.2.

(I'm testing on a Retina MBP.)
I can also repro on OS X 10.8.2.

The bug doesn't happen with HiDPI mode disabled (with gfx.hidpi.enabled set to '-1').

I'll be working on this.
Anyone know of a Silverlight animation (or one that uses some other plugin than Flash)?
Thanks, Chris.

I can also reproduce this bug with it.  Can you?
Keywords: qawanted
(In reply to Steven Michaud from comment #8)
> I can also reproduce this bug with it.  Can you?

Yes. On my Retina MacBook Pro, I can reduce the bug when playing the Silverlight video. I have Silverlight 5.1.10411.0.
Keywords: qawanted
(In reply to Steven Michaud from comment #4)
> I can repro in FF 18.0b7 and today's mozilla-central nightly with the
> following example:
> 
> http://mirrors.creativecommons.org/getcreative/
> 
> You need reduce the page height quite a bit to make it scrollable enough for
> the bug to happen.

Was able to reproduce the issue with the above suggestion. Steven, could you please help with ETA on the patch ?
> 
> I tested on OS X 10.7.5.  Just a sec and I'll test on 10.8.2.
> 
> (I'm testing on a Retina MBP.)
> Steven, could you please help with ETA on the patch?

My guess is 2-3 days.

It's definitely our bug (since it effects both Flash and Silverlight).  So the fix (when found) will probably be straightforward, and therefore low risk.  But first I have to find it.

I'll be spending most of my time on this bug until I have.
Summary: Flash videos stop rendering when the top half of the video is scrolled off the top of the page → Plugins stop rendering in HiDPI mode when the top half of the video is scrolled off the top of the page
Summary: Plugins stop rendering in HiDPI mode when the top half of the video is scrolled off the top of the page → Plugins stop rendering in HiDPI mode when the top half of the plugin is scrolled off the top of the page
We will wontfix this issue within FF18 timeframe given the aligned release timelines,amount of testing this patch will get & to avoid any surprise worse regression this may cause in case we decide to uplift in our release candidate.

Although,we will uplift the patch to FF19 once ready.
Bhavana, in that case this should probably be added to the FF18 relnotes.
I've got this fixed, I think.

I'll post the patch tomorrow, after I've had a chance to do some more testing.
Summary: Plugins stop rendering in HiDPI mode when the top half of the plugin is scrolled off the top of the page → Plugins stop rendering when the top half of the plugin is scrolled off the top of the page, in HiDPI mode
Attached patch FixSplinter Review
Here's my patch, which as I expected is simple and low-risk.

Turns out we overlooked that mClipRects uses device pixels.

I've tested this on OS X 10.7.5 and 10.8.2, with both testcases from this bug.  I didn't see any problems.
Attachment #697953 - Flags: review?(jfkthame)
Comment on attachment 697953 [details] [diff] [review]
Fix

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

Looks OK to me, but while you're here, maybe it'd be good to add a comment to the declaration of GetPluginClipRect to remind us that the (output) parameters it returns are Cocoa points (AKA display pixels), not device pixels (which is usually what nsIntRect/nsIntPoint values are used for).
Attachment #697953 - Flags: review?(jfkthame) → review+
Comment on attachment 697953 [details] [diff] [review]
Fix

Landed on mozilla-inbound:
https://hg.mozilla.org/integration/mozilla-inbound/rev/850b01396805

I added comments to both the declaration and the definition.
https://hg.mozilla.org/mozilla-central/rev/850b01396805
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Verified fixed in Nightly 20.0a1 (2013-01-07)
Status: RESOLVED → VERIFIED
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #13)
> Bhavana, in that case this should probably be added to the FF18 relnotes.

Benjamin,this has been taken care off for FF18.0 release notes :)
Steven, can you please nominate the patch for beta approval as 19's affected?
Comment on attachment 697953 [details] [diff] [review]
Fix

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 674373 (which added support for HiDPI displays)
User impact if declined: Plugin rendering broken in HiDPI mode in many common use cases
Testing completed (on m-c, etc.): Some testing by myself, plus several days testing on m-c
Risk to taking this patch (and alternatives if risky): low risk
String or UUID changes made by this patch: none
Attachment #697953 - Flags: approval-mozilla-beta?
Attachment #697953 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Keywords: qawanted, verifyme
Adding qawanted,verify me to get QA help to verify this bug with a couple of plugins in HiDPi and non-HiDPI as the patch touches general widgets code .. Thanks !
(In reply to bhavana bajaj [:bajaj] from comment #24)
> Adding qawanted,verify me to get QA help to verify this bug with a couple of
> plugins in HiDPi and non-HiDPI as the patch touches general widgets code ..
> Thanks !

Marcia's currently busy with B2G work and I don't have a Retina Mac. I've asked Matt Wobensmith to help out here.
QA Contact: mozillamarcia.knous → mwobensmith
Confirmed issue on nightly, 2013-01-01
Confirmed fixed on nightly, 2013-10-10

With an affected build, I can see the behavior by default, and then "fix" it by setting the value of gfx.hidpi.enabled from 2 to -1. On the latest build, both values allow content to display correctly.

This is using a Retina MacBook Pro, 10.8.2. 

I used both Flash and Silverlight examples included above.
Confirmed fixed 2013-01-15, beta
This also needs removing from the list of known issues on the release notes.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: