Closed
Bug 1152326
Opened 10 years ago
Closed 9 years ago
[e10s] Flash plugin is continuously flickering if multiple browsers are opened
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla41
People
(Reporter: alice0775, Assigned: jimm)
References
Details
(Keywords: regression, Whiteboard: gfx-noted)
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
bugzilla
:
review+
|
Details | Diff | Splinter Review |
This happens on e10s only.
This is similar to Bug 1151319, but regression range is different.
Steps to reproduce:
1. Open http://game.goo.ne.jp/choi/title/solitaire/index.html in window[A]
2. Open new window[B] and about:home
Actual results:
The Flash is continuously flashing
Expected results:
Not flashing
#1 Regression window:
The Flash completely disappears
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c6d4680f1f5a&tochange=1968388d42c2
Triggered by: 3eb6f6c017ce Jim Mathies — Bug 1133237 - When transitioning from a shadow layer tree that has plugins to a tree that does not, make sure the old plugins get hidden properly. r=roc
#2 Regression window:
The Flash is continuously flickering
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=4e6629bce17b&tochange=fdf4671db324
Triggered by: ddd5517ce7d2 Jim Mathies — Bug 1138181 - Be more aggressive in updating plugin geometry in the compositor, avoids filtering out important offset updates that don't involve remote layer tree updates. r=roc
Flags: needinfo?(jmathies)
Reporter | ||
Updated•10 years ago
|
Assignee | ||
Comment 1•10 years ago
|
||
The needinfos keep these out of our triage lists.
Flags: needinfo?(jmathies)
Updated•10 years ago
|
Assignee | ||
Updated•10 years ago
|
Blocks: e10s-plugins
Updated•10 years ago
|
Whiteboard: gfx-noted
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → jmathies
Assignee | ||
Comment 3•9 years ago
|
||
I'm not able to reproduce this having the two windows open and sitting next to each other on the desktop.
Assignee | ||
Comment 4•9 years ago
|
||
Oh, I think I just got this briefly, looking.
Comment 5•9 years ago
|
||
I see this all the time on a bit slower laptop (Win7).
Assignee | ||
Comment 6•9 years ago
|
||
The widget visibility routines were being asked to set all plugins not included with layer updates to hidden. Since we have one compositor per top level window each compositor was trying to the plugin windows owned by other top level windows to hidden.
This is fixes the problem - basically hand the parent widget in to the visibility routines and check it against the parent of the widget before calling Show.
Assignee | ||
Comment 7•9 years ago
|
||
Attachment #8623275 -
Attachment is obsolete: true
Attachment #8623280 -
Flags: review?(aklotz)
Comment 8•9 years ago
|
||
Comment on attachment 8623280 [details] [diff] [review]
patch v.1
Review of attachment 8623280 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/ipc/CompositorChild.cpp
@@ +270,5 @@
> NS_WARNING("Unexpected, plugin id not found!");
> continue;
> }
> + if (!parent) {
> + parent = widget->GetParent();
What if widget changes and has a different parent than the one saved here? Is that possible?
Comment 9•9 years ago
|
||
(In reply to Aaron Klotz [:aklotz] (please use needinfo) from comment #8)
> Comment on attachment 8623280 [details] [diff] [review]
> patch v.1
>
> Review of attachment 8623280 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: gfx/layers/ipc/CompositorChild.cpp
> @@ +270,5 @@
> > NS_WARNING("Unexpected, plugin id not found!");
> > continue;
> > }
> > + if (!parent) {
> > + parent = widget->GetParent();
>
> What if widget changes and has a different parent than the one saved here?
> Is that possible?
Flags: needinfo?(jmathies)
Assignee | ||
Comment 10•9 years ago
|
||
(In reply to Aaron Klotz [:aklotz] (please use needinfo) from comment #8)
> Comment on attachment 8623280 [details] [diff] [review]
> patch v.1
>
> Review of attachment 8623280 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: gfx/layers/ipc/CompositorChild.cpp
> @@ +270,5 @@
> > NS_WARNING("Unexpected, plugin id not found!");
> > continue;
> > }
> > + if (!parent) {
> > + parent = widget->GetParent();
>
> What if widget changes and has a different parent than the one saved here?
> Is that possible?
Plugin updates here are grouped by top level window since compositors are tied to top level windows. So every one of these plugins should have the same parent. If the parent changes at some point (tab drag out for example) it shouldn't effect this code at all since the parents should all get updated.
Flags: needinfo?(jmathies)
Comment 11•9 years ago
|
||
Comment on attachment 8623280 [details] [diff] [review]
patch v.1
Review of attachment 8623280 [details] [diff] [review]:
-----------------------------------------------------------------
OK, thanks for the info. LGTM.
Attachment #8623280 -
Flags: review?(aklotz) → review+
Assignee | ||
Comment 12•9 years ago
|
||
Comment 13•9 years ago
|
||
Comment 14•9 years ago
|
||
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in
before you can comment on or make changes to this bug.
Description
•