From 0f8932d7ab1bdf598011e138377461fe1f731fa5 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Sat, 10 Apr 2021 10:34:58 -0700 Subject: [PATCH] LibWeb: Connect existing implementation of Node::is_connected to JS. I was looking at implementing something else, and saw this was low hanging fruit, that brings the browser closer to standards conformance. Add a basic test as well to validate it's implementation. --- Userland/Libraries/LibWeb/DOM/Node.idl | 1 + Userland/Libraries/LibWeb/Tests/DOM/Node.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Node.idl b/Userland/Libraries/LibWeb/DOM/Node.idl index 5667340c8c..cf98316266 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.idl +++ b/Userland/Libraries/LibWeb/DOM/Node.idl @@ -12,6 +12,7 @@ interface Node : EventTarget { readonly attribute Node? nextSibling; readonly attribute Node? parentNode; readonly attribute Element? parentElement; + readonly attribute boolean isConnected; attribute DOMString textContent; Node appendChild(Node node); diff --git a/Userland/Libraries/LibWeb/Tests/DOM/Node.js b/Userland/Libraries/LibWeb/Tests/DOM/Node.js index 5427d143bd..47c3e1c668 100644 --- a/Userland/Libraries/LibWeb/Tests/DOM/Node.js +++ b/Userland/Libraries/LibWeb/Tests/DOM/Node.js @@ -25,4 +25,15 @@ afterInitialPageLoad(() => { HIDDEN TEXT `); }); + + test("Node.isConnected", () => { + var element = document.createElement("p"); + expect(element.isConnected).toBeFalse(); + + document.body.appendChild(element); + expect(element.isConnected).toBeTrue(); + + document.body.removeChild(element); + expect(element.isConnected).toBeFalse(); + }); });