summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2022-02-26Lagom/Fuzzers: Add MP3 fuzzerLuke Wilde
2022-02-25Userland: Rename IPC ClientConnection => ConnectionFromClientItamar
This was done with CLion's automatic rename feature and with: find . -name ClientConnection.h | rename 's/ClientConnection\.h/ConnectionFromClient.h/' find . -name ClientConnection.cpp | rename 's/ClientConnection\.cpp/ConnectionFromClient.cpp/'
2022-02-25Everywhere: Use title case for man section titlesnetworkException
In addition to the section headings on man.serenityos.org, all occurances of man section titles are now formatted in title case.
2022-02-24Meta: Title case 'File Formats' on man.serenityos.orgLinus Groh
2022-02-24Meta: Use correct man page title for section 5 on man.serenityos.orgnetworkException
2022-02-24LibWeb: Allow Angle/Frequency/Resolution/Time values for CSS propertiesSam Atkins
2022-02-23LibTest+Spreadsheet: Add some basic spreadsheet runtime behaviour testsAli Mohammad Pur
As there's a somewhat active development going on, let's keep the expected behaviour under tests to make sure nothing blows up :^)
2022-02-21Lagom: Port LibSyntaxFiliph Sandström
LibSyntax was already building for lagom without any extra changes so let's just enable it :^)
2022-02-20Meta: Add "vdagent" character device for both qemu-vdagent and spicevmcSviatoslav Peleshko
Previously we added it only if spice was available, but it's possible to build qemu with --disable-spice --enable-spice-protocol, which provides qemu-vdagent but no spicevmc. In such case we still configured qemu-vdagent to use "vdagent" device, but never actually defined it, so the qemu-vdagent was never working.
2022-02-20Fuzzers: Avoid unnecessary ByteBuffer copies in FuzzWAVLoaderAndrew Kaster
Avoid trying to memcpy from 0-byte sources as well, by bailing early on nullptr data inputs.
2022-02-20Lagom: Add two-stage build for Fuzzers to enable fuzzing generated codeAndrew Kaster
This allows us to fuzz the generated unicode and timezone database helpers, and to fuzz things like LibJS using Fuzzilli to get proper coverage of our unicode handling code. Update the Azure CI to use the new two-stage build as well, and cleanup some unused CMake options there.
2022-02-20Ports/gdb: Add descriptions to all gdb patches and remove dead codeBrian Gianforcaro
Before working on the gdb port some more, I wanted to get these patches cleaned up to have a good base to build upon.
2022-02-20LibWeb: Add AbortSignal as a wrappable typeLuke Wilde
2022-02-20LibWeb: Add support for dictionary types to union typesLuke Wilde
This also fixes some indentation issues in the generated code.
2022-02-20LibWeb: Add dictionary types to idl_type_name_to_cpp_typeLuke Wilde
This allows dictionaries to appear in sequences, records and unions.
2022-02-20LibWeb: Add support for optional, non-nullable wrapper typesLuke Wilde
2022-02-20LibWeb: Don't perform ToObject when converting values to wrapper typesLuke Wilde
WebIDL checks the type of the value is Object instead of performing ToObject on the value. https://webidl.spec.whatwg.org/#implements
2022-02-19Meta: Explicitly set number of available inodes for genext2fsGunnar Beutner
According to its manpage genext2fs tries to create the file system with as few inodes as possible. This causes SerenityOS to fail at boot time when creating temporary files.
2022-02-19Meta: Make `serenity.sh gdb` work with the Clang toolchainDaniel Bertalan
We now pass along the toolchain type to all subcommands. This ensures that gdb will load the correct debug information for kernels compiled with Clang, and the following warning won't appear with the GNU toolchain: > WARNING: unknown toolchain 'gdb'. Defaulting to GNU. > Valid values are 'Clang', 'GNU' (default)
2022-02-18LibWeb: Move WebSocket into the Web::WebSockets namespaceLinus Groh
WebSockets got moved from the HTML standard to their own, the new WebSockets Standard (https://websockets.spec.whatwg.org). Move the IDL file and implementation into a new WebSockets directory and C++ namespace accordingly.
2022-02-17LibWeb: Add partially functioning Worker APIBen Abraham
Add a partial implementation of HTML5 Worker API. Messages can be sent from the inner context externally.
2022-02-17WrapperGenerator: Don't emit code for imported enumerationsAli Mohammad Pur
2022-02-17WrapperGenerator: Add support for IDL mixin interfacesAli Mohammad Pur
2022-02-17Meta: Split and refactor the WrapperGenerator a bitAli Mohammad Pur
The single 4000-line WrapperGenerator.cpp file was proving to be a pain to hack, and was filled with spaghetti, split it into a bunch of files to lessen the impact of the spaghetti. Also refactor the whole parser to use a class instead of a giant function with a million lambdas.
2022-02-16LibCore+Everywhere: Return ErrorOr from ConfigFile factory methodsSam Atkins
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
2022-02-16LibWeb: Separate "event listener" from "EventListener"Andreas Kling
I can't imagine how this happened, but it seems we've managed to conflate the "event listener" and "EventListener" concepts from the DOM specification in some parts of the code. We previously had two things: - DOM::EventListener - DOM::EventTarget::EventListenerRegistration DOM::EventListener was roughly the "EventListener" IDL type, and DOM::EventTarget::EventListenerRegistration was roughly the "event listener" concept. However, they were used interchangeably (and incorrectly!) in many places. After this patch, we now have: - DOM::IDLEventListener - DOM::DOMEventListener DOM::IDLEventListener is the "EventListener" IDL type, and DOM::DOMEventListener is the "event listener" concept. This patch also updates the addEventListener() and removeEventListener() functions to follow the spec more closely, along with the "inner invoke" function in our EventDispatcher.
2022-02-16Meta: Make the WrapperGenerator generate includes based on importsAli Mohammad Pur
We no longer include all the things, so each generated IDL file only depends on the things it actually needs now. A possible downside is that all IDL files have to explicitly import their dependencies. Note that non-IDL dependencies still remain and are injected into all generated files, this can be resolved later if desired by allowing IDL files to import headers.
2022-02-16Meta: Support DOMExceptions when invoking IDL getters/settersAli Mohammad Pur
2022-02-16Meta: Add support for enumerations to the IDL compilerAli Mohammad Pur
2022-02-16LibUnicode: Use BCP 47 data to filter valid calendar namesTimothy Flynn
2022-02-16LibUnicode: Use BCP 47 data to filter valid numbering system namesTimothy Flynn
There isn't too much of an effective difference here other than that the BCP 47 data contains some aliases we would otherwise not handle.
2022-02-16LibUnicode: Use BCP 47 data to generate available calendars and numbersTimothy Flynn
BCP 47 will be the single source of truth for known calendar and number system keywords, and their aliases (e.g. "gregory" is an alias for "gregorian"). Move the generation of available keywords to where we parse the BCP 47 data, so that hard-coded aliases may be removed from other generators.
2022-02-16LibJS+LibUnicode: Parse Unicode keywords from the BCP 47 CLDR packageTimothy Flynn
We have a fair amount of hard-coded keywords / aliases that can now be replaced with real data from BCP 47. As a result, the also changes the awkward way we were previously generating keys. Before, we were more or less generating keywords as a CSV list of keys, e.g. for the "nu" key, we'd generate "latn,arab,grek" (ordered by locale preference). Then at runtime, we'd split on the comma. We now just generate spans of keywords directly.
2022-02-16LibUnicode: Extract the BCP 47 package from the CLDRTimothy Flynn
This package was originally meant to be included in CLDR version 40, but was missed in their release scripts. This has been resolved: https://unicode-org.atlassian.net/browse/CLDR-15158 Unfortunately, the CLDR was re-released with the same version number. So to bust the build's CLDR cache, change the "version" used to detect that we need to redownload the CLDR.
2022-02-15Meta: Actually run gml-format in CIIdan Horowitz
Third time's a charm.
2022-02-15Meta: Increase Azure CI timeout for Lagom buildsIdan Horowitz
2022-02-15Meta+LibUnicode: Download and parse Unicode block propertiesthankyouverycool
This parses Blocks.txt for CharacterType properties and creates a global display array for use in apps.
2022-02-15LibWeb: Remove non-standard ReturnNullIfCrossOrigin IDL attributeLinus Groh
This is no longer needed as BrowsingContextContainer::content_document() now does the right thing, and HTMLIFrameElement.contentDocument is the only user of this attribute. Let's not invent our own mechanisms for things that are important to get right, like same origin comparisons.
2022-02-14Meta: Use clang-13 instead of clang-12 in Azure CIIdan Horowitz
This should hopefully resolve a clang ICE seen in PR #12523.
2022-02-14LibJS: Get rid of unnecessary work from canonical_numeric_index_stringAnonymous
The spec version of canonical_numeric_index_string is absurdly complex, and ends up converting from a string to a number, and then back again which is both slow and also requires a few allocations and a string compare. Instead this patch moves away from using Values to represent canonical a canonical index. In most cases all we need to know is whether a PropertyKey is an integer between 0 and 2^^32-2, which we already compute when we construct a PropertyKey so the existing is_number() check is sufficient. The more expensive case is handling strings containing numbers that don't roundtrip through string conversion. In most cases these turn into regular string properties, but for TypedArray access these property names are not treated as normal named properties. TypedArrays treat these numeric properties as magic indexes that are ignored on read and are not stored (but are evaluated) on assignment. For that reason there's now a mode flag on canonical_numeric_index_string so that only TypedArrays take the cost of the ToString round trip test. In order to improve the performance of this path this patch includes some early returns to avoid conversion in cases where we can quickly know whether a property can round trip.
2022-02-14LibUnicode: Port the CLDR time format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR date format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR number format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR locale generator to the stream APITimothy Flynn
This adds a generator utility to read an entire file and parse it as a JSON value. This is heavily used by the CLDR generators. The idea here is to put the file reading details in the utility so that when we have a good story for generically reading an entire stream in LibCore, we can update the generators to use that by only touching this helper.
2022-02-14LibUnicode: Port the UCD generator to the stream APITimothy Flynn
2022-02-14LibTimeZone: Port the TZDB generator to the stream APITimothy Flynn
This also moves the open_file helper to the utility file. It's currently a lambda redefined in each TZDB/Unicode generator. It used to display the missing command line flag and other info local to each generator. After switching to LibMain, it just returns a generic error message, and is duplicated several times.
2022-02-14Meta: Bump Limine version to 2.78.2czapek1337
2022-02-14Meta: Include the EFI executable in Limine imageczapek1337
2022-02-14Meta: Add support for the Limine bootloaderczapek1337
2022-02-14LibWeb: Add support for record<K, V> types as inputLuke Wilde