зеркало из https://github.com/mozilla/gecko-dev.git
ac545b4747
When ContentChild::RecvInitRendering is received, it tries to setup the IPDL actors related to rendering. If the GPU process crashes before or during this process, it will fail, and cause the content process to crash as well. This is unnecessary because the UI process will either restart the GPU process, or subsume its job into itself, and trigger ContentChild::RecvReinitRendering. It is a similar case for failures in ContentChild::RecvReinitRendering. Since the GPU process crashing should be a recoverable scenario, we now check if the remote IPDL actor is in the UI or the GPU process. If it is in the UI process, it will fail/crash as it does today. If it is in the GPU process, it will wait for the next ContentChild::RecvReinitRendering. For failures that are not IPDL related (e.g. failed to get some resource like spawning a thread), we release assert specifically for those failures. They are not recoverable. |
||
---|---|---|
.. | ||
PVRLayer.ipdl | ||
PVRManager.ipdl | ||
VRLayerChild.cpp | ||
VRLayerChild.h | ||
VRLayerParent.cpp | ||
VRLayerParent.h | ||
VRManagerChild.cpp | ||
VRManagerChild.h | ||
VRManagerParent.cpp | ||
VRManagerParent.h | ||
VRMessageUtils.h |