Bug 1318965 - Fixes a bug in the WideVineAdapter wherein session load failures were not adapted correctly r=cpearce

MozReview-Commit-ID: 2ze4d8EuHr9

--HG--
extra : rebase_source : 185272b47b0c70b83d6b88819e222a71e0e15dcc
extra : amend_source : b6d0b7e6f4705700d73cacfb024ea3a5c6f17a56
This commit is contained in:
Jay Harris 2016-12-20 14:35:55 +13:00
Родитель 36c1319590
Коммит a5aa2bceb7
1 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -313,6 +313,17 @@ WidevineDecryptor::OnResolveNewSessionPromise(uint32_t aPromiseId,
Log("Decryptor::OnResolveNewSessionPromise(aPromiseId=0x%d) FAIL; !mCallback", aPromiseId);
return;
}
// This is laid out in the API. If we fail to load a session we should
// call OnResolveNewSessionPromise with nullptr as the sessionId.
// We can safely assume this means that we have failed to load a session
// as the other methods specify calling 'OnRejectPromise' when they fail.
if (!aSessionId) {
Log("Decryptor::OnResolveNewSessionPromise(aPromiseId=0x%d) Failed to load session", aPromiseId);
mCallback->ResolveLoadSessionPromise(aPromiseId, false);
return;
}
Log("Decryptor::OnResolveNewSessionPromise(aPromiseId=0x%d)", aPromiseId);
auto iter = mPromiseIdToNewSessionTokens.find(aPromiseId);
if (iter == mPromiseIdToNewSessionTokens.end()) {