Closed
Bug 1276020
Opened 9 years ago
Closed 9 years ago
[e10s] Flash content does not appear
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(e10s-, firefox50 fixed)
RESOLVED
FIXED
mozilla50
People
(Reporter: over68, Assigned: sotaro)
References
Details
(Keywords: regression, Whiteboard: STR in comment 0)
Attachments
(1 file, 2 obsolete files)
|
1014 bytes,
patch
|
sotaro
:
review+
|
Details | Diff | Splinter Review |
Steps to reproduce:
Open this flash in the same tab or by copy and past the link into the address bar https://dl.dropboxusercontent.com/u/95157096/85f61cf7/3hl97q6u59.swf.
I am using the latest Flash Player beta 22.0.0.168.
Actual results:
It displays a blank page instead of Flash content.
See https://dl.dropboxusercontent.com/u/95157096/85f61cf7/uxqgr9mb9e.mp4
Flags: needinfo?(dvander)
Regression range:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=02c69f4f896255189ce2f9f4e0d875e383bcfbd7&tochange=a1bd47d76f71162534090485acc57866dcd55eef
Regressed by: bug 1229961
Blocks: 1229961
Keywords: regression
| Assignee | ||
Comment 2•9 years ago
|
||
| Assignee | ||
Comment 3•9 years ago
|
||
attachment 8757248 [details] [diff] [review] addressed the problem for me.
| Assignee | ||
Comment 4•9 years ago
|
||
To reproduce the problem, I used latest "Flash Player beta 22.0.0.168" as in Bug 1275680 Comment 8.
| Assignee | ||
Comment 5•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
> To reproduce the problem, I used latest "Flash Player beta 22.0.0.168" as in
> Bug 1275680 Comment 8.
And also direct plugin drawing needs to be enabled.
| Assignee | ||
Updated•9 years ago
|
Attachment #8757248 -
Flags: review?(dvander)
Comment on attachment 8757248 [details] [diff] [review]
patch - InvalidateRect in PluginInstanceParent::SetCurrentImage()
Review of attachment 8757248 [details] [diff] [review]:
-----------------------------------------------------------------
Sotaro, could you explain why this change works? This was designed to not need to invalidate anything in layout: SetCurrentImage bumps the frame ID which should tell the compositor it needs to composite the layer again, and SetCurrentImages should perform an async transaction.
Flags: needinfo?(dvander) → needinfo?(sotaro.ikeda.g)
| Assignee | ||
Comment 7•9 years ago
|
||
When ImageContainer is in ImageContainer::ASYNCHRONOUS, ImageClientSingle is created on ImageBridge. ImageHost is also created on ImageBridge. At this point, ImageHost is not connected to ImageLayerComposite. Even when ImageHost receives an image to render, ScheduleComposition() is not called in ReceiveCompositableUpdate()
https://dxr.mozilla.org/mozilla-central/source/gfx/layers/ipc/CompositableTransactionParent.cpp#196
To connect ImageHost to ImageLayerComposite, ImageClientBridge::UpdateImage() needs to be called. ImageClientBridge is on CompositorBridge. To call the UpdateImage(), LayerTransaction needs to be triggered. To trigger the layer transaction, the patch called Invalidate.
https://github.com/sotaroikeda/firefox-diagrams/blob/master/gfx/gfx_ImageBridge_FirefoxOS_2_1.pdf
Flags: needinfo?(sotaro.ikeda.g)
| Assignee | ||
Comment 8•9 years ago
|
||
This patch also worked.
| Assignee | ||
Comment 9•9 years ago
|
||
Comment on attachment 8758090 [details] [diff] [review]
patch - Call invalidate to trigger ImageClientBridge::UpdateImage()
:dvander, which patch is better? Or should be address the problem another way?
Attachment #8758090 -
Flags: review?(dvander)
| Assignee | ||
Comment 10•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #9)
> Comment on attachment 8758090 [details] [diff] [review]
> patch - Call invalidate to trigger ImageClientBridge::UpdateImage()
It might be fragile in a case that layer is recreated compared to attachment 8757248 [details] [diff] [review].
Updated•9 years ago
|
(In reply to Sotaro Ikeda [:sotaro] from comment #10)
> (In reply to Sotaro Ikeda [:sotaro] from comment #9)
> > Comment on attachment 8758090 [details] [diff] [review]
> > patch - Call invalidate to trigger ImageClientBridge::UpdateImage()
>
> It might be fragile in a case that layer is recreated compared to attachment
> 8757248 [details] [diff] [review].
How does video handle this scenario? Does it delete the ImageContainer? (I'm fine with taking the first patch if we think the new approach is fragile, but I want to understand what's happening first)
Flags: needinfo?(sotaro.ikeda.g)
| Assignee | ||
Comment 12•9 years ago
|
||
During video rendering there is a case that ImageLayer does not exist. VideoFrameContainer::InvalidateWithFlags() handles it. frame->InvalidateFrame() or frame->InvalidateLayer() is called for each video rendering. From it, I just thought the first patch is safer.
https://dxr.mozilla.org/mozilla-central/source/dom/media/VideoFrameContainer.cpp#169
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Sotaro Ikeda [:sotaro] from comment #12)
> During video rendering there is a case that ImageLayer does not exist.
> VideoFrameContainer::InvalidateWithFlags() handles it.
> frame->InvalidateFrame() or frame->InvalidateLayer() is called for each
> video rendering. From it, I just thought the first patch is safer.
>
> https://dxr.mozilla.org/mozilla-central/source/dom/media/VideoFrameContainer.
> cpp#169
Okay, thanks for the explanation. The first patch seems reasonable then.
Attachment #8757248 -
Flags: review?(dvander) → review+
| Assignee | ||
Updated•9 years ago
|
Assignee: nobody → sotaro.ikeda.g
| Assignee | ||
Updated•9 years ago
|
Attachment #8758090 -
Attachment is obsolete: true
Attachment #8758090 -
Flags: review?(dvander)
| Assignee | ||
Comment 14•9 years ago
|
||
Fixed warining.
Attachment #8757248 -
Attachment is obsolete: true
| Assignee | ||
Updated•9 years ago
|
Attachment #8759526 -
Flags: review+
| Assignee | ||
Comment 15•9 years ago
|
||
Comment 16•9 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/189923b75373
InvalidateRect in PluginInstanceParent::SetCurrentImage() r=dvander
| Assignee | ||
Updated•9 years ago
|
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Comment 17•9 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox50:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
| Assignee | ||
Updated•9 years ago
|
Updated•8 years ago
|
Whiteboard: STR in comment 0
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•