Backed out changeset 7ffee9383f87 (bug 1093980) for permafail.
authorRyan VanderMeulen <ryanvm@gmail.com>
Mon, 09 Mar 2015 16:20:09 -0400
changeset 250319 73a7e99cfd2a
parent 250318 d59086707825
child 250320 fc7893265f9d
push id4545
push userryanvm@gmail.com
push date2015-03-09 20:28 +0000
treeherdermozilla-beta@2c20766b4493 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1093980
milestone37.0
backs out7ffee9383f87
Backed out changeset 7ffee9383f87 (bug 1093980) for permafail.
dom/media/mediasource/test/test_FrameSelection.html
--- a/dom/media/mediasource/test/test_FrameSelection.html
+++ b/dom/media/mediasource/test/test_FrameSelection.html
@@ -9,70 +9,65 @@
 <body>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 SimpleTest.waitForExplicitFinish();
 
 var updateCount = 0;
 
+runWithMSE(function (ms, v) {
+  ms.addEventListener("sourceopen", function () {
+    var sb = ms.addSourceBuffer("video/webm");
+
+    fetchWithXHR("seek.webm", function (arrayBuffer) {
+      // Append entire file covering range [0, 4].
+      sb.appendBuffer(new Uint8Array(arrayBuffer));
+    });
+
     var targets = [{ currentTime: 3, videoWidth: 160, videoHeight: 120 },
                    { currentTime: 2, videoWidth: 160, videoHeight: 120 },
                    { currentTime: 0, videoWidth: 320, videoHeight: 240 }];
     var target;
 
-var lowResBuffer;
-runWithMSE(function (ms, v) {
-  ms.addEventListener("sourceopen", function () {
-    var sb = ms.addSourceBuffer("video/webm");
-
-    fetchWithXHR("seek.webm")
-    .then(function (arrayBuffer) {
-      var p = once(v, 'loadedmetadata');
-      // Append entire file covering range [0, 4].
-      sb.appendBuffer(new Uint8Array(arrayBuffer));
-      return p;
-    }).then(function() {
+    v.addEventListener("loadedmetadata", function () {
       is(v.currentTime, 0, "currentTime has correct initial value");
       is(v.videoWidth, 320, "videoWidth has correct initial value");
       is(v.videoHeight, 240, "videoHeight has correct initial value");
-      return fetchWithXHR("seek_lowres.webm");
-    }).then(function (arrayBuffer) {
-      // Append initialization segment.
-      var p = once(sb, 'updateend');
-      info("Appending low-res init segment");
-      sb.appendBuffer(new Uint8Array(arrayBuffer, 0, 438));
-      lowResBuffer = arrayBuffer;
-      return p;
-    }).then(function() {
-      var p = once(sb, 'updateend');
-      info("Appending low-res range [2,4]");
-      // Append media segment covering range [2, 4].
-      sb.appendBuffer(new Uint8Array(lowResBuffer, 51003));
-      return p;
-    }).then(function() {
-      ms.endOfStream();
-      var p = Promise.all([once(v, 'seeked'), once(v, 'resize')]);
-      info("Seeking to t=3");
-      v.currentTime = 3;
-      return p;
-    }).then(function() {
-      is(v.currentTime, 3, "Video currentTime at target");
-      is(v.videoWidth, 160, "videoWidth has correct low-res value");
-      is(v.videoHeight, 120, "videoHeight has correct low-res value");
 
-      var p = Promise.all([once(v, 'seeked'), once(v, 'resize')]);
-      info("Seeking to t=1");
-      v.currentTime = 1;
-      return p;
-    }).then(function() {
-      is(v.currentTime, 1, "Video currentTime at target");
-      is(v.videoWidth, 320, "videoWidth has correct high-res value");
-      is(v.videoHeight, 240, "videoHeight has correct high-res value");
-      SimpleTest.finish();
+      fetchWithXHR("seek_lowres.webm", function (arrayBuffer) {
+        // Append initialization segment.
+        sb.appendBuffer(new Uint8Array(arrayBuffer, 0, 438));
+        sb.addEventListener("updateend", function () {
+          updateCount++;
+          if (updateCount == 1) {
+            // Append media segment covering range [2, 4].
+            sb.appendBuffer(new Uint8Array(arrayBuffer, 51003));
+          }
+          else if (updateCount == 2) {
+            ms.endOfStream();
+            target = targets.shift();
+            v.currentTime = target.currentTime;
+          }
+        });
+      });
+    });
+
+    v.addEventListener("seeked", function () {
+      is(v.currentTime, target.currentTime, "Video currentTime at target");
+
+      is(v.videoWidth, target.videoWidth, "videoWidth has correct final value");
+      is(v.videoHeight, target.videoHeight, "videoHeight has correct final value");
+
+      target = targets.shift();
+      if (target) {
+        v.currentTime = target.currentTime;
+      } else {
+        SimpleTest.finish();
+      }
     });
   });
 });
 
 </script>
 </pre>
 </body>
 </html>