1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:38:10 +00:00
serenity/Userland/Libraries/LibWeb/Bindings/CSSNamespace.h
Sam Atkins 575ce04148 LibWeb: Add CSS.escape() JS function
This is the `CSS` namespace defined in IDL here:
https://www.w3.org/TR/cssom-1/#namespacedef-css , not to be confused
with our `Web::CSS` namespace. Words are hard.

`CSS.escape()` lets you escape identifiers that can then be used to
create a CSS string.

I've also stubbed out the `CSS.supports()` function.
2021-10-08 23:02:57 +02:00

28 lines
643 B
C++

/*
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibJS/Runtime/Object.h>
#include <LibWeb/CSS/Serialize.h>
namespace Web::Bindings {
// The `CSS` namespace object in IDL. https://www.w3.org/TR/cssom-1/#namespacedef-css
class CSSNamespace final : public JS::Object {
JS_OBJECT(CSSNamespace, JS::Object)
public:
explicit CSSNamespace(JS::GlobalObject&);
virtual void initialize(JS::GlobalObject&) override;
virtual ~CSSNamespace() override;
private:
JS_DECLARE_NATIVE_FUNCTION(escape);
JS_DECLARE_NATIVE_FUNCTION(supports);
};
}