LibWeb: Add Web::XLink::AttributeNames

As defined by the XLink spec.
This commit is contained in:
Shannon Booth 2023-10-01 14:59:51 +13:00 committed by Sam Atkins
parent e5d45eeeb1
commit c4efc0a5aa
4 changed files with 63 additions and 0 deletions

View file

@ -49,6 +49,7 @@
#include <LibWeb/WebGL/EventNames.h>
#include <LibWeb/WebIDL/AbstractOperations.h>
#include <LibWeb/XHR/EventNames.h>
#include <LibWeb/XLink/AttributeNames.h>
namespace Web::Bindings {
@ -99,6 +100,7 @@ ErrorOr<void> initialize_main_thread_vm()
UIEvents::EventNames::initialize_strings();
WebGL::EventNames::initialize_strings();
XHR::EventNames::initialize_strings();
XLink::AttributeNames::initialize_strings();
static_cast<WebEngineCustomData*>(s_main_thread_vm->custom_data())->event_loop.set_vm(*s_main_thread_vm);

View file

@ -624,6 +624,7 @@ set(SOURCES
XHR/XMLHttpRequestEventTarget.cpp
XHR/XMLHttpRequestUpload.cpp
XML/XMLDocumentBuilder.cpp
XLink/AttributeNames.cpp
)
invoke_generator(

View file

@ -0,0 +1,28 @@
/*
* Copyright (c) 2023, Shannon Booth <shannon@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/XLink/AttributeNames.h>
namespace Web::XLink::AttributeNames {
#define __ENUMERATE_XLINK_ATTRIBUTE(name) FlyString name;
ENUMERATE_XLINK_ATTRIBUTES(__ENUMERATE_XLINK_ATTRIBUTE)
#undef __ENUMERATE_XLINK_ATTRIBUTE
void initialize_strings()
{
static bool s_initialized = false;
VERIFY(!s_initialized);
#define __ENUMERATE_XLINK_ATTRIBUTE(name) \
name = #name##_fly_string;
ENUMERATE_XLINK_ATTRIBUTES(__ENUMERATE_XLINK_ATTRIBUTE)
#undef __ENUMERATE_XLINK_ATTRIBUTE
s_initialized = true;
}
}

View file

@ -0,0 +1,32 @@
/*
* Copyright (c) 2023, Shannon Booth <shannon@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Error.h>
#include <AK/FlyString.h>
namespace Web::XLink::AttributeNames {
#define ENUMERATE_XLINK_ATTRIBUTES(E) \
E(type) \
E(href) \
E(role) \
E(arcrole) \
E(title) \
E(show) \
E(actuate) \
E(label) \
E(from) \
E(to)
#define __ENUMERATE_XLINK_ATTRIBUTE(name) extern FlyString name;
ENUMERATE_XLINK_ATTRIBUTES(__ENUMERATE_XLINK_ATTRIBUTE)
#undef __ENUMERATE_XLINK_ATTRIBUTE
void initialize_strings();
}