forked from mirrors/gecko-dev
Bug 1791892 - part4 : reject init promise when shutdown. r=jolin
Depends on D157884 Differential Revision: https://phabricator.services.mozilla.com/D157991
This commit is contained in:
parent
d57ad742bf
commit
5d32b4e238
1 changed files with 7 additions and 4 deletions
|
|
@ -60,7 +60,7 @@ RefPtr<GenericNonExclusivePromise> MFMediaEngineChild::Init(
|
||||||
RemoteDecodeIn::UtilityProcess_MFMediaEngineCDM);
|
RemoteDecodeIn::UtilityProcess_MFMediaEngineCDM);
|
||||||
if (!manager || !manager->CanSend()) {
|
if (!manager || !manager->CanSend()) {
|
||||||
CLOG("Manager not exists or can't send");
|
CLOG("Manager not exists or can't send");
|
||||||
mInitPromiseHolder.Reject(NS_ERROR_FAILURE, __func__);
|
mInitPromiseHolder.RejectIfExists(NS_ERROR_FAILURE, __func__);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,12 +75,13 @@ RefPtr<GenericNonExclusivePromise> MFMediaEngineChild::Init(
|
||||||
// Id 0 is used to indicate error.
|
// Id 0 is used to indicate error.
|
||||||
if (aId == 0) {
|
if (aId == 0) {
|
||||||
CLOG("Failed to initialize MFMediaEngineChild");
|
CLOG("Failed to initialize MFMediaEngineChild");
|
||||||
mInitPromiseHolder.Reject(NS_ERROR_FAILURE, __func__);
|
mInitPromiseHolder.RejectIfExists(NS_ERROR_FAILURE,
|
||||||
|
__func__);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mMediaEngineId = aId;
|
mMediaEngineId = aId;
|
||||||
CLOG("Initialized MFMediaEngineChild");
|
CLOG("Initialized MFMediaEngineChild");
|
||||||
mInitPromiseHolder.Resolve(true, __func__);
|
mInitPromiseHolder.ResolveIfExists(true, __func__);
|
||||||
},
|
},
|
||||||
[self,
|
[self,
|
||||||
this](const mozilla::ipc::ResponseRejectReason& aReason) {
|
this](const mozilla::ipc::ResponseRejectReason& aReason) {
|
||||||
|
|
@ -88,7 +89,8 @@ RefPtr<GenericNonExclusivePromise> MFMediaEngineChild::Init(
|
||||||
CLOG(
|
CLOG(
|
||||||
"Failed to initialize MFMediaEngineChild due to "
|
"Failed to initialize MFMediaEngineChild due to "
|
||||||
"IPC failure");
|
"IPC failure");
|
||||||
mInitPromiseHolder.Reject(NS_ERROR_FAILURE, __func__);
|
mInitPromiseHolder.RejectIfExists(NS_ERROR_FAILURE,
|
||||||
|
__func__);
|
||||||
})
|
})
|
||||||
->Track(mInitEngineRequest);
|
->Track(mInitEngineRequest);
|
||||||
},
|
},
|
||||||
|
|
@ -206,6 +208,7 @@ void MFMediaEngineChild::IPDLActorDestroyed() {
|
||||||
void MFMediaEngineChild::Shutdown() {
|
void MFMediaEngineChild::Shutdown() {
|
||||||
AssertOnManagerThread();
|
AssertOnManagerThread();
|
||||||
SendShutdown();
|
SendShutdown();
|
||||||
|
mInitPromiseHolder.RejectIfExists(NS_ERROR_FAILURE, __func__);
|
||||||
mInitEngineRequest.DisconnectIfExists();
|
mInitEngineRequest.DisconnectIfExists();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue