Closed
Bug 1375349
Opened 8 years ago
Closed 8 years ago
Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild()
Categories
(Core :: Graphics: Layers, enhancement)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla56
| Tracking | Status | |
|---|---|---|
| firefox56 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
Details
Attachments
(1 file, 3 obsolete files)
|
1.07 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
RecvAdoptChild() makes a move of LayerTransactionParent from one CompositorBridgeParent to another CompositorBridgeParent.
Bug 1335335 is for adding support of WebRenderBridgeParent to RecvAdoptChild(). During working it, there was a case that client side did not repaint because that client did not receive DidComposite.
Same problem could happen also for LayerTransactionParent.
| Assignee | ||
Comment 1•8 years ago
|
||
Assignee: nobody → sotaro.ikeda.g
| Assignee | ||
Comment 2•8 years ago
|
||
Attachment #8880227 -
Attachment is obsolete: true
| Assignee | ||
Updated•8 years ago
|
Attachment #8880228 -
Attachment description: patch Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild() → patch - Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild()
| Assignee | ||
Comment 3•8 years ago
|
||
Attachment #8880228 -
Attachment is obsolete: true
| Assignee | ||
Comment 4•8 years ago
|
||
| Assignee | ||
Updated•8 years ago
|
Attachment #8880239 -
Flags: review?(nical.bugzilla)
| Assignee | ||
Updated•8 years ago
|
Attachment #8880239 -
Flags: review?(matt.woodrow)
| Assignee | ||
Updated•8 years ago
|
Attachment #8880239 -
Flags: review?(nical.bugzilla)
Attachment #8880239 -
Flags: review?(matt.woodrow)
| Assignee | ||
Updated•8 years ago
|
Attachment #8880239 -
Flags: review?(matt.woodrow)
Comment 5•8 years ago
|
||
Comment on attachment 8880239 [details] [diff] [review]
patch - Add calling DidComposite() in CompositorBridgeParent::RecvAdoptChild()
Review of attachment 8880239 [details] [diff] [review]:
-----------------------------------------------------------------
I'm a bit confused about this.
DidComposite is supposed to notify the client side that we actually composited.
If the client side is blocking and waiting for a DidComposite message, where did the real one go?
Is there a race condition where we're sending the DidComposite back to the wrong ClientLayerManager?
Attachment #8880239 -
Flags: review?(matt.woodrow)
| Assignee | ||
Comment 6•8 years ago
|
||
Sorry, I confused with webrender case. In the case, it could not be composited with new webrender, since webrender keys are not valid in a new webrender instance.
In normal composition case, the composition could happen with a new compositor. Then a composition should be scheduled with a new compositor.
| Assignee | ||
Comment 7•8 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #5)
> Review of attachment 8880239 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I'm a bit confused about this.
>
> DidComposite is supposed to notify the client side that we actually
> composited.
>
> If the client side is blocking and waiting for a DidComposite message, where
> did the real one go?
The real composition should happen with a new compositor. attachment 8880239 [details] [diff] [review] is not correct fix.
> Is there a race condition where we're sending the DidComposite back to the
> wrong ClientLayerManager?
There could be a race condition. Same ClientLayerManager is used to receive composition. But there is a possibility that parent side do not send DidComposite. LayerTransactionParent could be moved to a new composition before the transaction is composited on an old compositor.
| Assignee | ||
Comment 8•8 years ago
|
||
Attachment #8880239 -
Attachment is obsolete: true
| Assignee | ||
Updated•8 years ago
|
Attachment #8881342 -
Flags: review?(matt.woodrow)
Updated•8 years ago
|
Attachment #8881342 -
Flags: review?(matt.woodrow) → review+
| Assignee | ||
Comment 9•8 years ago
|
||
| Assignee | ||
Updated•8 years ago
|
Summary: Call DidComposite() in CompositorBridgeParent::RecvAdoptChild() → Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild()
Comment 10•8 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5e83b520f1a0
Add calling ScheduleComposition() in CompositorBridgeParent::RecvAdoptChild() r=mattwoodrow
Comment 11•8 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox56:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in
before you can comment on or make changes to this bug.
Description
•