LibWeb: Add an Internals.headless attribute

This returns true if the browser is running in headless mode.
This commit is contained in:
Tim Ledbetter 2024-12-09 21:53:31 +00:00 committed by Tim Flynn
parent e764df15eb
commit a44b18236c
Notes: github-actions[bot] 2024-12-10 18:32:51 +00:00
5 changed files with 17 additions and 0 deletions

View file

@ -239,4 +239,9 @@ void Internals::set_echo_server_port(u16 const port)
s_echo_server_port = port;
}
bool Internals::headless()
{
return internals_page().client().is_headless();
}
}

View file

@ -55,6 +55,8 @@ public:
static u16 get_echo_server_port();
static void set_echo_server_port(u16 port);
bool headless();
private:
explicit Internals(JS::Realm&);
virtual void initialize(JS::Realm&) override;

View file

@ -42,4 +42,6 @@ interface Internals {
DOMString getComputedRole(Element element);
DOMString getComputedLabel(Element element);
unsigned short getEchoServerPort();
readonly attribute boolean headless;
};

View file

@ -0,0 +1 @@
Browser is running headlessly: true

View file

@ -0,0 +1,7 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
test(() => {
println(`Browser is running headlessly: ${internals.headless}`);
});
</script>