summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2022-03-18Everywhere: Deduplicate day/month name constantsLenny Maiorani
Day and month name constants are defined in numerous places. This pulls them together into a single place and eliminates the duplication. It also ensures they are `constexpr`.
2022-03-17LibTimeZone: Update to TZDB version 2022aTimothy Flynn
https://mm.icann.org/pipermail/tz-announce/2022-March/000070.html
2022-03-16LibWeb: Annotate which CSS properties may affect layoutAndreas Kling
This patch adds CSS::property_affects_layout(PropertyID) which tells us whether a CSS property would affect layout if it were changed. This will be used to avoid unnecessary relayout work when something changes that really only requires us to repaint the page. To mark a property as not affecting layout, set "affects-layout" to false in the corresponding Properties.json entry. Note that all properties affect layout by default.
2022-03-16Meta: Enable all wasm extensions when building test suiteAli Mohammad Pur
...and let LibWasm do the validation instead of removing the test when a module is invalid. Also, one of the tests has an integer literal starting with zero, so account for this to make it not fail :^)
2022-03-16Meta: Use the ImplementedAs value in the attribute settersin-ack
Co-Authored-By: Luke Wilde <lukew@serenityos.org>
2022-03-14Meta: Add copy-src to commands in ZSH autocomplete scriptLinus Groh
2022-03-14Meta: Add aarch64 to targets in ZSH autocomplete scriptLinus Groh
2022-03-13LibWeb: Make CSS::property_initial_value() use an Array internallyAndreas Kling
Since we want to store an initial value for every CSS::PropertyID, it's pretty silly to use a HashMap when we can use an Array. This takes the function from ~2.8% when mousing around on GitHub all the way down to ~0.6%. :^)
2022-03-12Kernel: Move aarch64 Prekernel into KernelJakub V. Flasar
As there is no need for a Prekernel on aarch64, the Prekernel code was moved into Kernel itself. The functionality remains the same. SERENITY_KERNEL_AND_INITRD in run.sh specifies a kernel and an inital ramdisk to be used by the emulator. This is needed because aarch64 does not need a Prekernel and the other ones do.
2022-03-10Meta: Port Generate_CSS_PropertyID_cpp to LibMain/Core::StreamSam Atkins
2022-03-10Meta: Port Generate_CSS_PropertyID_h to LibMain/Core::StreamSam Atkins
2022-03-10Meta: Port Generate_CSS_ValueID_cpp to LibMain/Core::StreamSam Atkins
2022-03-10Meta: Port Generate_CSS_ValueID_h to LibMain/Core::StreamSam Atkins
2022-03-09Meta: Generate functions for validating media-query valuesSam Atkins
These work differently from how we validate StyleValues. There, we parse a StyleValue from the CSS, and then see if it is allowed in the property. That causes problems when the syntax is ambiguous - for example, `0` can be a number or a Length. Here instead, we ask what kinds of value are allowed for a media-feature, and then only attempt to parse those kinds of value. This makes the ambiguity problem go away. :^) Each media-feature in the spec only accepts one type of value, and/or some identifiers. This makes the switch statements for the type a bit excessive, but the spec does not *require* that only one type is allowed, so this is more future-proof.
2022-03-09LibWeb+Meta: Stop discrete media-features from parsing as rangesSam Atkins
Only "range" type media-features are allowed to appear in range syntax, or have a `min-/max-` prefix.
2022-03-09Meta: Generate CSS::MediaFeatureID enumSam Atkins
This works largely the same as the PropertyID and ValueID generators, but using LibMain, Core::Stream, and TRY(). Rather than have a MediaFeatureID::Invalid, I decided to return an Optional. We'll see if that turns out better or not. :^)
2022-03-09Meta: Move title/camel_casify() functions into their own fileSam Atkins
These were duplicated among the CSS generators.
2022-03-09LibWeb: Add basic support for DOM's NodeIterator and NodeFilterAndreas Kling
This patch adds NodeIterator (created via Document.createNodeIterator()) which allows you to iterate through all the nodes in a subtree while filtering with a provided NodeFilter callback along the way. This first cut implements the full API, but does not yet handle nodes being removed from the document while referenced by the iterator. That will be done in a subsequent patch.
2022-03-09Meta: Add SERENITY_GL environment variable to run.shSahan Fernando
2022-03-08Base+Meta: Make /usr/local read-writeDaniel Bertalan
This directory has to be writable if we want to install ports that have been built inside Serenity. It's owned by root anyway, so having it be read-only does not provide many security benefits.
2022-03-08Meta: Fix that the processor count was output to stderr and ignoreddavidot
Because of ninja's default behavior of using all processors this gave the correct behaviour because MAKEJOBS was empty. However this meant that the processor count was printed to stderr when building.
2022-03-08Meta: Read MAKEJOBS to limit jobs for ninja in serenity.shdavidot
The default behavior of using all cores will still apply if no MAKEJOBS variable is supplied.
2022-03-08LibWeb: Move Window from DOM directory & namespace to HTMLLinus Groh
The Window object is part of the HTML spec. :^) https://html.spec.whatwg.org/multipage/window-object.html
2022-03-07LibPDF: Propagate errors in Parser and DocumentMatthew Olsson
2022-03-05LibWeb: Add a very basic and ad-hoc version of IDL overload resolutionIdan Horowitz
This initial version lays down the basic foundation of IDL overload resolution, but much of it will have to be replaced with the actual IDL overload resolution algorithms once we start implementing more complex IDL overloading scenarios.
2022-03-04LibWeb: Hide some debug logging behind CANVAS_RENDERING_CONTEXT_2D_DEBUGLinus Groh
This can be quite noisy and isn't generally useful information.
2022-03-03Meta: Add "SerenityOS" to the QEMU window titleJelle Raaijmakers
Just a small quality of life improvement :^)
2022-03-02Meta: Add option to run SerenityOS on a QEMU MicroVM machineLiav A
The microvm machine type is a modern tool for kernel and firmware developers to test their software against features like FDTs, second IOAPIC, lack of legacy devices by default, the ability of using PCIe without using PCI x86 IO ports, etc. We can boot into such machine but we are limited in the functionality we support currently for this type of virtual machine.
2022-03-02Meta: Add option to run SerenityOS on a QEMU ISA-PC machineLiav A
The ISA-PC machine type provides no PCI bus support, no IOAPIC support and other modern PC features of our generation. This is mainly a good environment for testing abstractions in the kernel space, and can help with improving on them for the sake of porting the OS to other chipsets and CPU architectures.
2022-02-26Utilities+Meta: Check icons in markdown-checkkleines Filmröllchen
We use the environment variable SERENITY_SOURCE_DIR to resolve and check icon links. This is a bit inconvenient as SERENITY_SOURCE_DIR needs to be set correctly before invoking the markdown checker, but as we use it through the check-markdown script anyways, I think it's not a problem.
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.