Closed
Bug 1196539
Opened 11 years ago
Closed 11 years ago
[e10s] After switching the tab, flash plug-in would not repaint until mouse hover the plug-in or scrollbar
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(e10sm8+, firefox44 fixed)
RESOLVED
FIXED
mozilla44
People
(Reporter: alice0775, Assigned: jimm)
References
Details
(Keywords: perf, regression)
Attachments
(5 files, 2 obsolete files)
Steps to reproduce:
1. Open 2 tabs
about:home and http://edition.cnn.com/2014/11/23/showbiz/music/katy-perry-super-bowl/index.html?hpt=en_bn1
2. Wait for the video autoplay
3. Switch between tabs
Actual Results:
Flush plug-in would not repaint until mouse hover the plug-in or scrollbar
Expected results:
The flash plugin should be repainted immediately after switching tab
Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f00b7bf7b9f83d74ca8413d04da4942c8bcc84db&tochange=0f5421c28b14
Suspect: Bug 1163570
| Reporter | ||
Comment 1•11 years ago
|
||
Updated•11 years ago
|
Assignee: nobody → jmathies
| Reporter | ||
Comment 2•11 years ago
|
||
| Reporter | ||
Comment 3•11 years ago
|
||
Steps to reproduce:
1. Open 2 tabs
about:home and the attached testcase
2. Wait for the Flash autoplay
3. Switch between tabs
Actual Results:
Flush plug-in would not repaint until mouse hover the scrollbar or resize window
Expected results:
The flash plugin should be repainted immediately after switching tab
| Reporter | ||
Comment 4•11 years ago
|
||
This problem was also reproduced on ubuntu14.04
https://hg.mozilla.org/mozilla-central/rev/095988abdc560bf8ba07a94a425c6922a3e9bfd6
Mozilla/5.0 (X11; Linux i686; rv:43.0) Gecko/20100101 Firefox/43.0 ID:20150821030204
OS: Windows 7 → All
| Assignee | ||
Comment 6•11 years ago
|
||
You don't need the html test case really, just load the swf directly.
| Assignee | ||
Comment 7•11 years ago
|
||
I can fix this, but it's going to relay on some code in bug 1137944.
Depends on: 1137944
Comment 8•11 years ago
|
||
[Tracking Requested - why for this release]:
[Tracking Requested - why for this release]:
This seems likely to affect Firefox 40 and onwards if the culprit is bug 1163570.
status-firefox40:
--- → ?
status-firefox41:
--- → ?
status-firefox42:
--- → ?
tracking-firefox41:
--- → ?
tracking-firefox42:
--- → ?
Summary: [e10s] After switching the tab, flush plug-in would not repaint until mouse hover the plug-in or scrollbar → [e10s] After switching the tab, flash plug-in would not repaint until mouse hover the plug-in or scrollbar
Comment 10•11 years ago
|
||
Thanks Jim, I misread version reported vs. target milestone!
status-firefox40:
? → ---
status-firefox41:
? → ---
tracking-firefox41:
? → ---
tracking-firefox42:
? → ---
Flags: needinfo?(lhenry)
Comment 11•11 years ago
|
||
I also see this problem playing Silverlight video on Netflix. The plugin tab does not repaint, but I can still hear Silverlight audio playing. If you switch back and forth between the tabs, the plugin tab will sometimes repaint.
I can reproduce this in a Windows 8.1 VM and Windows 10 VM, but not OS X. I don't have a real Windows machine to test. Maybe this is a VM painting issue?
I can only reproduce the problem when e10s is enabled.
| Assignee | ||
Comment 12•11 years ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #11)
> I also see this problem playing Silverlight video on Netflix. The plugin tab
> does not repaint, but I can still hear Silverlight audio playing. If you
> switch back and forth between the tabs, the plugin tab will sometimes
> repaint.
>
> I can reproduce this in a Windows 8.1 VM and Windows 10 VM, but not OS X. I
> don't have a real Windows machine to test. Maybe this is a VM painting issue?
>
> I can only reproduce the problem when e10s is enabled.
Thanks for the details report. This is related to a problem with compositor code that manages plugin windows.
| Assignee | ||
Comment 13•11 years ago
|
||
More reliable fix than the checks I was using for roots and such via composition events.
| Assignee | ||
Comment 14•11 years ago
|
||
| Assignee | ||
Comment 15•11 years ago
|
||
Comment on attachment 8658437 [details] [diff] [review]
use AutoResolveRefLayers logic to update plugins
Review of attachment 8658437 [details] [diff] [review]:
-----------------------------------------------------------------
Matt, mind looking this over?
Attachment #8658437 -
Flags: review?(matt.woodrow)
| Assignee | ||
Updated•11 years ago
|
Attachment #8658439 -
Flags: review?(matt.woodrow)
| Assignee | ||
Comment 16•11 years ago
|
||
| Assignee | ||
Comment 17•11 years ago
|
||
fixes a build failure due to an unused variable.
Attachment #8658437 -
Attachment is obsolete: true
Attachment #8658437 -
Flags: review?(matt.woodrow)
Attachment #8658668 -
Flags: review?(matt.woodrow)
Comment 18•11 years ago
|
||
Comment on attachment 8658668 [details] [diff] [review]
use AutoResolveRefLayers logic to update plugins
Review of attachment 8658668 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/ipc/CompositorParent.cpp
@@ +1987,5 @@
> }
>
> #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
> +// static, sends plugin window state changes to the main thread
> +void
Trailing whitespace
Attachment #8658668 -
Flags: review?(matt.woodrow) → review+
Comment 19•11 years ago
|
||
Comment on attachment 8658439 [details] [diff] [review]
tests
Review of attachment 8658439 [details] [diff] [review]:
-----------------------------------------------------------------
I'm not really the best person to review JS test additions.
::: dom/plugins/test/testplugin/nptest_windows.cpp
@@ +50,5 @@
> HWND childWindow;
> ID3D10Device1 *device;
> ID3D10Texture2D *frontBuffer;
> ID3D10Texture2D *backBuffer;
> + uint32_t showWindowCount;
What is this added for? Doesn't seem to be used anywhere.
Attachment #8658439 -
Flags: review?(matt.woodrow)
| Assignee | ||
Comment 20•11 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #19)
> Comment on attachment 8658439 [details] [diff] [review]
> tests
>
> Review of attachment 8658439 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I'm not really the best person to review JS test additions.
>
> ::: dom/plugins/test/testplugin/nptest_windows.cpp
> @@ +50,5 @@
> > HWND childWindow;
> > ID3D10Device1 *device;
> > ID3D10Texture2D *frontBuffer;
> > ID3D10Texture2D *backBuffer;
> > + uint32_t showWindowCount;
>
> What is this added for? Doesn't seem to be used anywhere.
sorry, that was bleed through from another test patch. I'll bounce this off roc, he already reviewed a couple of these for me.
| Assignee | ||
Comment 21•11 years ago
|
||
Attachment #8658439 -
Attachment is obsolete: true
| Assignee | ||
Comment 22•11 years ago
|
||
Comment on attachment 8658750 [details] [diff] [review]
added tests
more plugin + compositor tests
Attachment #8658750 -
Flags: review?(roc)
Attachment #8658750 -
Flags: review?(roc) → review+
| Assignee | ||
Updated•11 years ago
|
| Assignee | ||
Updated•11 years ago
|
Comment 23•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/7d64aea33c44
https://hg.mozilla.org/mozilla-central/rev/34bd669481c2
Status: NEW → RESOLVED
Closed: 11 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Updated•4 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•