зеркало из https://github.com/mozilla/gecko-dev.git
d3e80e9854
Make the SurfaceAllocator save a reference to all Surfaces it has allocated. When the connection to the remote allocator dies, mark all of those surfaces as released. Ensure subsequent attempts to allocate new Surfaces will connect to the new compositor process (either GPU or parent). For webgl, when we detect we are using a Surface that has been released, clear the pool of Surfaces used for the swapchain so that we automatically reallocate new ones. For video, if we encounter an error in RemoteVideoDecoder and can see that Surface has been released, then report a NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER in place of the potentially fatal error code we get from the java decoder. This will ensure a new decoder is created, which will in turn allocate a new Surface to decode in to. On the Android emulator (so potentially real devices too) the java decoder doesn't actually report any errors in response to the Surface being released. Therefore we also check for the Surface being released in ProcessOutput(), and manually raise the NEED_NEW_ENCODER error from there if so. Differential Revision: https://phabricator.services.mozilla.com/D133108 |
||
---|---|---|
.. | ||
2d | ||
angle | ||
cairo | ||
config | ||
docs | ||
gl | ||
graphite2 | ||
harfbuzz | ||
ipc | ||
layers | ||
ots | ||
qcms | ||
skia | ||
src | ||
tests | ||
thebes | ||
vr | ||
webrender_bindings | ||
wgpu_bindings | ||
wr | ||
ycbcr | ||
metrics.yaml | ||
moz.build |