From 85a1bd6803ba45c974f1b8adc7463cc736590679 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 6 Dec 2020 19:54:23 +0100 Subject: [PATCH] LibWeb: Add Layout::Node::is_positioned() Any node that has a CSS position other than "static" is positioned. --- Libraries/LibWeb/Layout/Node.cpp | 5 +++++ Libraries/LibWeb/Layout/Node.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Libraries/LibWeb/Layout/Node.cpp b/Libraries/LibWeb/Layout/Node.cpp index 51976f47bb..6086295835 100644 --- a/Libraries/LibWeb/Layout/Node.cpp +++ b/Libraries/LibWeb/Layout/Node.cpp @@ -192,6 +192,11 @@ bool Node::is_floating() const return style().float_() != CSS::Float::None; } +bool Node::is_positioned() const +{ + return has_style() && style().position() != CSS::Position::Static; +} + bool Node::is_absolutely_positioned() const { if (!has_style()) diff --git a/Libraries/LibWeb/Layout/Node.h b/Libraries/LibWeb/Layout/Node.h index ce5c7da605..1fe0792bf7 100644 --- a/Libraries/LibWeb/Layout/Node.h +++ b/Libraries/LibWeb/Layout/Node.h @@ -133,6 +133,7 @@ public: virtual void after_children_paint(PaintContext&, PaintPhase) {}; bool is_floating() const; + bool is_positioned() const; bool is_absolutely_positioned() const; bool is_fixed_position() const;