| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| body { |
| background: red; |
| } |
| </style> |
| </head> |
| <body> |
| <link rel="preload" as="style" href="resources/style.css"> |
| |
| <script> |
| window.addEventListener('load', function () { |
| var css = document.querySelectorAll('link[href*=".css"]'); |
| for (var i = 0; i < css.length; ++i) { |
| css[i].setAttribute('rel', 'stylesheet'); |
| } |
| }); |
| |
| function waitFor(duration) |
| { |
| return new Promise((resolve) => setTimeout(resolve, duration)); |
| } |
| |
| var counter = 10; |
| async function checkBackgroundColor() |
| { |
| if (--counter < 0) { |
| assert_unreached("test timed out"); |
| return; |
| } |
| if (getComputedStyle(document.body).backgroundColor === "rgb(0, 128, 0)") |
| return; |
| |
| await waitFor(10); |
| return checkBackgroundColor(); |
| } |
| |
| promise_test(async (test) => { |
| await checkBackgroundColor(); |
| document.body.style.backgroundColor = "white"; |
| }, "Check changing preload link to stylesheet link works"); |
| </script> |
| </body> |
| </html> |