mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:28:12 +00:00
Meta+LibHTTP through LibWeb: Make clang-format-10 clean
This commit is contained in:
parent
ede5dbd7b3
commit
08f9bc26a6
65 changed files with 297 additions and 273 deletions
|
@ -72,7 +72,6 @@ TextEditor::TextEditor(Type type)
|
||||||
});
|
});
|
||||||
m_automatic_selection_scroll_timer->stop();
|
m_automatic_selection_scroll_timer->stop();
|
||||||
create_actions();
|
create_actions();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEditor::~TextEditor()
|
TextEditor::~TextEditor()
|
||||||
|
|
|
@ -58,38 +58,38 @@
|
||||||
__JS_ENUMERATE(StringObject, string, StringPrototype, StringConstructor) \
|
__JS_ENUMERATE(StringObject, string, StringPrototype, StringConstructor) \
|
||||||
__JS_ENUMERATE(SymbolObject, symbol, SymbolPrototype, SymbolConstructor)
|
__JS_ENUMERATE(SymbolObject, symbol, SymbolPrototype, SymbolConstructor)
|
||||||
|
|
||||||
#define JS_ENUMERATE_ERROR_SUBCLASSES \
|
#define JS_ENUMERATE_ERROR_SUBCLASSES \
|
||||||
__JS_ENUMERATE(EvalError, eval_error, EvalErrorPrototype, EvalErrorConstructor) \
|
__JS_ENUMERATE(EvalError, eval_error, EvalErrorPrototype, EvalErrorConstructor) \
|
||||||
__JS_ENUMERATE(InternalError, internal_error, InternalErrorPrototype, InternalErrorConstructor) \
|
__JS_ENUMERATE(InternalError, internal_error, InternalErrorPrototype, InternalErrorConstructor) \
|
||||||
__JS_ENUMERATE(InvalidCharacterError, invalid_character_error, InvalidCharacterErrorPrototype, InvalidCharacterErrorConstructor) \
|
__JS_ENUMERATE(InvalidCharacterError, invalid_character_error, InvalidCharacterErrorPrototype, InvalidCharacterErrorConstructor) \
|
||||||
__JS_ENUMERATE(RangeError, range_error, RangeErrorPrototype, RangeErrorConstructor) \
|
__JS_ENUMERATE(RangeError, range_error, RangeErrorPrototype, RangeErrorConstructor) \
|
||||||
__JS_ENUMERATE(ReferenceError, reference_error, ReferenceErrorPrototype, ReferenceErrorConstructor) \
|
__JS_ENUMERATE(ReferenceError, reference_error, ReferenceErrorPrototype, ReferenceErrorConstructor) \
|
||||||
__JS_ENUMERATE(SyntaxError, syntax_error, SyntaxErrorPrototype, SyntaxErrorConstructor) \
|
__JS_ENUMERATE(SyntaxError, syntax_error, SyntaxErrorPrototype, SyntaxErrorConstructor) \
|
||||||
__JS_ENUMERATE(TypeError, type_error, TypeErrorPrototype, TypeErrorConstructor) \
|
__JS_ENUMERATE(TypeError, type_error, TypeErrorPrototype, TypeErrorConstructor) \
|
||||||
__JS_ENUMERATE(URIError, uri_error, URIErrorPrototype, URIErrorConstructor)
|
__JS_ENUMERATE(URIError, uri_error, URIErrorPrototype, URIErrorConstructor)
|
||||||
|
|
||||||
#define JS_ENUMERATE_ITERATOR_PROTOTYPES \
|
#define JS_ENUMERATE_ITERATOR_PROTOTYPES \
|
||||||
__JS_ENUMERATE(Iterator, iterator) \
|
__JS_ENUMERATE(Iterator, iterator) \
|
||||||
__JS_ENUMERATE(ArrayIterator, array_iterator) \
|
__JS_ENUMERATE(ArrayIterator, array_iterator) \
|
||||||
__JS_ENUMERATE(StringIterator, string_iterator)
|
__JS_ENUMERATE(StringIterator, string_iterator)
|
||||||
|
|
||||||
#define JS_ENUMERATE_BUILTIN_TYPES \
|
#define JS_ENUMERATE_BUILTIN_TYPES \
|
||||||
JS_ENUMERATE_NATIVE_OBJECTS \
|
JS_ENUMERATE_NATIVE_OBJECTS \
|
||||||
JS_ENUMERATE_ERROR_SUBCLASSES
|
JS_ENUMERATE_ERROR_SUBCLASSES
|
||||||
|
|
||||||
#define JS_ENUMERATE_WELL_KNOWN_SYMBOLS \
|
#define JS_ENUMERATE_WELL_KNOWN_SYMBOLS \
|
||||||
__JS_ENUMERATE(iterator, iterator) \
|
__JS_ENUMERATE(iterator, iterator) \
|
||||||
__JS_ENUMERATE(asyncIterator, async_iterator) \
|
__JS_ENUMERATE(asyncIterator, async_iterator) \
|
||||||
__JS_ENUMERATE(match, match) \
|
__JS_ENUMERATE(match, match) \
|
||||||
__JS_ENUMERATE(matchAll, match_all) \
|
__JS_ENUMERATE(matchAll, match_all) \
|
||||||
__JS_ENUMERATE(replace, replace) \
|
__JS_ENUMERATE(replace, replace) \
|
||||||
__JS_ENUMERATE(search, search) \
|
__JS_ENUMERATE(search, search) \
|
||||||
__JS_ENUMERATE(split, split) \
|
__JS_ENUMERATE(split, split) \
|
||||||
__JS_ENUMERATE(hasInstance, has_instance) \
|
__JS_ENUMERATE(hasInstance, has_instance) \
|
||||||
__JS_ENUMERATE(isConcatSpreadable, is_concat_spreadable) \
|
__JS_ENUMERATE(isConcatSpreadable, is_concat_spreadable) \
|
||||||
__JS_ENUMERATE(unscopables, unscopables) \
|
__JS_ENUMERATE(unscopables, unscopables) \
|
||||||
__JS_ENUMERATE(species, species) \
|
__JS_ENUMERATE(species, species) \
|
||||||
__JS_ENUMERATE(toPrimitive, to_primitive) \
|
__JS_ENUMERATE(toPrimitive, to_primitive) \
|
||||||
__JS_ENUMERATE(toStringTag, to_string_tag)
|
__JS_ENUMERATE(toStringTag, to_string_tag)
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
|
@ -55,7 +55,7 @@ private:
|
||||||
template<class T>
|
template<class T>
|
||||||
class Handle {
|
class Handle {
|
||||||
public:
|
public:
|
||||||
Handle() {}
|
Handle() { }
|
||||||
|
|
||||||
static Handle create(T* cell)
|
static Handle create(T* cell)
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,7 +45,7 @@ ArrayIterator::~ArrayIterator()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArrayIterator::visit_children(Cell::Visitor & visitor)
|
void ArrayIterator::visit_children(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_children(visitor);
|
Base::visit_children(visitor);
|
||||||
visitor.visit(m_array);
|
visitor.visit(m_array);
|
||||||
|
|
|
@ -37,7 +37,8 @@
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
static Value parse_simplified_iso8601(const String& iso_8601) {
|
static Value parse_simplified_iso8601(const String& iso_8601)
|
||||||
|
{
|
||||||
// Date.parse() is allowed to accept many formats. We strictly only accept things matching
|
// Date.parse() is allowed to accept many formats. We strictly only accept things matching
|
||||||
// http://www.ecma-international.org/ecma-262/#sec-date-time-string-format
|
// http://www.ecma-international.org/ecma-262/#sec-date-time-string-format
|
||||||
GenericLexer lexer(iso_8601);
|
GenericLexer lexer(iso_8601);
|
||||||
|
|
|
@ -32,6 +32,7 @@ namespace JS {
|
||||||
|
|
||||||
class DatePrototype final : public Object {
|
class DatePrototype final : public Object {
|
||||||
JS_OBJECT(DatePrototype, Object);
|
JS_OBJECT(DatePrototype, Object);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DatePrototype(GlobalObject&);
|
explicit DatePrototype(GlobalObject&);
|
||||||
virtual void initialize(GlobalObject&) override;
|
virtual void initialize(GlobalObject&) override;
|
||||||
|
|
|
@ -56,7 +56,7 @@ Error::~Error()
|
||||||
: Error(#ClassName, message, prototype) \
|
: Error(#ClassName, message, prototype) \
|
||||||
{ \
|
{ \
|
||||||
} \
|
} \
|
||||||
ClassName::~ClassName() { } \
|
ClassName::~ClassName() { }
|
||||||
|
|
||||||
JS_ENUMERATE_ERROR_SUBCLASSES
|
JS_ENUMERATE_ERROR_SUBCLASSES
|
||||||
#undef __JS_ENUMERATE
|
#undef __JS_ENUMERATE
|
||||||
|
|
|
@ -68,16 +68,16 @@ Value ErrorConstructor::construct(Interpreter& interpreter, Function&)
|
||||||
: NativeFunction(*global_object.function_prototype()) \
|
: NativeFunction(*global_object.function_prototype()) \
|
||||||
{ \
|
{ \
|
||||||
} \
|
} \
|
||||||
void ConstructorName::initialize(GlobalObject& global_object) \
|
void ConstructorName::initialize(GlobalObject& global_object) \
|
||||||
{ \
|
{ \
|
||||||
NativeFunction::initialize(global_object); \
|
NativeFunction::initialize(global_object); \
|
||||||
define_property("prototype", global_object.snake_name##_prototype(), 0); \
|
define_property("prototype", global_object.snake_name##_prototype(), 0); \
|
||||||
define_property("length", Value(1), Attribute::Configurable); \
|
define_property("length", Value(1), Attribute::Configurable); \
|
||||||
} \
|
} \
|
||||||
ConstructorName::~ConstructorName() { } \
|
ConstructorName::~ConstructorName() { } \
|
||||||
Value ConstructorName::call(Interpreter& interpreter) \
|
Value ConstructorName::call(Interpreter& interpreter) \
|
||||||
{ \
|
{ \
|
||||||
return construct(interpreter, *this); \
|
return construct(interpreter, *this); \
|
||||||
} \
|
} \
|
||||||
Value ConstructorName::construct(Interpreter& interpreter, Function&) \
|
Value ConstructorName::construct(Interpreter& interpreter, Function&) \
|
||||||
{ \
|
{ \
|
||||||
|
|
|
@ -52,7 +52,7 @@ private:
|
||||||
\
|
\
|
||||||
public: \
|
public: \
|
||||||
explicit ConstructorName(GlobalObject&); \
|
explicit ConstructorName(GlobalObject&); \
|
||||||
virtual void initialize(GlobalObject&) override; \
|
virtual void initialize(GlobalObject&) override; \
|
||||||
virtual ~ConstructorName() override; \
|
virtual ~ConstructorName() override; \
|
||||||
virtual Value call(Interpreter&) override; \
|
virtual Value call(Interpreter&) override; \
|
||||||
virtual Value construct(Interpreter&, Function& new_target) override; \
|
virtual Value construct(Interpreter&, Function& new_target) override; \
|
||||||
|
|
|
@ -132,7 +132,7 @@ JS_DEFINE_NATIVE_FUNCTION(ErrorPrototype::to_string)
|
||||||
: Object(*global_object.error_prototype()) \
|
: Object(*global_object.error_prototype()) \
|
||||||
{ \
|
{ \
|
||||||
} \
|
} \
|
||||||
PrototypeName::~PrototypeName() {}
|
PrototypeName::~PrototypeName() { }
|
||||||
|
|
||||||
JS_ENUMERATE_ERROR_SUBCLASSES
|
JS_ENUMERATE_ERROR_SUBCLASSES
|
||||||
#undef __JS_ENUMERATE
|
#undef __JS_ENUMERATE
|
||||||
|
|
|
@ -53,7 +53,7 @@ private:
|
||||||
\
|
\
|
||||||
public: \
|
public: \
|
||||||
explicit PrototypeName(GlobalObject&); \
|
explicit PrototypeName(GlobalObject&); \
|
||||||
virtual void initialize(GlobalObject&) override { } \
|
virtual void initialize(GlobalObject&) override { } \
|
||||||
virtual ~PrototypeName() override; \
|
virtual ~PrototypeName() override; \
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
#define __ENUMERATE_JS_ERROR(name, message) \
|
#define __ENUMERATE_JS_ERROR(name, message) \
|
||||||
const ErrorType ErrorType::name = ErrorType(message);
|
const ErrorType ErrorType::name = ErrorType(message);
|
||||||
JS_ENUMERATE_ERROR_TYPES(__ENUMERATE_JS_ERROR)
|
JS_ENUMERATE_ERROR_TYPES(__ENUMERATE_JS_ERROR)
|
||||||
#undef __ENUMERATE_JS_ERROR
|
#undef __ENUMERATE_JS_ERROR
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,138 +26,137 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define JS_ENUMERATE_ERROR_TYPES(M) \
|
#define JS_ENUMERATE_ERROR_TYPES(M) \
|
||||||
M(ArrayInvalidLength, "Invalid array length") \
|
M(ArrayInvalidLength, "Invalid array length") \
|
||||||
M(ArrayMaxSize, "Maximum array size exceeded") \
|
M(ArrayMaxSize, "Maximum array size exceeded") \
|
||||||
M(ArrayPrototypeOneArg, "Array.prototype.%s() requires at least one argument") \
|
M(ArrayPrototypeOneArg, "Array.prototype.%s() requires at least one argument") \
|
||||||
M(AccessorBadField, "Accessor descriptor's '%s' field must be a function or undefined") \
|
M(AccessorBadField, "Accessor descriptor's '%s' field must be a function or undefined") \
|
||||||
M(AccessorValueOrWritable, "Accessor property descriptor cannot specify a value or writable key") \
|
M(AccessorValueOrWritable, "Accessor property descriptor cannot specify a value or writable key") \
|
||||||
M(BigIntBadOperator, "Cannot use %s operator with BigInt") \
|
M(BigIntBadOperator, "Cannot use %s operator with BigInt") \
|
||||||
M(BigIntBadOperatorOtherType, "Cannot use %s operator with BigInt and other type") \
|
M(BigIntBadOperatorOtherType, "Cannot use %s operator with BigInt and other type") \
|
||||||
M(BigIntIntArgument, "BigInt argument must be an integer") \
|
M(BigIntIntArgument, "BigInt argument must be an integer") \
|
||||||
M(BigIntInvalidValue, "Invalid value for BigInt: %s") \
|
M(BigIntInvalidValue, "Invalid value for BigInt: %s") \
|
||||||
M(ClassDoesNotExtendAConstructorOrNull, "Class extends value %s is not a constructor or null") \
|
M(ClassDoesNotExtendAConstructorOrNull, "Class extends value %s is not a constructor or null") \
|
||||||
M(Convert, "Cannot convert %s to %s") \
|
M(Convert, "Cannot convert %s to %s") \
|
||||||
M(ConvertUndefinedToObject, "Cannot convert undefined to object") \
|
M(ConvertUndefinedToObject, "Cannot convert undefined to object") \
|
||||||
M(DescChangeNonConfigurable, "Cannot change attributes of non-configurable property '%s'") \
|
M(DescChangeNonConfigurable, "Cannot change attributes of non-configurable property '%s'") \
|
||||||
M(FunctionArgsNotObject, "Argument array must be an object") \
|
M(FunctionArgsNotObject, "Argument array must be an object") \
|
||||||
M(InOperatorWithObject, "'in' operator must be used on an object") \
|
M(InOperatorWithObject, "'in' operator must be used on an object") \
|
||||||
M(InstanceOfOperatorBadPrototype, "'prototype' property of %s is not an object") \
|
M(InstanceOfOperatorBadPrototype, "'prototype' property of %s is not an object") \
|
||||||
M(InvalidAssignToConst, "Invalid assignment to const variable") \
|
M(InvalidAssignToConst, "Invalid assignment to const variable") \
|
||||||
M(InvalidLeftHandAssignment, "Invalid left-hand side in assignment") \
|
M(InvalidLeftHandAssignment, "Invalid left-hand side in assignment") \
|
||||||
M(InvalidRadix, "Radix must be an integer no less than 2, and no greater than 36") \
|
M(InvalidRadix, "Radix must be an integer no less than 2, and no greater than 36") \
|
||||||
M(IsNotA, "%s is not a %s") \
|
M(IsNotA, "%s is not a %s") \
|
||||||
M(IsNotAEvaluatedFrom, "%s is not a %s (evaluated from '%s')") \
|
M(IsNotAEvaluatedFrom, "%s is not a %s (evaluated from '%s')") \
|
||||||
M(IterableNextBadReturn, "iterator.next() returned a non-object value") \
|
M(IterableNextBadReturn, "iterator.next() returned a non-object value") \
|
||||||
M(IterableNextNotAFunction, "'next' property on returned object from Symbol.iterator method is " \
|
M(IterableNextNotAFunction, "'next' property on returned object from Symbol.iterator method is " \
|
||||||
"not a function") \
|
"not a function") \
|
||||||
M(JsonBigInt, "Cannot serialize BigInt value to JSON") \
|
M(JsonBigInt, "Cannot serialize BigInt value to JSON") \
|
||||||
M(JsonCircular, "Cannot stringify circular object") \
|
M(JsonCircular, "Cannot stringify circular object") \
|
||||||
M(JsonMalformed, "Malformed JSON string") \
|
M(JsonMalformed, "Malformed JSON string") \
|
||||||
M(NotA, "Not a %s object") \
|
M(NotA, "Not a %s object") \
|
||||||
M(NotAConstructor, "%s is not a constructor") \
|
M(NotAConstructor, "%s is not a constructor") \
|
||||||
M(NotAFunction, "%s is not a function") \
|
M(NotAFunction, "%s is not a function") \
|
||||||
M(NotAFunctionNoParam, "Not a function") \
|
M(NotAFunctionNoParam, "Not a function") \
|
||||||
M(NotAn, "Not an %s object") \
|
M(NotAn, "Not an %s object") \
|
||||||
M(NotAnObject, "%s is not an object") \
|
M(NotAnObject, "%s is not an object") \
|
||||||
M(NotASymbol, "%s is not a symbol") \
|
M(NotASymbol, "%s is not a symbol") \
|
||||||
M(NotIterable, "%s is not iterable") \
|
M(NotIterable, "%s is not iterable") \
|
||||||
M(NonExtensibleDefine, "Cannot define property %s on non-extensible object") \
|
M(NonExtensibleDefine, "Cannot define property %s on non-extensible object") \
|
||||||
M(NumberIncompatibleThis, "Number.prototype.%s method called with incompatible this target") \
|
M(NumberIncompatibleThis, "Number.prototype.%s method called with incompatible this target") \
|
||||||
M(ObjectDefinePropertyReturnedFalse, "Object's [[DefineProperty]] method returned false") \
|
M(ObjectDefinePropertyReturnedFalse, "Object's [[DefineProperty]] method returned false") \
|
||||||
M(ObjectSetPrototypeOfReturnedFalse, "Object's [[SetPrototypeOf]] method returned false") \
|
M(ObjectSetPrototypeOfReturnedFalse, "Object's [[SetPrototypeOf]] method returned false") \
|
||||||
M(ObjectSetPrototypeOfTwoArgs, "Object.setPrototypeOf requires at least two arguments") \
|
M(ObjectSetPrototypeOfTwoArgs, "Object.setPrototypeOf requires at least two arguments") \
|
||||||
M(ObjectPreventExtensionsReturnedFalse, "Object's [[PreventExtensions]] method returned false") \
|
M(ObjectPreventExtensionsReturnedFalse, "Object's [[PreventExtensions]] method returned false") \
|
||||||
M(ObjectPrototypeNullOrUndefinedOnSuperPropertyAccess, \
|
M(ObjectPrototypeNullOrUndefinedOnSuperPropertyAccess, \
|
||||||
"Object prototype must not be %s on a super property access") \
|
"Object prototype must not be %s on a super property access") \
|
||||||
M(ObjectPrototypeWrongType, "Prototype must be an object or null") \
|
M(ObjectPrototypeWrongType, "Prototype must be an object or null") \
|
||||||
M(ProxyCallWithNew, "Proxy must be called with the 'new' operator") \
|
M(ProxyCallWithNew, "Proxy must be called with the 'new' operator") \
|
||||||
M(ProxyConstructBadReturnType, "Proxy handler's construct trap violates invariant: must return " \
|
M(ProxyConstructBadReturnType, "Proxy handler's construct trap violates invariant: must return " \
|
||||||
"an object") \
|
"an object") \
|
||||||
M(ProxyConstructorBadType, "Expected %s argument of Proxy constructor to be object, got %s") \
|
M(ProxyConstructorBadType, "Expected %s argument of Proxy constructor to be object, got %s") \
|
||||||
M(ProxyDefinePropExistingConfigurable, "Proxy handler's defineProperty trap violates " \
|
M(ProxyDefinePropExistingConfigurable, "Proxy handler's defineProperty trap violates " \
|
||||||
"invariant: a property cannot be defined as non-configurable if it already exists on the " \
|
"invariant: a property cannot be defined as non-configurable if it already exists on the " \
|
||||||
"target object as a configurable property") \
|
"target object as a configurable property") \
|
||||||
M(ProxyDefinePropIncompatibleDescriptor, "Proxy handler's defineProperty trap violates " \
|
M(ProxyDefinePropIncompatibleDescriptor, "Proxy handler's defineProperty trap violates " \
|
||||||
"invariant: the new descriptor is not compatible with the existing descriptor of the " \
|
"invariant: the new descriptor is not compatible with the existing descriptor of the " \
|
||||||
"property on the target") \
|
"property on the target") \
|
||||||
M(ProxyDefinePropNonConfigurableNonExisting, "Proxy handler's defineProperty trap " \
|
M(ProxyDefinePropNonConfigurableNonExisting, "Proxy handler's defineProperty trap " \
|
||||||
"violates invariant: a property cannot be defined as non-configurable if it does not " \
|
"violates invariant: a property cannot be defined as non-configurable if it does not " \
|
||||||
"already exist on the target object") \
|
"already exist on the target object") \
|
||||||
M(ProxyDefinePropNonExtensible, "Proxy handler's defineProperty trap violates invariant: " \
|
M(ProxyDefinePropNonExtensible, "Proxy handler's defineProperty trap violates invariant: " \
|
||||||
"a property cannot be reported as being defined if the property does not exist on " \
|
"a property cannot be reported as being defined if the property does not exist on " \
|
||||||
"the target and the target is non-extensible") \
|
"the target and the target is non-extensible") \
|
||||||
M(ProxyDeleteNonConfigurable, "Proxy handler's deleteProperty trap violates invariant: " \
|
M(ProxyDeleteNonConfigurable, "Proxy handler's deleteProperty trap violates invariant: " \
|
||||||
"cannot report a non-configurable own property of the target as deleted") \
|
"cannot report a non-configurable own property of the target as deleted") \
|
||||||
M(ProxyGetImmutableDataProperty, "Proxy handler's get trap violates invariant: the " \
|
M(ProxyGetImmutableDataProperty, "Proxy handler's get trap violates invariant: the " \
|
||||||
"returned value must match the value on the target if the property exists on the " \
|
"returned value must match the value on the target if the property exists on the " \
|
||||||
"target as a non-writable, non-configurable own data property") \
|
"target as a non-writable, non-configurable own data property") \
|
||||||
M(ProxyGetNonConfigurableAccessor, "Proxy handler's get trap violates invariant: the " \
|
M(ProxyGetNonConfigurableAccessor, "Proxy handler's get trap violates invariant: the " \
|
||||||
"returned value must be undefined if the property exists on the target as a " \
|
"returned value must be undefined if the property exists on the target as a " \
|
||||||
"non-configurable accessor property with an undefined get attribute") \
|
"non-configurable accessor property with an undefined get attribute") \
|
||||||
M(ProxyGetOwnDescriptorExistingConfigurable, "Proxy handler's getOwnPropertyDescriptor " \
|
M(ProxyGetOwnDescriptorExistingConfigurable, "Proxy handler's getOwnPropertyDescriptor " \
|
||||||
"trap violates invariant: a property cannot be defined as non-configurable if it " \
|
"trap violates invariant: a property cannot be defined as non-configurable if it " \
|
||||||
"already exists on the target object as a configurable property") \
|
"already exists on the target object as a configurable property") \
|
||||||
M(ProxyGetOwnDescriptorInvalidDescriptor, "Proxy handler's getOwnPropertyDescriptor trap " \
|
M(ProxyGetOwnDescriptorInvalidDescriptor, "Proxy handler's getOwnPropertyDescriptor trap " \
|
||||||
"violates invariant: invalid property descriptor for existing property on the target") \
|
"violates invariant: invalid property descriptor for existing property on the target") \
|
||||||
M(ProxyGetOwnDescriptorInvalidNonConfig, "Proxy handler's getOwnPropertyDescriptor trap " \
|
M(ProxyGetOwnDescriptorInvalidNonConfig, "Proxy handler's getOwnPropertyDescriptor trap " \
|
||||||
"violates invariant: cannot report target's property as non-configurable if the " \
|
"violates invariant: cannot report target's property as non-configurable if the " \
|
||||||
"property does not exist, or if it is configurable") \
|
"property does not exist, or if it is configurable") \
|
||||||
M(ProxyGetOwnDescriptorNonConfigurable, "Proxy handler's getOwnPropertyDescriptor trap " \
|
M(ProxyGetOwnDescriptorNonConfigurable, "Proxy handler's getOwnPropertyDescriptor trap " \
|
||||||
"violates invariant: cannot return undefined for a property on the target which is " \
|
"violates invariant: cannot return undefined for a property on the target which is " \
|
||||||
"a non-configurable property") \
|
"a non-configurable property") \
|
||||||
M(ProxyGetOwnDescriptorReturn, "Proxy handler's getOwnPropertyDescriptor trap violates " \
|
M(ProxyGetOwnDescriptorReturn, "Proxy handler's getOwnPropertyDescriptor trap violates " \
|
||||||
"invariant: must return an object or undefined") \
|
"invariant: must return an object or undefined") \
|
||||||
M(ProxyGetOwnDescriptorUndefReturn, "Proxy handler's getOwnPropertyDescriptor trap " \
|
M(ProxyGetOwnDescriptorUndefReturn, "Proxy handler's getOwnPropertyDescriptor trap " \
|
||||||
"violates invariant: cannot report a property as being undefined if it exists as an " \
|
"violates invariant: cannot report a property as being undefined if it exists as an " \
|
||||||
"own property of the target and the target is non-extensible") \
|
"own property of the target and the target is non-extensible") \
|
||||||
M(ProxyGetPrototypeOfNonExtensible, "Proxy handler's getPrototypeOf trap violates " \
|
M(ProxyGetPrototypeOfNonExtensible, "Proxy handler's getPrototypeOf trap violates " \
|
||||||
"invariant: cannot return a different prototype object for a non-extensible target") \
|
"invariant: cannot return a different prototype object for a non-extensible target") \
|
||||||
M(ProxyGetPrototypeOfReturn, "Proxy handler's getPrototypeOf trap violates invariant: " \
|
M(ProxyGetPrototypeOfReturn, "Proxy handler's getPrototypeOf trap violates invariant: " \
|
||||||
"must return an object or null") \
|
"must return an object or null") \
|
||||||
M(ProxyHasExistingNonConfigurable, "Proxy handler's has trap violates invariant: a " \
|
M(ProxyHasExistingNonConfigurable, "Proxy handler's has trap violates invariant: a " \
|
||||||
"property cannot be reported as non-existent if it exists on the target as a " \
|
"property cannot be reported as non-existent if it exists on the target as a " \
|
||||||
"non-configurable property") \
|
"non-configurable property") \
|
||||||
M(ProxyHasExistingNonExtensible, "Proxy handler's has trap violates invariant: a property " \
|
M(ProxyHasExistingNonExtensible, "Proxy handler's has trap violates invariant: a property " \
|
||||||
"cannot be reported as non-existent if it exists on the target and the target is " \
|
"cannot be reported as non-existent if it exists on the target and the target is " \
|
||||||
"non-extensible") \
|
"non-extensible") \
|
||||||
M(ProxyInvalidTrap, "Proxy handler's %s trap wasn't undefined, null, or callable") \
|
M(ProxyInvalidTrap, "Proxy handler's %s trap wasn't undefined, null, or callable") \
|
||||||
M(ProxyIsExtensibleReturn, "Proxy handler's isExtensible trap violates invariant: " \
|
M(ProxyIsExtensibleReturn, "Proxy handler's isExtensible trap violates invariant: " \
|
||||||
"return value must match the target's extensibility") \
|
"return value must match the target's extensibility") \
|
||||||
M(ProxyPreventExtensionsReturn, "Proxy handler's preventExtensions trap violates " \
|
M(ProxyPreventExtensionsReturn, "Proxy handler's preventExtensions trap violates " \
|
||||||
"invariant: cannot return true if the target object is extensible") \
|
"invariant: cannot return true if the target object is extensible") \
|
||||||
M(ProxyRevoked, "An operation was performed on a revoked Proxy object") \
|
M(ProxyRevoked, "An operation was performed on a revoked Proxy object") \
|
||||||
M(ProxySetImmutableDataProperty, "Proxy handler's set trap violates invariant: cannot " \
|
M(ProxySetImmutableDataProperty, "Proxy handler's set trap violates invariant: cannot " \
|
||||||
"return true for a property on the target which is a non-configurable, non-writable " \
|
"return true for a property on the target which is a non-configurable, non-writable " \
|
||||||
"own data property") \
|
"own data property") \
|
||||||
M(ProxySetNonConfigurableAccessor, "Proxy handler's set trap violates invariant: cannot " \
|
M(ProxySetNonConfigurableAccessor, "Proxy handler's set trap violates invariant: cannot " \
|
||||||
"return true for a property on the target which is a non-configurable own accessor " \
|
"return true for a property on the target which is a non-configurable own accessor " \
|
||||||
"property with an undefined set attribute") \
|
"property with an undefined set attribute") \
|
||||||
M(ProxySetPrototypeOfNonExtensible, "Proxy handler's setPrototypeOf trap violates " \
|
M(ProxySetPrototypeOfNonExtensible, "Proxy handler's setPrototypeOf trap violates " \
|
||||||
"invariant: the argument must match the prototype of the target if the " \
|
"invariant: the argument must match the prototype of the target if the " \
|
||||||
"target is non-extensible") \
|
"target is non-extensible") \
|
||||||
M(ProxyTwoArguments, "Proxy constructor requires at least two arguments") \
|
M(ProxyTwoArguments, "Proxy constructor requires at least two arguments") \
|
||||||
M(ReduceNoInitial, "Reduce of empty array with no initial value") \
|
M(ReduceNoInitial, "Reduce of empty array with no initial value") \
|
||||||
M(ReferencePrimitiveAssignment, "Cannot assign property %s to primitive value") \
|
M(ReferencePrimitiveAssignment, "Cannot assign property %s to primitive value") \
|
||||||
M(ReferenceUnresolvable, "Unresolvable reference") \
|
M(ReferenceUnresolvable, "Unresolvable reference") \
|
||||||
M(ReflectArgumentMustBeAFunction, "First argument of Reflect.%s() must be a function") \
|
M(ReflectArgumentMustBeAFunction, "First argument of Reflect.%s() must be a function") \
|
||||||
M(ReflectArgumentMustBeAnObject, "First argument of Reflect.%s() must be an object") \
|
M(ReflectArgumentMustBeAnObject, "First argument of Reflect.%s() must be an object") \
|
||||||
M(ReflectBadArgumentsList, "Arguments list must be an object") \
|
M(ReflectBadArgumentsList, "Arguments list must be an object") \
|
||||||
M(ReflectBadNewTarget, "Optional third argument of Reflect.construct() must be a constructor") \
|
M(ReflectBadNewTarget, "Optional third argument of Reflect.construct() must be a constructor") \
|
||||||
M(ReflectBadDescriptorArgument, "Descriptor argument is not an object") \
|
M(ReflectBadDescriptorArgument, "Descriptor argument is not an object") \
|
||||||
M(StringRawCannotConvert, "Cannot convert property 'raw' to object from %s") \
|
M(StringRawCannotConvert, "Cannot convert property 'raw' to object from %s") \
|
||||||
M(StringRepeatCountMustBe, "repeat count must be a %s number") \
|
M(StringRepeatCountMustBe, "repeat count must be a %s number") \
|
||||||
M(ThisHasNotBeenInitialized, "|this| has not been initialized") \
|
M(ThisHasNotBeenInitialized, "|this| has not been initialized") \
|
||||||
M(ThisIsAlreadyInitialized, "|this| is already initialized") \
|
M(ThisIsAlreadyInitialized, "|this| is already initialized") \
|
||||||
M(ToObjectNullOrUndef, "ToObject on null or undefined") \
|
M(ToObjectNullOrUndef, "ToObject on null or undefined") \
|
||||||
M(UnknownIdentifier, "'%s' is not defined") \
|
M(UnknownIdentifier, "'%s' is not defined") \
|
||||||
/* LibWeb bindings */ \
|
/* LibWeb bindings */ \
|
||||||
M(NotAByteString, "Argument to %s() must be a byte string") \
|
M(NotAByteString, "Argument to %s() must be a byte string") \
|
||||||
M(BadArgCountOne, "%s() needs one argument") \
|
M(BadArgCountOne, "%s() needs one argument") \
|
||||||
M(BadArgCountAtLeastOne, "%s() needs at least one argument") \
|
M(BadArgCountAtLeastOne, "%s() needs at least one argument") \
|
||||||
M(BadArgCountMany, "%s() needs %s arguments")
|
M(BadArgCountMany, "%s() needs %s arguments")
|
||||||
|
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
class ErrorType {
|
class ErrorType {
|
||||||
|
@ -167,7 +166,10 @@ public:
|
||||||
JS_ENUMERATE_ERROR_TYPES(__ENUMERATE_JS_ERROR)
|
JS_ENUMERATE_ERROR_TYPES(__ENUMERATE_JS_ERROR)
|
||||||
#undef __ENUMERATE_JS_ERROR
|
#undef __ENUMERATE_JS_ERROR
|
||||||
|
|
||||||
const char* message() const { return m_message; };
|
const char* message() const
|
||||||
|
{
|
||||||
|
return m_message;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit ErrorType(const char* message)
|
explicit ErrorType(const char* message)
|
||||||
|
@ -179,4 +181,3 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,6 @@ private:
|
||||||
Object* m_##snake_name##_prototype { nullptr };
|
Object* m_##snake_name##_prototype { nullptr };
|
||||||
JS_ENUMERATE_ITERATOR_PROTOTYPES
|
JS_ENUMERATE_ITERATOR_PROTOTYPES
|
||||||
#undef __JS_ENUMERATE
|
#undef __JS_ENUMERATE
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename ConstructorType>
|
template<typename ConstructorType>
|
||||||
|
|
|
@ -33,10 +33,12 @@
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
static const u8 max_precision_for_radix[37] = {
|
static const u8 max_precision_for_radix[37] = {
|
||||||
|
// clang-format off
|
||||||
0, 0, 52, 32, 26, 22, 20, 18, 17, 16,
|
0, 0, 52, 32, 26, 22, 20, 18, 17, 16,
|
||||||
15, 15, 14, 14, 13, 13, 13, 12, 12, 12,
|
15, 15, 14, 14, 13, 13, 13, 12, 12, 12,
|
||||||
12, 11, 11, 11, 11, 11, 11, 10, 10, 10,
|
12, 11, 11, 11, 11, 11, 11, 10, 10, 10,
|
||||||
10, 10, 10, 10, 10, 10, 10,
|
10, 10, 10, 10, 10, 10, 10,
|
||||||
|
// clang-format on
|
||||||
};
|
};
|
||||||
|
|
||||||
static char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
static char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
||||||
|
|
|
@ -81,7 +81,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectPrototype::to_string)
|
||||||
|
|
||||||
String tag;
|
String tag;
|
||||||
auto to_string_tag = this_object->get(global_object.vm().well_known_symbol_to_string_tag());
|
auto to_string_tag = this_object->get(global_object.vm().well_known_symbol_to_string_tag());
|
||||||
|
|
||||||
if (to_string_tag.is_string()) {
|
if (to_string_tag.is_string()) {
|
||||||
tag = to_string_tag.as_string().string();
|
tag = to_string_tag.as_string().string();
|
||||||
} else if (this_object->is_array()) {
|
} else if (this_object->is_array()) {
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/Types.h>
|
|
||||||
#include <AK/LogStream.h>
|
#include <AK/LogStream.h>
|
||||||
|
#include <AK/Types.h>
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#include <LibJS/Runtime/RegExpObject.h>
|
#include <LibJS/Runtime/RegExpObject.h>
|
||||||
#include <LibJS/Runtime/Value.h>
|
#include <LibJS/Runtime/Value.h>
|
||||||
|
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
RegExpObject* RegExpObject::create(GlobalObject& global_object, String content, String flags)
|
RegExpObject* RegExpObject::create(GlobalObject& global_object, String content, String flags)
|
||||||
|
|
|
@ -25,8 +25,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AK/Utf8View.h>
|
#include <AK/Utf8View.h>
|
||||||
#include <LibJS/Runtime/StringIterator.h>
|
|
||||||
#include <LibJS/Runtime/GlobalObject.h>
|
#include <LibJS/Runtime/GlobalObject.h>
|
||||||
|
#include <LibJS/Runtime/StringIterator.h>
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
|
|
|
@ -25,11 +25,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AK/StringBuilder.h>
|
#include <AK/StringBuilder.h>
|
||||||
#include <LibJS/Runtime/StringIterator.h>
|
|
||||||
#include <LibJS/Runtime/StringIteratorPrototype.h>
|
|
||||||
#include <LibJS/Runtime/Error.h>
|
#include <LibJS/Runtime/Error.h>
|
||||||
#include <LibJS/Runtime/GlobalObject.h>
|
#include <LibJS/Runtime/GlobalObject.h>
|
||||||
#include <LibJS/Runtime/IteratorOperations.h>
|
#include <LibJS/Runtime/IteratorOperations.h>
|
||||||
|
#include <LibJS/Runtime/StringIterator.h>
|
||||||
|
#include <LibJS/Runtime/StringIteratorPrototype.h>
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
#include <LibJS/Runtime/Error.h>
|
#include <LibJS/Runtime/Error.h>
|
||||||
#include <LibJS/Runtime/GlobalObject.h>
|
#include <LibJS/Runtime/GlobalObject.h>
|
||||||
#include <LibJS/Runtime/PrimitiveString.h>
|
#include <LibJS/Runtime/PrimitiveString.h>
|
||||||
#include <LibJS/Runtime/StringObject.h>
|
|
||||||
#include <LibJS/Runtime/StringIterator.h>
|
#include <LibJS/Runtime/StringIterator.h>
|
||||||
|
#include <LibJS/Runtime/StringObject.h>
|
||||||
#include <LibJS/Runtime/StringPrototype.h>
|
#include <LibJS/Runtime/StringPrototype.h>
|
||||||
#include <LibJS/Runtime/Value.h>
|
#include <LibJS/Runtime/Value.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
|
|
||||||
namespace JS {
|
namespace JS {
|
||||||
|
|
||||||
|
|
||||||
SymbolObject* SymbolObject::create(GlobalObject& global_object, Symbol& primitive_symbol)
|
SymbolObject* SymbolObject::create(GlobalObject& global_object, Symbol& primitive_symbol)
|
||||||
{
|
{
|
||||||
return global_object.heap().allocate<SymbolObject>(global_object, primitive_symbol, *global_object.symbol_prototype());
|
return global_object.heap().allocate<SymbolObject>(global_object, primitive_symbol, *global_object.symbol_prototype());
|
||||||
|
|
|
@ -25,10 +25,13 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AK/TestSuite.h>
|
#include <AK/TestSuite.h>
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#define EXPECT_CLOSE(a, b) { EXPECT(fabs(a - b) < 0.000001); }
|
#define EXPECT_CLOSE(a, b) \
|
||||||
|
{ \
|
||||||
|
EXPECT(fabs(a - b) < 0.000001); \
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE(trig)
|
TEST_CASE(trig)
|
||||||
{
|
{
|
||||||
|
@ -77,14 +80,14 @@ TEST_CASE(exponents)
|
||||||
};
|
};
|
||||||
|
|
||||||
values values[8] {
|
values values[8] {
|
||||||
{ 1.500000, 4.481626, 2.129246, 2.352379, 0.905148},
|
{ 1.500000, 4.481626, 2.129246, 2.352379, 0.905148 },
|
||||||
{ 20.990000, 1304956710.432035, 652478355.216017, 652478355.216017, 1.000000},
|
{ 20.990000, 1304956710.432035, 652478355.216017, 652478355.216017, 1.000000 },
|
||||||
{ 20.010000, 490041186.687082, 245020593.343541, 245020593.343541, 1.000000},
|
{ 20.010000, 490041186.687082, 245020593.343541, 245020593.343541, 1.000000 },
|
||||||
{ 0.000000, 1.000000, 0.000000, 1.000000, 0.000000},
|
{ 0.000000, 1.000000, 0.000000, 1.000000, 0.000000 },
|
||||||
{ 0.010000, 1.010050, 0.010000, 1.000050, 0.010000},
|
{ 0.010000, 1.010050, 0.010000, 1.000050, 0.010000 },
|
||||||
{ -0.010000, 0.990050, -0.010000, 1.000050, -0.010000},
|
{ -0.010000, 0.990050, -0.010000, 1.000050, -0.010000 },
|
||||||
{ -1.000000, 0.367879, -1.175201, 1.543081, -0.761594},
|
{ -1.000000, 0.367879, -1.175201, 1.543081, -0.761594 },
|
||||||
{ -17.000000, 0.000000, -12077476.376788, 12077476.376788, -1.000000},
|
{ -17.000000, 0.000000, -12077476.376788, 12077476.376788, -1.000000 },
|
||||||
};
|
};
|
||||||
for (auto& v : values) {
|
for (auto& v : values) {
|
||||||
EXPECT_CLOSE(exp(v.x), v.exp);
|
EXPECT_CLOSE(exp(v.x), v.exp);
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
|
|
||||||
#if __cplusplus >= 201103L
|
#if __cplusplus >= 201103L
|
||||||
#define NOEXCEPT noexcept
|
# define NOEXCEPT noexcept
|
||||||
#else
|
#else
|
||||||
#define NOEXCEPT
|
# define NOEXCEPT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__BEGIN_DECLS
|
__BEGIN_DECLS
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace Markdown {
|
||||||
|
|
||||||
class Block {
|
class Block {
|
||||||
public:
|
public:
|
||||||
virtual ~Block() {}
|
virtual ~Block() { }
|
||||||
|
|
||||||
virtual String render_to_html() const = 0;
|
virtual String render_to_html() const = 0;
|
||||||
virtual String render_for_terminal() const = 0;
|
virtual String render_for_terminal() const = 0;
|
||||||
|
|
|
@ -40,7 +40,7 @@ public:
|
||||||
, m_is_ordered(is_ordered)
|
, m_is_ordered(is_ordered)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
virtual ~List() override {}
|
virtual ~List() override { }
|
||||||
|
|
||||||
virtual String render_to_html() const override;
|
virtual String render_to_html() const override;
|
||||||
virtual String render_for_terminal() const override;
|
virtual String render_for_terminal() const override;
|
||||||
|
|
|
@ -34,8 +34,11 @@ namespace Markdown {
|
||||||
|
|
||||||
class Paragraph final : public Block {
|
class Paragraph final : public Block {
|
||||||
public:
|
public:
|
||||||
explicit Paragraph(Text&& text) : m_text(move(text)) {}
|
explicit Paragraph(Text&& text)
|
||||||
virtual ~Paragraph() override {}
|
: m_text(move(text))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
virtual ~Paragraph() override { }
|
||||||
|
|
||||||
virtual String render_to_html() const override;
|
virtual String render_to_html() const override;
|
||||||
virtual String render_for_terminal() const override;
|
virtual String render_for_terminal() const override;
|
||||||
|
|
|
@ -34,6 +34,7 @@ namespace Markdown {
|
||||||
|
|
||||||
class Text final {
|
class Text final {
|
||||||
AK_MAKE_NONCOPYABLE(Text);
|
AK_MAKE_NONCOPYABLE(Text);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct Style {
|
struct Style {
|
||||||
bool emph { false };
|
bool emph { false };
|
||||||
|
|
|
@ -83,8 +83,7 @@ static int create_thread(void* (*entry)(void*), void* argument, PthreadAttrImpl*
|
||||||
return syscall(SC_create_thread, pthread_create_helper, thread_params);
|
return syscall(SC_create_thread, pthread_create_helper, thread_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[noreturn]]
|
[[noreturn]] static void exit_thread(void* code)
|
||||||
static void exit_thread(void* code)
|
|
||||||
{
|
{
|
||||||
syscall(SC_exit_thread, code);
|
syscall(SC_exit_thread, code);
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
__BEGIN_DECLS
|
__BEGIN_DECLS
|
||||||
|
|
||||||
int pthread_create(pthread_t*, pthread_attr_t*, void* (*)(void*), void*);
|
int pthread_create(pthread_t*, pthread_attr_t*, void* (*)(void*), void*);
|
||||||
void pthread_exit(void*) __attribute__ ((noreturn));
|
void pthread_exit(void*) __attribute__((noreturn));
|
||||||
int pthread_kill(pthread_t, int);
|
int pthread_kill(pthread_t, int);
|
||||||
void pthread_cleanup_push(void (*)(void*), void*);
|
void pthread_cleanup_push(void (*)(void*), void*);
|
||||||
void pthread_cleanup_pop(int);
|
void pthread_cleanup_pop(int);
|
||||||
|
@ -78,8 +78,14 @@ int pthread_setschedparam(pthread_t thread, int policy, const struct sched_param
|
||||||
#define PTHREAD_MUTEX_NORMAL 0
|
#define PTHREAD_MUTEX_NORMAL 0
|
||||||
#define PTHREAD_MUTEX_RECURSIVE 1
|
#define PTHREAD_MUTEX_RECURSIVE 1
|
||||||
#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL
|
#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL
|
||||||
#define PTHREAD_MUTEX_INITIALIZER { 0, 0, 0, PTHREAD_MUTEX_DEFAULT }
|
#define PTHREAD_MUTEX_INITIALIZER \
|
||||||
#define PTHREAD_COND_INITIALIZER { 0, 0, CLOCK_MONOTONIC }
|
{ \
|
||||||
|
0, 0, 0, PTHREAD_MUTEX_DEFAULT \
|
||||||
|
}
|
||||||
|
#define PTHREAD_COND_INITIALIZER \
|
||||||
|
{ \
|
||||||
|
0, 0, CLOCK_MONOTONIC \
|
||||||
|
}
|
||||||
|
|
||||||
int pthread_key_create(pthread_key_t* key, void (*destructor)(void*));
|
int pthread_key_create(pthread_key_t* key, void (*destructor)(void*));
|
||||||
int pthread_key_delete(pthread_key_t key);
|
int pthread_key_delete(pthread_key_t key);
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <LibThread/BackgroundAction.h>
|
|
||||||
#include <LibThread/Thread.h>
|
|
||||||
#include <LibThread/Lock.h>
|
|
||||||
#include <AK/Queue.h>
|
#include <AK/Queue.h>
|
||||||
|
#include <LibThread/BackgroundAction.h>
|
||||||
|
#include <LibThread/Lock.h>
|
||||||
|
#include <LibThread/Thread.h>
|
||||||
|
|
||||||
static LibThread::Lockable<Queue<Function<void()>>>* s_all_actions;
|
static LibThread::Lockable<Queue<Function<void()>>>* s_all_actions;
|
||||||
static LibThread::Thread* s_background_thread;
|
static LibThread::Thread* s_background_thread;
|
||||||
|
|
|
@ -46,7 +46,7 @@ class BackgroundActionBase {
|
||||||
friend class BackgroundAction;
|
friend class BackgroundAction;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BackgroundActionBase() {}
|
BackgroundActionBase() { }
|
||||||
|
|
||||||
static Lockable<Queue<Function<void()>>>& all_actions();
|
static Lockable<Queue<Function<void()>>>& all_actions();
|
||||||
static Thread& background_thread();
|
static Thread& background_thread();
|
||||||
|
@ -65,7 +65,7 @@ public:
|
||||||
return adopt(*new BackgroundAction(move(action), move(on_complete)));
|
return adopt(*new BackgroundAction(move(action), move(on_complete)));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~BackgroundAction() {}
|
virtual ~BackgroundAction() { }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BackgroundAction(Function<Result()> action, Function<void(Result)> on_complete)
|
BackgroundAction(Function<Result()> action, Function<void(Result)> on_complete)
|
||||||
|
|
|
@ -51,7 +51,7 @@ void LibThread::Thread::start()
|
||||||
[](void* arg) -> void* {
|
[](void* arg) -> void* {
|
||||||
Thread* self = static_cast<Thread*>(arg);
|
Thread* self = static_cast<Thread*>(arg);
|
||||||
size_t exit_code = self->m_action();
|
size_t exit_code = self->m_action();
|
||||||
self->m_tid = 0;
|
self->m_tid = 0;
|
||||||
return (void*)exit_code;
|
return (void*)exit_code;
|
||||||
},
|
},
|
||||||
static_cast<void*>(this));
|
static_cast<void*>(this));
|
||||||
|
@ -64,7 +64,7 @@ void LibThread::Thread::start()
|
||||||
dbg() << "Started a thread, tid = " << m_tid;
|
dbg() << "Started a thread, tid = " << m_tid;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LibThread::Thread::quit(void *code)
|
void LibThread::Thread::quit(void* code)
|
||||||
{
|
{
|
||||||
ASSERT(m_tid == pthread_self());
|
ASSERT(m_tid == pthread_self());
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ public:
|
||||||
virtual ~Thread();
|
virtual ~Thread();
|
||||||
|
|
||||||
void start();
|
void start();
|
||||||
void quit(void *code = 0);
|
void quit(void* code = 0);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Function<int()> m_action;
|
Function<int()> m_action;
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace VT {
|
||||||
|
|
||||||
class Position {
|
class Position {
|
||||||
public:
|
public:
|
||||||
Position() {}
|
Position() { }
|
||||||
Position(int row, int column)
|
Position(int row, int column)
|
||||||
: m_row(row)
|
: m_row(row)
|
||||||
, m_column(column)
|
, m_column(column)
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace VT {
|
||||||
|
|
||||||
class TerminalClient {
|
class TerminalClient {
|
||||||
public:
|
public:
|
||||||
virtual ~TerminalClient() {}
|
virtual ~TerminalClient() { }
|
||||||
|
|
||||||
virtual void beep() = 0;
|
virtual void beep() = 0;
|
||||||
virtual void set_window_title(const StringView&) = 0;
|
virtual void set_window_title(const StringView&) = 0;
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
|
|
||||||
#include <LibWeb/Bindings/CharacterDataWrapper.h>
|
#include <LibWeb/Bindings/CharacterDataWrapper.h>
|
||||||
#include <LibWeb/Bindings/CommentWrapper.h>
|
#include <LibWeb/Bindings/CommentWrapper.h>
|
||||||
#include <LibWeb/Bindings/DocumentWrapper.h>
|
|
||||||
#include <LibWeb/Bindings/DocumentFragmentWrapper.h>
|
#include <LibWeb/Bindings/DocumentFragmentWrapper.h>
|
||||||
#include <LibWeb/Bindings/DocumentTypeWrapper.h>
|
#include <LibWeb/Bindings/DocumentTypeWrapper.h>
|
||||||
|
#include <LibWeb/Bindings/DocumentWrapper.h>
|
||||||
#include <LibWeb/Bindings/HTMLAnchorElementWrapper.h>
|
#include <LibWeb/Bindings/HTMLAnchorElementWrapper.h>
|
||||||
#include <LibWeb/Bindings/HTMLAreaElementWrapper.h>
|
#include <LibWeb/Bindings/HTMLAreaElementWrapper.h>
|
||||||
#include <LibWeb/Bindings/HTMLAudioElementWrapper.h>
|
#include <LibWeb/Bindings/HTMLAudioElementWrapper.h>
|
||||||
|
|
|
@ -29,10 +29,10 @@
|
||||||
#include <LibGfx/Palette.h>
|
#include <LibGfx/Palette.h>
|
||||||
#include <LibWeb/CSS/StyleValue.h>
|
#include <LibWeb/CSS/StyleValue.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
|
#include <LibWeb/InProcessWebView.h>
|
||||||
#include <LibWeb/Loader/LoadRequest.h>
|
#include <LibWeb/Loader/LoadRequest.h>
|
||||||
#include <LibWeb/Loader/ResourceLoader.h>
|
#include <LibWeb/Loader/ResourceLoader.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/InProcessWebView.h>
|
|
||||||
|
|
||||||
namespace Web::CSS {
|
namespace Web::CSS {
|
||||||
|
|
||||||
|
|
|
@ -593,7 +593,7 @@ void generate_implementation(const IDL::Interface& interface)
|
||||||
out() << " return JS::Value(retval);";
|
out() << " return JS::Value(retval);";
|
||||||
} else if (return_type.name == "Uint8ClampedArray") {
|
} else if (return_type.name == "Uint8ClampedArray") {
|
||||||
out() << " return retval;";
|
out() << " return retval;";
|
||||||
} else if (return_type.name == "boolean") {
|
} else if (return_type.name == "boolean") {
|
||||||
out() << " return JS::Value(retval);";
|
out() << " return JS::Value(retval);";
|
||||||
} else {
|
} else {
|
||||||
out() << " return wrap(global_object, const_cast<" << return_type.name << "&>(*retval));";
|
out() << " return wrap(global_object, const_cast<" << return_type.name << "&>(*retval));";
|
||||||
|
|
|
@ -51,11 +51,11 @@
|
||||||
#include <LibWeb/HTML/HTMLHtmlElement.h>
|
#include <LibWeb/HTML/HTMLHtmlElement.h>
|
||||||
#include <LibWeb/HTML/HTMLScriptElement.h>
|
#include <LibWeb/HTML/HTMLScriptElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTitleElement.h>
|
#include <LibWeb/HTML/HTMLTitleElement.h>
|
||||||
|
#include <LibWeb/InProcessWebView.h>
|
||||||
#include <LibWeb/Layout/LayoutDocument.h>
|
#include <LibWeb/Layout/LayoutDocument.h>
|
||||||
#include <LibWeb/Layout/LayoutTreeBuilder.h>
|
#include <LibWeb/Layout/LayoutTreeBuilder.h>
|
||||||
#include <LibWeb/Origin.h>
|
#include <LibWeb/Origin.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/InProcessWebView.h>
|
|
||||||
#include <LibWeb/SVG/TagNames.h>
|
#include <LibWeb/SVG/TagNames.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/FlyString.h>
|
#include <AK/FlyString.h>
|
||||||
|
#include <LibWeb/DOM/Element.h>
|
||||||
#include <LibWeb/DOM/NonElementParentNode.h>
|
#include <LibWeb/DOM/NonElementParentNode.h>
|
||||||
#include <LibWeb/DOM/ParentNode.h>
|
#include <LibWeb/DOM/ParentNode.h>
|
||||||
#include <LibWeb/DOM/Element.h>
|
|
||||||
|
|
||||||
namespace Web::DOM {
|
namespace Web::DOM {
|
||||||
|
|
||||||
|
|
|
@ -29,18 +29,18 @@
|
||||||
#include <LibWeb/HTML/HTMLAnchorElement.h>
|
#include <LibWeb/HTML/HTMLAnchorElement.h>
|
||||||
#include <LibWeb/HTML/HTMLAreaElement.h>
|
#include <LibWeb/HTML/HTMLAreaElement.h>
|
||||||
#include <LibWeb/HTML/HTMLAudioElement.h>
|
#include <LibWeb/HTML/HTMLAudioElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLBRElement.h>
|
||||||
#include <LibWeb/HTML/HTMLBaseElement.h>
|
#include <LibWeb/HTML/HTMLBaseElement.h>
|
||||||
#include <LibWeb/HTML/HTMLBlinkElement.h>
|
#include <LibWeb/HTML/HTMLBlinkElement.h>
|
||||||
#include <LibWeb/HTML/HTMLBodyElement.h>
|
#include <LibWeb/HTML/HTMLBodyElement.h>
|
||||||
#include <LibWeb/HTML/HTMLBRElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLButtonElement.h>
|
#include <LibWeb/HTML/HTMLButtonElement.h>
|
||||||
#include <LibWeb/HTML/HTMLCanvasElement.h>
|
#include <LibWeb/HTML/HTMLCanvasElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLDListElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDataElement.h>
|
#include <LibWeb/HTML/HTMLDataElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDataListElement.h>
|
#include <LibWeb/HTML/HTMLDataListElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDetailsElement.h>
|
#include <LibWeb/HTML/HTMLDetailsElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDialogElement.h>
|
#include <LibWeb/HTML/HTMLDialogElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDivElement.h>
|
#include <LibWeb/HTML/HTMLDivElement.h>
|
||||||
#include <LibWeb/HTML/HTMLDListElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLEmbedElement.h>
|
#include <LibWeb/HTML/HTMLEmbedElement.h>
|
||||||
#include <LibWeb/HTML/HTMLFieldSetElement.h>
|
#include <LibWeb/HTML/HTMLFieldSetElement.h>
|
||||||
#include <LibWeb/HTML/HTMLFontElement.h>
|
#include <LibWeb/HTML/HTMLFontElement.h>
|
||||||
|
@ -54,9 +54,9 @@
|
||||||
#include <LibWeb/HTML/HTMLIFrameElement.h>
|
#include <LibWeb/HTML/HTMLIFrameElement.h>
|
||||||
#include <LibWeb/HTML/HTMLImageElement.h>
|
#include <LibWeb/HTML/HTMLImageElement.h>
|
||||||
#include <LibWeb/HTML/HTMLInputElement.h>
|
#include <LibWeb/HTML/HTMLInputElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLLIElement.h>
|
||||||
#include <LibWeb/HTML/HTMLLabelElement.h>
|
#include <LibWeb/HTML/HTMLLabelElement.h>
|
||||||
#include <LibWeb/HTML/HTMLLegendElement.h>
|
#include <LibWeb/HTML/HTMLLegendElement.h>
|
||||||
#include <LibWeb/HTML/HTMLLIElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLLinkElement.h>
|
#include <LibWeb/HTML/HTMLLinkElement.h>
|
||||||
#include <LibWeb/HTML/HTMLMapElement.h>
|
#include <LibWeb/HTML/HTMLMapElement.h>
|
||||||
#include <LibWeb/HTML/HTMLMarqueeElement.h>
|
#include <LibWeb/HTML/HTMLMarqueeElement.h>
|
||||||
|
@ -64,8 +64,8 @@
|
||||||
#include <LibWeb/HTML/HTMLMetaElement.h>
|
#include <LibWeb/HTML/HTMLMetaElement.h>
|
||||||
#include <LibWeb/HTML/HTMLMeterElement.h>
|
#include <LibWeb/HTML/HTMLMeterElement.h>
|
||||||
#include <LibWeb/HTML/HTMLModElement.h>
|
#include <LibWeb/HTML/HTMLModElement.h>
|
||||||
#include <LibWeb/HTML/HTMLObjectElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLOListElement.h>
|
#include <LibWeb/HTML/HTMLOListElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLObjectElement.h>
|
||||||
#include <LibWeb/HTML/HTMLOptGroupElement.h>
|
#include <LibWeb/HTML/HTMLOptGroupElement.h>
|
||||||
#include <LibWeb/HTML/HTMLOptionElement.h>
|
#include <LibWeb/HTML/HTMLOptionElement.h>
|
||||||
#include <LibWeb/HTML/HTMLOutputElement.h>
|
#include <LibWeb/HTML/HTMLOutputElement.h>
|
||||||
|
@ -87,11 +87,11 @@
|
||||||
#include <LibWeb/HTML/HTMLTableElement.h>
|
#include <LibWeb/HTML/HTMLTableElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTableRowElement.h>
|
#include <LibWeb/HTML/HTMLTableRowElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTableSectionElement.h>
|
#include <LibWeb/HTML/HTMLTableSectionElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTextAreaElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLTemplateElement.h>
|
#include <LibWeb/HTML/HTMLTemplateElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLTextAreaElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTimeElement.h>
|
#include <LibWeb/HTML/HTMLTimeElement.h>
|
||||||
#include <LibWeb/HTML/HTMLTrackElement.h>
|
|
||||||
#include <LibWeb/HTML/HTMLTitleElement.h>
|
#include <LibWeb/HTML/HTMLTitleElement.h>
|
||||||
|
#include <LibWeb/HTML/HTMLTrackElement.h>
|
||||||
#include <LibWeb/HTML/HTMLUListElement.h>
|
#include <LibWeb/HTML/HTMLUListElement.h>
|
||||||
#include <LibWeb/HTML/HTMLUnknownElement.h>
|
#include <LibWeb/HTML/HTMLUnknownElement.h>
|
||||||
#include <LibWeb/HTML/HTMLVideoElement.h>
|
#include <LibWeb/HTML/HTMLVideoElement.h>
|
||||||
|
@ -242,10 +242,9 @@ NonnullRefPtr<Element> create_element(Document& document, const FlyString& tag_n
|
||||||
if (lowercase_tag_name == HTML::TagNames::video)
|
if (lowercase_tag_name == HTML::TagNames::video)
|
||||||
return adopt(*new HTML::HTMLVideoElement(document, lowercase_tag_name));
|
return adopt(*new HTML::HTMLVideoElement(document, lowercase_tag_name));
|
||||||
if (lowercase_tag_name.is_one_of(
|
if (lowercase_tag_name.is_one_of(
|
||||||
HTML::TagNames::article, HTML::TagNames::section, HTML::TagNames::nav, HTML::TagNames::aside, HTML::TagNames::hgroup, HTML::TagNames::header, HTML::TagNames::footer, HTML::TagNames::address, HTML::TagNames::dt, HTML::TagNames::dd, HTML::TagNames::figure, HTML::TagNames::figcaption, HTML::TagNames::main, HTML::TagNames::em, HTML::TagNames::strong, HTML::TagNames::small, HTML::TagNames::s, HTML::TagNames::cite, HTML::TagNames::dfn, HTML::TagNames::abbr, HTML::TagNames::ruby, HTML::TagNames::rt, HTML::TagNames::rp, HTML::TagNames::code, HTML::TagNames::var, HTML::TagNames::samp, HTML::TagNames::kbd, HTML::TagNames::sub, HTML::TagNames::sup, HTML::TagNames::i, HTML::TagNames::b, HTML::TagNames::u, HTML::TagNames::mark, HTML::TagNames::bdi, HTML::TagNames::bdo, HTML::TagNames::wbr, HTML::TagNames::summary, HTML::TagNames::noscript,
|
HTML::TagNames::article, HTML::TagNames::section, HTML::TagNames::nav, HTML::TagNames::aside, HTML::TagNames::hgroup, HTML::TagNames::header, HTML::TagNames::footer, HTML::TagNames::address, HTML::TagNames::dt, HTML::TagNames::dd, HTML::TagNames::figure, HTML::TagNames::figcaption, HTML::TagNames::main, HTML::TagNames::em, HTML::TagNames::strong, HTML::TagNames::small, HTML::TagNames::s, HTML::TagNames::cite, HTML::TagNames::dfn, HTML::TagNames::abbr, HTML::TagNames::ruby, HTML::TagNames::rt, HTML::TagNames::rp, HTML::TagNames::code, HTML::TagNames::var, HTML::TagNames::samp, HTML::TagNames::kbd, HTML::TagNames::sub, HTML::TagNames::sup, HTML::TagNames::i, HTML::TagNames::b, HTML::TagNames::u, HTML::TagNames::mark, HTML::TagNames::bdi, HTML::TagNames::bdo, HTML::TagNames::wbr, HTML::TagNames::summary, HTML::TagNames::noscript,
|
||||||
// Obsolete
|
// Obsolete
|
||||||
HTML::TagNames::acronym, HTML::TagNames::basefont, HTML::TagNames::big, HTML::TagNames::center, HTML::TagNames::nobr, HTML::TagNames::noembed, HTML::TagNames::noframes, HTML::TagNames::plaintext, HTML::TagNames::rb, HTML::TagNames::rtc, HTML::TagNames::strike, HTML::TagNames::tt)
|
HTML::TagNames::acronym, HTML::TagNames::basefont, HTML::TagNames::big, HTML::TagNames::center, HTML::TagNames::nobr, HTML::TagNames::noembed, HTML::TagNames::noframes, HTML::TagNames::plaintext, HTML::TagNames::rb, HTML::TagNames::rtc, HTML::TagNames::strike, HTML::TagNames::tt))
|
||||||
)
|
|
||||||
return adopt(*new HTML::HTMLElement(document, lowercase_tag_name));
|
return adopt(*new HTML::HTMLElement(document, lowercase_tag_name));
|
||||||
if (lowercase_tag_name == SVG::TagNames::svg)
|
if (lowercase_tag_name == SVG::TagNames::svg)
|
||||||
return adopt(*new SVG::SVGSVGElement(document, lowercase_tag_name));
|
return adopt(*new SVG::SVGSVGElement(document, lowercase_tag_name));
|
||||||
|
|
|
@ -32,8 +32,10 @@ namespace Web::DOM {
|
||||||
|
|
||||||
class ParentNode : public Node {
|
class ParentNode : public Node {
|
||||||
public:
|
public:
|
||||||
template<typename F> void for_each_child(F) const;
|
template<typename F>
|
||||||
template<typename F> void for_each_child(F);
|
void for_each_child(F) const;
|
||||||
|
template<typename F>
|
||||||
|
void for_each_child(F);
|
||||||
|
|
||||||
RefPtr<Element> query_selector(const StringView&);
|
RefPtr<Element> query_selector(const StringView&);
|
||||||
NonnullRefPtrVector<Element> query_selector_all(const StringView&);
|
NonnullRefPtrVector<Element> query_selector_all(const StringView&);
|
||||||
|
|
|
@ -34,7 +34,10 @@ namespace TagNames {
|
||||||
ENUMERATE_HTML_TAGS
|
ENUMERATE_HTML_TAGS
|
||||||
#undef __ENUMERATE_HTML_TAG
|
#undef __ENUMERATE_HTML_TAG
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
// FIXME: clang-format gets confused here. Why?
|
||||||
[[gnu::constructor]] static void initialize()
|
[[gnu::constructor]] static void initialize()
|
||||||
|
// clang-format off
|
||||||
{
|
{
|
||||||
static bool s_initialized = false;
|
static bool s_initialized = false;
|
||||||
if (s_initialized)
|
if (s_initialized)
|
||||||
|
|
|
@ -34,7 +34,10 @@ namespace AttributeNames {
|
||||||
ENUMERATE_HTML_ATTRIBUTES
|
ENUMERATE_HTML_ATTRIBUTES
|
||||||
#undef __ENUMERATE_HTML_ATTRIBUTE
|
#undef __ENUMERATE_HTML_ATTRIBUTE
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
// FIXME: clang-format gets confused here. Why?
|
||||||
[[gnu::constructor]] static void initialize()
|
[[gnu::constructor]] static void initialize()
|
||||||
|
// clang-format off
|
||||||
{
|
{
|
||||||
static bool s_initialized = false;
|
static bool s_initialized = false;
|
||||||
if (s_initialized)
|
if (s_initialized)
|
||||||
|
|
|
@ -37,7 +37,8 @@ public:
|
||||||
HTMLFieldSetElement(DOM::Document&, const FlyString& local_name);
|
HTMLFieldSetElement(DOM::Document&, const FlyString& local_name);
|
||||||
virtual ~HTMLFieldSetElement() override;
|
virtual ~HTMLFieldSetElement() override;
|
||||||
|
|
||||||
const String& type() const {
|
const String& type() const
|
||||||
|
{
|
||||||
static String fieldset = "fieldset";
|
static String fieldset = "fieldset";
|
||||||
return fieldset;
|
return fieldset;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
#include <AK/StringBuilder.h>
|
#include <AK/StringBuilder.h>
|
||||||
#include <LibWeb/HTML/HTMLFormElement.h>
|
#include <LibWeb/HTML/HTMLFormElement.h>
|
||||||
#include <LibWeb/HTML/HTMLInputElement.h>
|
#include <LibWeb/HTML/HTMLInputElement.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
|
||||||
#include <LibWeb/InProcessWebView.h>
|
#include <LibWeb/InProcessWebView.h>
|
||||||
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/URLEncoder.h>
|
#include <LibWeb/URLEncoder.h>
|
||||||
|
|
||||||
namespace Web::HTML {
|
namespace Web::HTML {
|
||||||
|
|
|
@ -37,7 +37,8 @@ public:
|
||||||
HTMLOutputElement(DOM::Document&, const FlyString& local_name);
|
HTMLOutputElement(DOM::Document&, const FlyString& local_name);
|
||||||
virtual ~HTMLOutputElement() override;
|
virtual ~HTMLOutputElement() override;
|
||||||
|
|
||||||
const String& type() const {
|
const String& type() const
|
||||||
|
{
|
||||||
static String output = "output";
|
static String output = "output";
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
#include <LibJS/Interpreter.h>
|
#include <LibJS/Interpreter.h>
|
||||||
#include <LibJS/Parser.h>
|
#include <LibJS/Parser.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
#include <LibWeb/HTML/HTMLScriptElement.h>
|
|
||||||
#include <LibWeb/DOM/Text.h>
|
#include <LibWeb/DOM/Text.h>
|
||||||
|
#include <LibWeb/HTML/HTMLScriptElement.h>
|
||||||
#include <LibWeb/Loader/ResourceLoader.h>
|
#include <LibWeb/Loader/ResourceLoader.h>
|
||||||
|
|
||||||
namespace Web::HTML {
|
namespace Web::HTML {
|
||||||
|
|
|
@ -37,7 +37,8 @@ public:
|
||||||
HTMLTextAreaElement(DOM::Document&, const FlyString& local_name);
|
HTMLTextAreaElement(DOM::Document&, const FlyString& local_name);
|
||||||
virtual ~HTMLTextAreaElement() override;
|
virtual ~HTMLTextAreaElement() override;
|
||||||
|
|
||||||
const String& type() const {
|
const String& type() const
|
||||||
|
{
|
||||||
static String textarea = "textarea";
|
static String textarea = "textarea";
|
||||||
return textarea;
|
return textarea;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,24 +87,24 @@ namespace Web::HTML {
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define EMIT_CHARACTER_AND_RECONSUME_IN(code_point, new_state) \
|
#define EMIT_CHARACTER_AND_RECONSUME_IN(code_point, new_state) \
|
||||||
do { \
|
do { \
|
||||||
m_queued_tokens.enqueue(HTMLToken::make_character(code_point)); \
|
m_queued_tokens.enqueue(HTMLToken::make_character(code_point)); \
|
||||||
will_reconsume_in(State::new_state); \
|
will_reconsume_in(State::new_state); \
|
||||||
m_state = State::new_state; \
|
m_state = State::new_state; \
|
||||||
goto new_state; \
|
goto new_state; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define FLUSH_CODEPOINTS_CONSUMED_AS_A_CHARACTER_REFERENCE \
|
#define FLUSH_CODEPOINTS_CONSUMED_AS_A_CHARACTER_REFERENCE \
|
||||||
do { \
|
do { \
|
||||||
for (auto code_point : m_temporary_buffer) { \
|
for (auto code_point : m_temporary_buffer) { \
|
||||||
if (consumed_as_part_of_an_attribute()) { \
|
if (consumed_as_part_of_an_attribute()) { \
|
||||||
m_current_token.m_tag.attributes.last().value_builder.append_code_point(code_point); \
|
m_current_token.m_tag.attributes.last().value_builder.append_code_point(code_point); \
|
||||||
} else { \
|
} else { \
|
||||||
create_new_token(HTMLToken::Type::Character); \
|
create_new_token(HTMLToken::Type::Character); \
|
||||||
m_current_token.m_comment_or_character.data.append_code_point(code_point); \
|
m_current_token.m_comment_or_character.data.append_code_point(code_point); \
|
||||||
m_queued_tokens.enqueue(m_current_token); \
|
m_queued_tokens.enqueue(m_current_token); \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define DONT_CONSUME_NEXT_INPUT_CHARACTER \
|
#define DONT_CONSUME_NEXT_INPUT_CHARACTER \
|
||||||
|
@ -159,21 +159,21 @@ namespace Web::HTML {
|
||||||
return m_queued_tokens.dequeue(); \
|
return m_queued_tokens.dequeue(); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define EMIT_CHARACTER(code_point) \
|
#define EMIT_CHARACTER(code_point) \
|
||||||
do { \
|
do { \
|
||||||
create_new_token(HTMLToken::Type::Character); \
|
create_new_token(HTMLToken::Type::Character); \
|
||||||
m_current_token.m_comment_or_character.data.append_code_point(code_point); \
|
m_current_token.m_comment_or_character.data.append_code_point(code_point); \
|
||||||
m_queued_tokens.enqueue(m_current_token); \
|
m_queued_tokens.enqueue(m_current_token); \
|
||||||
return m_queued_tokens.dequeue(); \
|
return m_queued_tokens.dequeue(); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define EMIT_CURRENT_CHARACTER \
|
#define EMIT_CURRENT_CHARACTER \
|
||||||
EMIT_CHARACTER(current_input_character.value());
|
EMIT_CHARACTER(current_input_character.value());
|
||||||
|
|
||||||
#define SWITCH_TO_AND_EMIT_CHARACTER(code_point, new_state) \
|
#define SWITCH_TO_AND_EMIT_CHARACTER(code_point, new_state) \
|
||||||
do { \
|
do { \
|
||||||
will_switch_to(State::new_state); \
|
will_switch_to(State::new_state); \
|
||||||
m_state = State::new_state; \
|
m_state = State::new_state; \
|
||||||
EMIT_CHARACTER(code_point); \
|
EMIT_CHARACTER(code_point); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,7 @@ void LayoutDocument::recompute_selection_states()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void LayoutDocument::set_selection(const LayoutRange & selection)
|
void LayoutDocument::set_selection(const LayoutRange& selection)
|
||||||
{
|
{
|
||||||
m_selection = selection;
|
m_selection = selection;
|
||||||
recompute_selection_states();
|
recompute_selection_states();
|
||||||
|
|
|
@ -30,10 +30,10 @@
|
||||||
#include <LibGfx/Font.h>
|
#include <LibGfx/Font.h>
|
||||||
#include <LibGfx/StylePainter.h>
|
#include <LibGfx/StylePainter.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
|
#include <LibWeb/InProcessWebView.h>
|
||||||
#include <LibWeb/Layout/LayoutDocument.h>
|
#include <LibWeb/Layout/LayoutDocument.h>
|
||||||
#include <LibWeb/Layout/LayoutFrame.h>
|
#include <LibWeb/Layout/LayoutFrame.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/InProcessWebView.h>
|
|
||||||
|
|
||||||
//#define DEBUG_HIGHLIGHT_FOCUSED_FRAME
|
//#define DEBUG_HIGHLIGHT_FOCUSED_FRAME
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <LibWeb/Layout/LayoutReplaced.h>
|
|
||||||
#include <LibWeb/HTML/HTMLIFrameElement.h>
|
#include <LibWeb/HTML/HTMLIFrameElement.h>
|
||||||
|
#include <LibWeb/Layout/LayoutReplaced.h>
|
||||||
|
|
||||||
namespace Web {
|
namespace Web {
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ struct LayoutPosition {
|
||||||
|
|
||||||
class LayoutRange {
|
class LayoutRange {
|
||||||
public:
|
public:
|
||||||
LayoutRange() {}
|
LayoutRange() { }
|
||||||
LayoutRange(const LayoutPosition& start, const LayoutPosition& end)
|
LayoutRange(const LayoutPosition& start, const LayoutPosition& end)
|
||||||
: m_start(start)
|
: m_start(start)
|
||||||
, m_end(end)
|
, m_end(end)
|
||||||
|
|
|
@ -30,9 +30,9 @@
|
||||||
#include <LibGfx/Font.h>
|
#include <LibGfx/Font.h>
|
||||||
#include <LibGfx/StylePainter.h>
|
#include <LibGfx/StylePainter.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
|
#include <LibWeb/InProcessWebView.h>
|
||||||
#include <LibWeb/Layout/LayoutWidget.h>
|
#include <LibWeb/Layout/LayoutWidget.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/InProcessWebView.h>
|
|
||||||
|
|
||||||
namespace Web {
|
namespace Web {
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AK/Utf8View.h>
|
#include <AK/Utf8View.h>
|
||||||
|
#include <LibWeb/Layout/LayoutBox.h>
|
||||||
#include <LibWeb/Layout/LayoutNode.h>
|
#include <LibWeb/Layout/LayoutNode.h>
|
||||||
#include <LibWeb/Layout/LayoutText.h>
|
#include <LibWeb/Layout/LayoutText.h>
|
||||||
#include <LibWeb/Layout/LayoutBox.h>
|
|
||||||
#include <LibWeb/Layout/LineBox.h>
|
#include <LibWeb/Layout/LineBox.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/Weakable.h>
|
#include <AK/Weakable.h>
|
||||||
#include <LibGfx/Rect.h>
|
|
||||||
#include <LibGfx/Forward.h>
|
#include <LibGfx/Forward.h>
|
||||||
|
#include <LibGfx/Rect.h>
|
||||||
#include <LibWeb/Forward.h>
|
#include <LibWeb/Forward.h>
|
||||||
|
|
||||||
namespace Web {
|
namespace Web {
|
||||||
|
|
|
@ -24,9 +24,9 @@
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <LibWeb/InProcessWebView.h>
|
||||||
#include <LibWeb/Page/Frame.h>
|
#include <LibWeb/Page/Frame.h>
|
||||||
#include <LibWeb/Page/Page.h>
|
#include <LibWeb/Page/Page.h>
|
||||||
#include <LibWeb/InProcessWebView.h>
|
|
||||||
|
|
||||||
namespace Web {
|
namespace Web {
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,8 @@ Vector<PathInstruction> PathDataParser::parse()
|
||||||
return m_instructions;
|
return m_instructions;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PathDataParser::parse_drawto() {
|
void PathDataParser::parse_drawto()
|
||||||
|
{
|
||||||
if (match('M') || match('m')) {
|
if (match('M') || match('m')) {
|
||||||
parse_moveto();
|
parse_moveto();
|
||||||
} else if (match('Z') || match('z')) {
|
} else if (match('Z') || match('z')) {
|
||||||
|
@ -611,14 +612,13 @@ void SVGPathElement::paint(Gfx::Painter& painter, const SVGPaintingContext& cont
|
||||||
|
|
||||||
auto dx_end_control = last_point.dx_relative_to(m_previous_control_point);
|
auto dx_end_control = last_point.dx_relative_to(m_previous_control_point);
|
||||||
auto dy_end_control = last_point.dy_relative_to(m_previous_control_point);
|
auto dy_end_control = last_point.dy_relative_to(m_previous_control_point);
|
||||||
auto control_point = Gfx::FloatPoint {last_point.x() + dx_end_control, last_point.y() + dy_end_control};
|
auto control_point = Gfx::FloatPoint { last_point.x() + dx_end_control, last_point.y() + dy_end_control };
|
||||||
|
|
||||||
Gfx::FloatPoint end_point = {data[0], data[1]};
|
Gfx::FloatPoint end_point = { data[0], data[1] };
|
||||||
|
|
||||||
if (absolute) {
|
if (absolute) {
|
||||||
path.quadratic_bezier_curve_to(control_point, end_point);
|
path.quadratic_bezier_curve_to(control_point, end_point);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
path.quadratic_bezier_curve_to(control_point, end_point + last_point);
|
path.quadratic_bezier_curve_to(control_point, end_point + last_point);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -113,7 +113,6 @@ public:
|
||||||
private:
|
private:
|
||||||
Vector<PathInstruction> m_instructions;
|
Vector<PathInstruction> m_instructions;
|
||||||
Gfx::FloatPoint m_previous_control_point = {};
|
Gfx::FloatPoint m_previous_control_point = {};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,9 +28,9 @@
|
||||||
#include <LibWeb/CSS/StyleResolver.h>
|
#include <LibWeb/CSS/StyleResolver.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
#include <LibWeb/DOM/Event.h>
|
#include <LibWeb/DOM/Event.h>
|
||||||
|
#include <LibWeb/Layout/LayoutSVG.h>
|
||||||
#include <LibWeb/SVG/SVGPathElement.h>
|
#include <LibWeb/SVG/SVGPathElement.h>
|
||||||
#include <LibWeb/SVG/SVGSVGElement.h>
|
#include <LibWeb/SVG/SVGSVGElement.h>
|
||||||
#include <LibWeb/Layout/LayoutSVG.h>
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
namespace Web::SVG {
|
namespace Web::SVG {
|
||||||
|
|
|
@ -29,10 +29,13 @@
|
||||||
namespace Web::SVG::TagNames {
|
namespace Web::SVG::TagNames {
|
||||||
|
|
||||||
#define __ENUMERATE_SVG_TAG(name) FlyString name;
|
#define __ENUMERATE_SVG_TAG(name) FlyString name;
|
||||||
ENUMERATE_SVG_TAGS
|
ENUMERATE_SVG_TAGS
|
||||||
#undef __ENUMERATE_SVG_TAG
|
#undef __ENUMERATE_SVG_TAG
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
// FIXME: clang-format gets confused here. Why?
|
||||||
[[gnu::constructor]] static void initialize()
|
[[gnu::constructor]] static void initialize()
|
||||||
|
// clang-format off
|
||||||
{
|
{
|
||||||
static bool s_initialized = false;
|
static bool s_initialized = false;
|
||||||
if (s_initialized)
|
if (s_initialized)
|
||||||
|
|
|
@ -30,11 +30,11 @@
|
||||||
|
|
||||||
namespace Web::SVG::TagNames {
|
namespace Web::SVG::TagNames {
|
||||||
|
|
||||||
#define ENUMERATE_SVG_GRAPHICS_TAGS \
|
#define ENUMERATE_SVG_GRAPHICS_TAGS \
|
||||||
__ENUMERATE_SVG_TAG(svg) \
|
__ENUMERATE_SVG_TAG(svg) \
|
||||||
__ENUMERATE_SVG_TAG(path) \
|
__ENUMERATE_SVG_TAG(path)
|
||||||
|
|
||||||
#define ENUMERATE_SVG_TAGS \
|
#define ENUMERATE_SVG_TAGS \
|
||||||
ENUMERATE_SVG_GRAPHICS_TAGS
|
ENUMERATE_SVG_GRAPHICS_TAGS
|
||||||
|
|
||||||
#define __ENUMERATE_SVG_TAG(name) extern FlyString name;
|
#define __ENUMERATE_SVG_TAG(name) extern FlyString name;
|
||||||
|
|
|
@ -39,4 +39,3 @@ struct URLQueryParam {
|
||||||
String urlencode(const Vector<URLQueryParam>&);
|
String urlencode(const Vector<URLQueryParam>&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue