From 14020892523161cd5d8200bcabf9becfd5a1b5c1 Mon Sep 17 00:00:00 2001 From: Blink WPT Bot Date: Fri, 4 Feb 2022 18:45:18 -0800 Subject: [PATCH] Add more tentative WPT tests for render-blocking elements (#32669) This patch adds more WPT tests for: - Parser-inserted preload links - Script-inserted stylesheet and preload links - Script-inserted style elements Bug: 1271296 Change-Id: I8f6ffc6a191370410da56b64d7ff8dba852e2732 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3435366 Reviewed-by: Domenic Denicola Commit-Queue: Xiaocheng Hu Cr-Commit-Position: refs/heads/main@{#967088} Co-authored-by: Xiaocheng Hu --- ...arser-inserted-preload-link.tentative.html | 27 +++++++++++++++ ...cript-inserted-preload-link.tentative.html | 34 +++++++++++++++++++ ...ript-inserted-style-element.tentative.html | 26 ++++++++++++++ ...pt-inserted-stylesheet-link.tentative.html | 27 +++++++++++++++ .../support/test-render-blocking.js | 11 +++--- 5 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 html/dom/render-blocking/parser-inserted-preload-link.tentative.html create mode 100644 html/dom/render-blocking/script-inserted-preload-link.tentative.html create mode 100644 html/dom/render-blocking/script-inserted-style-element.tentative.html create mode 100644 html/dom/render-blocking/script-inserted-stylesheet-link.tentative.html diff --git a/html/dom/render-blocking/parser-inserted-preload-link.tentative.html b/html/dom/render-blocking/parser-inserted-preload-link.tentative.html new file mode 100644 index 000000000000000..827985d71a8a92e --- /dev/null +++ b/html/dom/render-blocking/parser-inserted-preload-link.tentative.html @@ -0,0 +1,27 @@ + +Parser-inserted preload links with "blocking=render" are render-blocking + + + + + + +Lorem ipsum + + diff --git a/html/dom/render-blocking/script-inserted-preload-link.tentative.html b/html/dom/render-blocking/script-inserted-preload-link.tentative.html new file mode 100644 index 000000000000000..a96e223d623cd89 --- /dev/null +++ b/html/dom/render-blocking/script-inserted-preload-link.tentative.html @@ -0,0 +1,34 @@ + +Script-inserted preload links with "blocking=render" are render-blocking + + + + + + + +Lorem ipsum + + diff --git a/html/dom/render-blocking/script-inserted-style-element.tentative.html b/html/dom/render-blocking/script-inserted-style-element.tentative.html new file mode 100644 index 000000000000000..683706af50d97cd --- /dev/null +++ b/html/dom/render-blocking/script-inserted-style-element.tentative.html @@ -0,0 +1,26 @@ + +Script-inserted style elements with "blocking=render" are render-blocking + + + + + + +
+ This should be red +
+ + diff --git a/html/dom/render-blocking/script-inserted-stylesheet-link.tentative.html b/html/dom/render-blocking/script-inserted-stylesheet-link.tentative.html new file mode 100644 index 000000000000000..46755387d712adc --- /dev/null +++ b/html/dom/render-blocking/script-inserted-stylesheet-link.tentative.html @@ -0,0 +1,27 @@ + +Script-inserted stylesheet links with "blocking=render" are render-blocking + + + + + + +
+ This should be red +
+ + diff --git a/html/dom/render-blocking/support/test-render-blocking.js b/html/dom/render-blocking/support/test-render-blocking.js index b0663102bda5acd..b3d09abaa508d61 100644 --- a/html/dom/render-blocking/support/test-render-blocking.js +++ b/html/dom/render-blocking/support/test-render-blocking.js @@ -57,13 +57,16 @@ function createAnimationTarget() { // are reported by different threads. const epsilon = 50; -function test_render_blocking(finalTest, finalTestTitle) { +function test_render_blocking(optional_element, finalTest, finalTestTitle) { // Ideally, we should observe the 'load' event on the specific render-blocking // elements. However, this is not possible for script-blocking stylesheets, so // we have to observe the 'load' event on 'window' instead. - // TODO(xiaochengh): Add tests for other types of render-blocking elements and - // observe the specific 'load' events on them. - const loadObserver = new LoadObserver(window); + if (!(optional_element instanceof HTMLElement)) { + finalTestTitle = finalTest; + finalTest = optional_element; + optional_element = undefined; + } + const loadObserver = new LoadObserver(optional_element || window); promise_test(async test => { assert_implements(window.PerformancePaintTiming);