Closed Bug 1405241 Opened 2 years ago Closed 2 years ago

WebRenderBridgeChild::RecvWrUpdated() could receive same wr::IdNamespace

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected

People

(Reporter: sotaro, Assigned: jerry)

References

Details

(Whiteboard: [wr-mvp])

This bug is created based on Bug 1404232 Comment 7.

WebRenderBridgeChild::RecvWrUpdated() sometimes received same wr::IdNamespace since wr::IdNamespace is unique only within same WebRender instance. Therefore different Window(WebRender) could assign same wr::IdNamespace.
See Also: → 1404232
Current Tab move assume that WebRenderBridgeChild::RecvWrUpdated() and WebRenderBridgeParent::UpdateWebRender() receive different wr::IdNamespace during Tab move. It causes accidental resource updates in WebRender.
There are two choices to address the problem.
- [1] Change Gecko as to resist same wr::IdNamespace reuse during Tab move.
       For example, we could add generation id to recognize wr::WebRenderAPI change.
- [2] Change webrender to assign unique wr::IdNamespace even between different webrender instances.
Whiteboard: [wr-mvp] [triage]
This sounds like a possible source of confusing bugs, so we should deal with it.
Priority: -- → P2
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
https://github.com/servo/webrender/pull/1882
Assignee: nobody → hshih
Status: NEW → ASSIGNED
Priority: P2 → P1
The https://github.com/servo/webrender/pull/1882 is merged in gecko.
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.