LibWeb/CSS: Implement CSSTransformComponent

This is a base type for the various transform functions.

CSSMatrixComponent's to_string() can throw exceptions, so to_string() is
implemented that way. https://github.com/w3c/fxtf-drafts/issues/611

+9 WPT subtests.
This commit is contained in:
Sam Atkins 2025-09-12 16:32:58 +01:00
commit 8e86bf2dd0
Notes: github-actions[bot] 2025-09-24 11:29:53 +00:00
9 changed files with 95 additions and 11 deletions

View file

@ -0,0 +1,29 @@
/*
* Copyright (c) 2025, Sam Atkins <sam@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "CSSTransformComponent.h"
#include <LibWeb/Bindings/CSSTransformComponentPrototype.h>
#include <LibWeb/Bindings/Intrinsics.h>
namespace Web::CSS {
GC_DEFINE_ALLOCATOR(CSSTransformComponent);
CSSTransformComponent::CSSTransformComponent(JS::Realm& realm, Is2D is_2d)
: Bindings::PlatformObject(realm)
, m_is_2d(is_2d == Is2D::Yes)
{
}
CSSTransformComponent::~CSSTransformComponent() = default;
void CSSTransformComponent::initialize(JS::Realm& realm)
{
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSTransformComponent);
Base::initialize(realm);
}
}