Bug 1358401. P2 - use the 'once' handler to remove the |firstOpen| check.
MozReview-Commit-ID: Ezp0dM1VXco
--- a/dom/media/test/eme.js
+++ b/dom/media/test/eme.js
@@ -237,39 +237,32 @@ function LoadTest(test, elem, token, loa
ok(false, token + " test does not have a tracks list");
return Promise.reject();
}
var ms = new MediaSource();
elem.src = URL.createObjectURL(ms);
return new Promise(function (resolve, reject) {
- var firstOpen = true;
ms.addEventListener("sourceopen", function () {
- if (!firstOpen) {
- Log(token, "sourceopen again?");
- return;
- }
-
- firstOpen = false;
Log(token, "sourceopen");
return Promise.all(test.tracks.map(function(track) {
return AppendTrack(test, ms, track, token, loadParams);
})).then(function() {
if (loadParams && loadParams.noEndOfStream) {
Log(token, "Tracks loaded");
} else {
Log(token, "Tracks loaded, calling MediaSource.endOfStream()");
ms.endOfStream();
}
resolve();
}).catch(function() {
Log(token, "error while loading tracks");
});
- })
+ }, {once: true});
});
}
function EMEPromise() {
var self = this;
self.promise = new Promise(function(resolve, reject) {
self.resolve = resolve;
self.reject = reject;