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