| <html> |
| <head> |
| <script src="../../../resources/js-test.js"></script> |
| <script src="../../../resources/ui-helper.js"></script> |
| <style> |
| |
| :root { |
| color-scheme: light dark; |
| } |
| |
| </style> |
| </head> |
| <body> |
| </body> |
| <script> |
| |
| jsTestIsAsync = true; |
| |
| addEventListener("load", async () => { |
| if (!window.internals) |
| return; |
| |
| description("Test that changing the user interface level updates the page's background color."); |
| |
| debug("Dark Mode = Off, User Interface Level = Base"); |
| pageBackgroundColor = internals.viewBaseBackgroundColor(); |
| lightModeBackgroundColor = internals.systemColorForCSSValue('-apple-system-control-background', false, false); |
| shouldBeEqualToString("pageBackgroundColor", lightModeBackgroundColor); |
| debug(""); |
| |
| debug("Dark Mode = On, User Interface Level = Base"); |
| internals.settings.setUseDarkAppearance(true); |
| await UIHelper.renderingUpdate(); |
| pageBackgroundColor = internals.viewBaseBackgroundColor(); |
| darkModeBackgroundColor = internals.systemColorForCSSValue('-apple-system-control-background', true, false); |
| shouldBeEqualToString("pageBackgroundColor", darkModeBackgroundColor); |
| debug(""); |
| |
| debug("Dark Mode = On, User Interface Level = Elevated"); |
| internals.settings.setUseElevatedUserInterfaceLevel(true); |
| await UIHelper.renderingUpdate(); |
| pageBackgroundColor = internals.viewBaseBackgroundColor(); |
| darkModeElevatedBackgroundColor = internals.systemColorForCSSValue('-apple-system-control-background', true, true); |
| shouldBeEqualToString("pageBackgroundColor", darkModeElevatedBackgroundColor); |
| debug(""); |
| |
| debug("Dark Mode = Off, User Interface Level = Elevated"); |
| internals.settings.setUseDarkAppearance(false); |
| await UIHelper.renderingUpdate(); |
| pageBackgroundColor = internals.viewBaseBackgroundColor(); |
| lightModeElevatedBackgroundColor = internals.systemColorForCSSValue('-apple-system-control-background', false, true); |
| shouldBeEqualToString("pageBackgroundColor", lightModeElevatedBackgroundColor); |
| debug(""); |
| |
| finishJSTest(); |
| }); |
| |
| </script> |
| </html> |