DevTools: Wait for external scripts to load in tests
The file run-after-layout-and-paint.js is used by a few tracing tests.
This file is written to the document as a script tag, but nothing was
waiting for the script tag's onload event. This made these tests
occasionally flake.
Change-Id: I5cf4e0d69d9bcabfab675e39e987cb0c576c5213
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1516037
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Cr-Commit-Position: refs/heads/master@{#639710}
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/anonymous-image-object.js b/third_party/blink/web_tests/http/tests/devtools/tracing/anonymous-image-object.js
index 70556fa8..1be322e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/anonymous-image-object.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/anonymous-image-object.js
@@ -8,7 +8,6 @@
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
await TestRunner.loadHTML(`
- <script src="../../resources/run-after-layout-and-paint.js"></script>
<style>
div.marker::before {
content: url(resources/test.bmp);
@@ -16,6 +15,7 @@
</style>
<div id="marker"></div>
`);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function doActions()
{
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/decode-resize.js b/third_party/blink/web_tests/http/tests/devtools/tracing/decode-resize.js
index a83bd44..9a546f0 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/decode-resize.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/decode-resize.js
@@ -7,7 +7,6 @@
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
await TestRunner.loadHTML(`
- <script src="../../resources/run-after-layout-and-paint.js"></script>
<style>
div {
display: inline-block;
@@ -32,6 +31,7 @@
</style>
`);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
var images = [
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-js/timeline-gc-event.js b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-js/timeline-gc-event.js
index ba20d38..acb8646 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-js/timeline-gc-event.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-js/timeline-gc-event.js
@@ -6,9 +6,7 @@
TestRunner.addResult(`Tests the Timeline API instrumentation of a gc event\n`);
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
- await TestRunner.loadHTML(`
- <script src="../../../resources/run-after-layout-and-paint.js"></script>
- `);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function produceGarbageForGCEvents()
{
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-dom-gc.js b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-dom-gc.js
index 24b74ecb..87a383e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-dom-gc.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-dom-gc.js
@@ -7,9 +7,7 @@
`Tests the Timeline API instrumentation of a DOM GC event\n`);
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
- await TestRunner.loadHTML(`
- <script src="../../../resources/run-after-layout-and-paint.js"></script>
- `);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function produceGarbageForGCEvents()
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-grouped-invalidations.js b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-grouped-invalidations.js
index 3316923d..266dd79 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-grouped-invalidations.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-misc/timeline-grouped-invalidations.js
@@ -8,10 +8,10 @@
await TestRunner.showPanel('timeline');
await TestRunner.loadHTML(`
<!DOCTYPE HTML>
- <script src="../../../resources/run-after-layout-and-paint.js"></script>
<div class="testElement">P</div><div class="testElement">A</div>
<div class="testElement">S</div><div class="testElement">S</div>
`);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function display()
{
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js
index 4fac56a5..38f4770 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js
@@ -7,9 +7,9 @@
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
await TestRunner.loadHTML(`
- <script src="../../../resources/run-after-layout-and-paint.js"></script>
<div id="square" style="width: 40px; height: 40px"></div>
`);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function performActions()
{
diff --git a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/update-layer-tree.js b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/update-layer-tree.js
index 561b46c..ae4a2c0 100644
--- a/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/update-layer-tree.js
+++ b/third_party/blink/web_tests/http/tests/devtools/tracing/timeline-paint/update-layer-tree.js
@@ -7,7 +7,6 @@
await TestRunner.loadModule('performance_test_runner');
await TestRunner.showPanel('timeline');
await TestRunner.loadHTML(`
- <script src="../../../resources/run-after-layout-and-paint.js"></script>
<style>
.layer {
position: absolute;
@@ -18,6 +17,7 @@
</style>
<div id="parent-layer"></div>
`);
+ await TestRunner.addScriptTag('../../../resources/run-after-layout-and-paint.js');
await TestRunner.evaluateInPagePromise(`
function doActions()
{