Closed Bug 784131 Opened 12 years ago Closed 12 years ago

Flash players continues to play after closing the video on that site

Categories

(Core Graveyard :: Plug-ins, defect)

13 Branch
defect
Not set
normal

Tracking

(firefox19 wontfix, firefox20 wontfix, firefox21 affected, firefox22 fixed, firefox-esr10 unaffected, firefox-esr17 affected, b2g18 unaffected, b2g18-v1.0.0 unaffected, b2g18-v1.0.1 unaffected)

RESOLVED FIXED
mozilla22
Tracking Status
firefox19 --- wontfix
firefox20 --- wontfix
firefox21 --- affected
firefox22 --- fixed
firefox-esr10 --- unaffected
firefox-esr17 --- affected
b2g18 --- unaffected
b2g18-v1.0.0 --- unaffected
b2g18-v1.0.1 --- unaffected

People

(Reporter: abhixecutor, Assigned: johns)

References

Details

(Keywords: regression)

Attachments

(4 files, 6 obsolete files)

(deleted), patch
jaas
: review+
johns
: checkin+
Details | Diff | Splinter Review
(deleted), patch
jaas
: review+
johns
: checkin+
Details | Diff | Splinter Review
(deleted), patch
jaas
: review+
johns
: checkin+
Details | Diff | Splinter Review
(deleted), patch
johns
: review+
johns
: checkin+
Details | Diff | Splinter Review
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0
Build ID: 20120814224555

Steps to reproduce:

Go to : http://www.teradata.com/business.aspx?id=16740 play the video on the site.



Actual results:

When the video is closed firefox continues to play the music/audio of the video in the background.



Expected results:

The video along with the audio should stop and video shouldn't don't be downloaded.
This is being observed in many other sites too
Summary: Flash players continues to play after closing in a webpage → Flash players continues to play after closing the video on that site
what's your Flash version?
(In reply to Loic from comment #1)
> what's your Flash version?

Flash 10.2 r153
Thanks, I'm able to reproduce it with Flash 11.2.202.235 too.

It's a regression from Firefox 12.

mozregression range:
m-c
good=2012-01-31
bad=2012-02-01
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=3f26b7bee352&tochange=e18c7bc2c28e

Suspected bug:
Josh Aas — Bug 90268: Change plugin instance ownership from layout to content. r=roc r=bsmedberg
Blocks: 90268
Status: UNCONFIRMED → NEW
Component: Untriaged → Plug-ins
Ever confirmed: true
Keywords: regression
Product: Firefox → Core
Version: 15 Branch → 12 Branch
Dupe of https://bugzilla.mozilla.org/show_bug.cgi?id=781482 or visa-versa ?  or just not related at all...
Quickly, I would say the current bug is similar to bug 776451.
(In reply to Jim Jeffery not reading bug-mail 1/2/11 from comment #4)
> Dupe of https://bugzilla.mozilla.org/show_bug.cgi?id=781482 or visa-versa ? 
> or just not related at all...

it is similar to https://bugzilla.mozilla.org/show_bug.cgi?id=781482#c7 
but the problem described in the thread i believe is that even after closing the tab the video continues to play but in this case once the tab is closed the video stops playing
Is this a dup of 784070 ?
(In reply to Ludovic Hirlimann [:Usul] from comment #7)
> Is this a dup of 784070 ?

No, bug 781482 or bug 784070 imply zombie compartments with add-ons, it's not the case here. You can reproduce the bug with a fresh profile without add-ons.
Another example:
http://zizirincolisky.com/installations_en.html#confession_chair
Click on the image then click on the play button when you see the Flash video. Close the video (X button), the audio continues to play.

EDIT: and the regression is in FF13, not FF12.
Version: 12 Branch → 13 Branch
This is caused by plugins losing their frame (e.g. becoming display:none) not properly stopping. Bug 783059 is needed as well to create tests for all these start/stop cases, I suspect we'll find more issues.
Assignee: nobody → jschoenick
Status: NEW → ASSIGNED
OS: Windows 7 → All
Hardware: x86_64 → All
Keywords: verifyme
I think we should wait until instantiation tests are in before changing stuff
around like this, but this re-purposes InDocCheckEvent to also handle killing
plugins that lose frames.
https://tbpl.mozilla.org/?tree=Try&rev=61dd575c1fdf
On further review, this is not a recent regression and hasn't been a major issue on SUMO since FF13 was on beta. No need to track for release, although we'd consider an uplift when ready.
Un bitrotted. Repurposes InDocCheckEvent to check for both in-active-document
and has-a-frame, properly stopping plugins that do not get a new frame.
Attachment #659053 - Attachment is obsolete: true
Attachment #692035 - Flags: review?(joshmoz)
Attachment #692035 - Attachment description: Bug 784131 - Kill plugins that become unrendered (e.g. display:none) → Kill plugins that become unrendered (e.g. display:none)
Attachment #692054 - Attachment is obsolete: true
Comment on attachment 692035 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none)

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

::: content/base/src/nsObjectLoadingContent.cpp
@@ +939,5 @@
> +    return NS_OK;
> +  }
> +
> +  if (!aFrame) {
> +    // Lost our frame. If we arn't going to be getting a new frame, e.g. we've

"arn't" -> "aren't"
Attachment #692035 - Flags: review?(joshmoz) → review+
Attachment #692035 - Attachment is obsolete: true
Attachment #724509 - Flags: review?(joshmoz)
Attachment #724510 - Flags: review?(joshmoz)
Comment on attachment 724508 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none)

I reworked this a little - we now track pending instances of this event so we don't queue event A -> get a new frame -> lose that frame -> queue event B -> event A fires before it's reasonable to assume we will not be getting a new frame.
Attachment #724508 - Flags: review?(joshmoz)
Attached patch Test (deleted) — Splinter Review
Attachment #724533 - Flags: review?(joshmoz)
https://tbpl.mozilla.org/?tree=Try&rev=4f7b470af486
Attachment #724509 - Flags: review?(joshmoz) → review+
Attachment #724510 - Flags: review?(joshmoz) → review+
Attachment #724533 - Flags: review?(joshmoz) → review+
Comment on attachment 724508 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none)

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

::: content/base/src/nsObjectLoadingContent.cpp
@@ +677,5 @@
>  }
>  
>  nsObjectLoadingContent::nsObjectLoadingContent()
>    : mPendingInstantiateEvent(nullptr)
> +  , mPendingCheckPluginStopEvent(nullptr)

You don't need to initailize comptrs to null.

@@ +993,5 @@
> +    return NS_OK;
> +  }
> +
> +  if (!aFrame) {
> +    // Lost our frame. If we arn't going to be getting a new frame, e.g. we've

s/arn't/aren't/
Attachment #724508 - Flags: review?(joshmoz) → review+
Fixed typo and removed useless comptr initializers
Attachment #724508 - Attachment is obsolete: true
(In reply to John Schoenick [:johns] from comment #24)
> https://tbpl.mozilla.org/?tree=Try&rev=4f7b470af486

Just tested with the 'try-build', and it fixes the issue with the audio-run on in the test URL.

http://www.teradata.com/business.aspx?id=16740
Depends on: 851378
Rebased onto bug 818785 to fix try failures
Attachment #724608 - Attachment is obsolete: true
(In reply to John Schoenick [:johns] from comment #28)
> Rebased onto bug 818785 to fix try failures

On to bug 851378, rather
Looks good on try now, despite orange factor

https://tbpl.mozilla.org/?tree=Try&rev=dea28098a353
Rebased again, on top of bug 843671 + bug 851378
Attachment #725217 - Attachment is obsolete: true
Comment on attachment 726948 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none). r=josh

https://hg.mozilla.org/integration/mozilla-inbound/rev/0d40b8591124
Attachment #726948 - Flags: checkin+
Attachment #724510 - Flags: checkin+
Attachment #724533 - Flags: checkin+
Attachment #726948 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/f4e7d0ad184c
https://hg.mozilla.org/mozilla-central/rev/261c8ee45444
https://hg.mozilla.org/mozilla-central/rev/da937d761b89
https://hg.mozilla.org/mozilla-central/rev/0d40b8591124
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
Per comment 14, do we want to consider this for aurora or esr17?

It has been broken since the ff13 timeframe, but is still a regression, and any fallout from this fix would probably not be found until at least the beta audience anyway, given the usual way plugin issues are found.
Err, I suppose I should just nom the patches rather than tracking
Comment on attachment 726948 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none). r=josh

Note this requires uplifting bug 851378 as well, which is also required for uplifting bug 843671

[Approval Request Comment]
Bug caused by (feature/regressing bug #):
Probably bug 90268, landed in FF13

User impact if declined:
Some sites, such as CNN, rely on setting display:none to kill off unwanted plugins such as video. Without this patch those instances continue to play in the background until the page is closed.

Testing completed (on m-c, etc.):
on m-c, not likely to see any fallout until it reaches beta regardless, given the low testing exposure plugins get on >=aurora

Risk to taking this patch (and alternatives if risky):
Fairly low, plugins have always been finicky about ordering, but the tests landed with bug 783059 should make serious regressions less likely.

String or UUID changes made by this patch: 
None

If this is not a sec:{high,crit} bug, please state case for ESR consideration:
Regression from FF13 timeframe with impact on significant sites

Fix Landed on Version:
22
Attachment #726948 - Flags: approval-mozilla-esr17?
Attachment #726948 - Flags: approval-mozilla-aurora?
Attachment #724533 - Flags: approval-mozilla-esr17?
Attachment #724533 - Flags: approval-mozilla-aurora?
Attachment #724510 - Flags: approval-mozilla-esr17?
Attachment #724510 - Flags: approval-mozilla-aurora?
Attachment #724509 - Flags: approval-mozilla-esr17?
Attachment #724509 - Flags: approval-mozilla-aurora?
Comment on attachment 726948 [details] [diff] [review]
Kill plugins that become unrendered (e.g. display:none). r=josh

I take it back, bug 851378 is undesirable for esr17 and has no other reason to be uplifted there.
Attachment #726948 - Flags: approval-mozilla-esr17?
Attachment #724509 - Flags: approval-mozilla-esr17?
Attachment #724510 - Flags: approval-mozilla-esr17?
Attachment #724533 - Flags: approval-mozilla-esr17?
Unless we need this to also fix the plugin comment UI, I'm not sure taking this on Aurora is worth the risk.
Depends on: 854082
John, based on comment# 39 & given this is longstanding regression from FF13 it seems safer for this to ride the trains instead of uplift here in the last week of aurora cycle.

Please let us know if I mis-read anything here and there is a high value with the uplift given the risk else I will go ahead and a - these . Thanks !
Attachment #726948 - Flags: approval-mozilla-aurora?
Attachment #724510 - Flags: approval-mozilla-aurora?
Attachment #724509 - Flags: approval-mozilla-aurora?
Attachment #724533 - Flags: approval-mozilla-aurora?
(In reply to bhavana bajaj [:bajaj] from comment #40)
> John, based on comment# 39 & given this is longstanding regression from FF13
> it seems safer for this to ride the trains instead of uplift here in the
> last week of aurora cycle.
> 
> Please let us know if I mis-read anything here and there is a high value
> with the uplift given the risk else I will go ahead and a - these . Thanks !

I agree -- we also have a probable regression in bug 854082
Depends on: 856262
Depends on: 858773
Depends on: 861140
Depends on: 889614
No longer depends on: 889614
Depends on: 889614
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: