Bug 1374333 - Use TalosContentProfiler to fix profiling in basic_compositor_video tests. r?rwood draft
authorMike Conley <mconley@mozilla.com>
Tue, 11 Jul 2017 18:16:17 -0400
changeset 610836 bfd72337099af269e8c43136bb3787cd9b45688f
parent 610835 d7ceacfc4479ea2b50a4dab44cdc63ee1af64e0c
child 610837 9f6cf798d1616fb14195891aa365c6e0f9752304
push id69002
push usermconley@mozilla.com
push dateTue, 18 Jul 2017 19:11:35 +0000
reviewersrwood
bugs1374333
milestone56.0a1
Bug 1374333 - Use TalosContentProfiler to fix profiling in basic_compositor_video tests. r?rwood MozReview-Commit-ID: 9CzZC0C3Ty
testing/talos/talos/tests/video/video_playback.html
--- a/testing/talos/talos/tests/video/video_playback.html
+++ b/testing/talos/talos/tests/video/video_playback.html
@@ -1,14 +1,15 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this file,
    - You can obtain one at http://mozilla.org/MPL/2.0/.  -->
 <html>
 <head>
 <script src="chrome://talos-powers-content/content/TalosPowersContent.js"></script>
+<script src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
 <script language="javascript" type="text/javascript">
 const MEASUREMENT1_MS = 3000;
 const MEASUREMENT2_MS = 2000;
 const PLAYBACK_RATE = 5;
 var vdo;
 var start1 = 0;
 var paintedFramesStart1 = 0;
 var start2 = 0;
@@ -70,48 +71,52 @@ function prepare() {
     readyToStart = true;
     vdo.setAttribute("width", vdo.videoWidth * viewMode[viewModeIndex]);
     vdo.setAttribute("height", vdo.videoHeight * viewMode[viewModeIndex]);
     startTest();
   }
 }
 
 function startTest() {
-  vdo.playbackRate = PLAYBACK_RATE;
-  start1 = performance.now();
-  paintedFramesStart1 = vdo.mozPaintedFrames;
-  vdo.play();
-  setTimeout(function() {
-    start2 = performance.now();
-    paintedFramesStart2 = vdo.mozPaintedFrames;
-    setTimeout(measurementEnded, MEASUREMENT2_MS);
-  }, MEASUREMENT1_MS);
+  TalosContentProfiler.resume("start test " + test[testIndex], true).then(() => {
+    vdo.playbackRate = PLAYBACK_RATE;
+    start1 = performance.now();
+    paintedFramesStart1 = vdo.mozPaintedFrames;
+    vdo.play();
+    setTimeout(function() {
+      start2 = performance.now();
+      paintedFramesStart2 = vdo.mozPaintedFrames;
+      setTimeout(measurementEnded, MEASUREMENT2_MS);
+    }, MEASUREMENT1_MS);
+  });
 }
 
 function measurementEnded() {
   vdo.pause();
   var end = performance.now();
   var paintedFramesEnd = vdo.mozPaintedFrames;
   var timePerFrame1 = (start2 - start1) / (paintedFramesStart2 - paintedFramesStart1);
   var timePerFrame2 = (end - start2) / (paintedFramesEnd - paintedFramesStart2);
   testResult.names.push(test[testIndex] + "_scale_" + viewMode[viewModeIndex] + "_startup");
   testResult.values.push(timePerFrame1);
   testResult.names.push(test[testIndex] + "_scale_" + viewMode[viewModeIndex] + "_inclip");
   testResult.values.push(timePerFrame2);
 
-  if (viewMode[viewModeIndex] == "fullscreen") {
-    // Exit fullscreen mode
-    if (document.exitFullscreen) {
-      document.exitFullscreen();
-    } else if (document.mozCancelFullScreen) {
-      document.mozCancelFullScreen();
+  TalosContentProfiler.pause("done test" + test[testIndex], true).then(() => {
+    if (viewMode[viewModeIndex] == "fullscreen") {
+      // Exit fullscreen mode
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.mozCancelFullScreen) {
+        document.mozCancelFullScreen();
+      }
+    } else {
+      nextTest();
     }
-  } else {
-    nextTest();
-  }
+  });
 }
 
 function nextTest() {
   viewModeIndex++;
   if (viewModeIndex >= viewMode.length) {
     viewModeIndex = 0;
     testIndex++;
   }