Bug 1374333 - Use TalosContentProfiler to fix profiling in a11yr tests. r?rwood
MozReview-Commit-ID: 43rb6DEzTJ8
--- a/testing/talos/talos/tests/a11y/dhtml.html
+++ b/testing/talos/talos/tests/a11y/dhtml.html
@@ -1,53 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<meta charset="utf-8">
<head>
<title>accessibility perf for dhtml</title>
<script src="a11y.js"></script>
+<script src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
<script>
/* import-globals-from a11y.js */
// based on: http://hacks.mozilla.org/2010/05/better-performance-with-lazy-frame-construction/
var ppDate = null;
function doInsertion() {
if (!initAccessibility()) {
dump("__FAILinit:AccessibilityUnvailable__FAIL");
return;
}
- var container = document.getElementById("container");
- var lastchild = document.getElementById("lastchild");
- var start = new Date(); // eslint-disable-line mozilla/avoid-Date-timing
- var i, div;
- for (i = 0; i < 2000; i++) {
- div = document.createElement("div");
- div.innerHTML = "<input type='text' value='a bc def g hijkl mn op qrs'/>";
- container.insertBefore(div, lastchild);
- }
- for (i = 0; i < 2000; i++) {
- div = document.createElement("div");
- div.innerHTML = "<ul><li>foo<ul><li>bar</li></ul></li><li>baz</li></ul>";
- container.insertBefore(div, lastchild);
- }
- for (i = 0; i < 2000; i++) {
- div = document.createElement("div");
+ TalosContentProfiler.resume("dhtml test start", true).then(() => {
+ var container = document.getElementById("container");
+ var lastchild = document.getElementById("lastchild");
+ var start = new Date(); // eslint-disable-line mozilla/avoid-Date-timing
+ var i, div;
+ for (i = 0; i < 2000; i++) {
+ div = document.createElement("div");
+ div.innerHTML = "<input type='text' value='a bc def g hijkl mn op qrs'/>";
+ container.insertBefore(div, lastchild);
+ }
+ for (i = 0; i < 2000; i++) {
+ div = document.createElement("div");
+ div.innerHTML = "<ul><li>foo<ul><li>bar</li></ul></li><li>baz</li></ul>";
+ container.insertBefore(div, lastchild);
+ }
+ for (i = 0; i < 2000; i++) {
+ div = document.createElement("div");
- // eslint-disable-next-line no-unsanitized/property
- div.innerHTML = "<div role='progressbar'>progressbar</div>" +
- "<span id='span" + i + "'>cb</span>";
- container.appendChild(div);
- }
- document.documentElement.offsetLeft; // flush layout
- setTimeout(postProcessingRecord, 0, start);
+ // eslint-disable-next-line no-unsanitized/property
+ div.innerHTML = "<div role='progressbar'>progressbar</div>" +
+ "<span id='span" + i + "'>cb</span>";
+ container.appendChild(div);
+ }
+ document.documentElement.offsetLeft; // flush layout
+ setTimeout(postProcessingRecord, 0, start);
+ });
}
function postProcessingRecord(s) {
// alert(new Date() - s);
- tpRecordTime(new Date() - s, s); // eslint-disable-line mozilla/avoid-Date-timing
+ let delta = new Date() - s; // eslint-disable-line mozilla/avoid-Date-timing
+ TalosContentProfiler.pause("dhtml test finish", true).then(() => {
+ tpRecordTime(delta, s);
+ });
}
</script>
</head>
<body onload="doInsertion();">
<div id="container" role="application"><div id="lastchild"></div></div>
</body>
</html>
--- a/testing/talos/talos/tests/a11y/tablemutation.html
+++ b/testing/talos/talos/tests/a11y/tablemutation.html
@@ -1,12 +1,13 @@
<head>
<meta charset="utf-8">
<title>Accessibility Table Mutation</title>
<script src="a11y.js"></script>
+<script src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
</head>
<body>
<div id="start">
<table id="datatable">
<tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
<tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
<tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
@@ -112,24 +113,29 @@ function mutateTable() {
// Start with a cached accessible tree
if (!initAccessibility()) {
dump("__FAILinit:AccessibilityUnvailable__FAIL");
return;
}
ensureAccessibleTree("start");
- var start = new Date(); // eslint-disable-line mozilla/avoid-Date-timing
+ TalosContentProfiler.resume("tablemutation start", true).then(() => {
+ var start = new Date(); // eslint-disable-line mozilla/avoid-Date-timing
- // Cause all kinds of crazy events
- Range.deleteContents();
- Range.insertNode(Fragment);
+ // Cause all kinds of crazy events
+ Range.deleteContents();
+ Range.insertNode(Fragment);
- document.documentElement.offsetLeft; // flush layout
+ document.documentElement.offsetLeft; // flush layout
- setTimeout(postProcessingRecord, 0, start);
+ setTimeout(postProcessingRecord, 0, start);
+ });
}
function postProcessingRecord(s) {
// alert(new Date() - s);
- tpRecordTime(new Date() - s, s); // eslint-disable-line mozilla/avoid-Date-timing
+ let delta = new Date() - s; // eslint-disable-line mozilla/avoid-Date-timing
+ TalosContentProfiler.pause("tablemutation finish", true).then(() => {
+ tpRecordTime(delta, s);
+ });
}
</script>