summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2022-10-20LibWeb: Remove dbgln FIXME spam from BindingsGeneratorLinus Groh
2022-10-20LibWeb: Revert support for DOM::Document in XHR::send()Kenneth Myhra
This is a manual revert of commit: 7831e62 Let's revert this until we got nested union support in our IDL generator/parser.
2022-10-20LibWeb: Teach IDL generator to go from WindowProxy to EventTargetAndreas Kling
This case requires some special handling, since there's no direct C++ inheritance relationship between HTML::WindowProxy and DOM::EventTarget.
2022-10-20LibWeb: Prevent GC from running during intrinsics allocationAndreas Kling
Due to the way we lazily construct prototypes and constructors for web platform interfaces, it's possible for nested GC allocation to occur while GC objects have been allocated but not fully constructed. If the garbage collector ends up running in this state, it may attempt to call JS::Cell::visit_edges() on an object whose vtable pointer hasn't been set up yet. This patch works around the issue by deferring GC while intrinsics are being brought up. Furthermore, we also create a dummy global object for the internal realm, and populate it with intrinsics. This works around the same issue happening when allocating something (like the default UA stylesheets) in the internal realm. These solutions are pretty hacky and sad, so I've left FIXMEs about finding a nicer way.
2022-10-18LibTimeZone+LibJS: Update to TZDB version 2022eTimothy Flynn
https://mm.icann.org/pipermail/tz-announce/2022-October/000074.html This version changes America/Chicago's transtion from LMT to CST from 1883 Nov 18 12:09:24 to 1883 Nov 18 18:00.
2022-10-17Lagom: Enable compile_commands.json for the lagom build directoryAndrew Kaster
This allows a developer who only wants to look at Lagom to have their IDE find source files and headers properly.
2022-10-17Lagom+CMake: Propagate dependencies for generated custom targetsAndrew Kaster
We have logic for serenity_generated_sources which works well for source files that are specified in GENERATED_SOURCES prior to calling serenity_lib or serenity_bin. However, code generated with invoke_generator, and the LibWeb generators do not always follow the pattern of the IDL and GML files. For the LibWeb generators, we can just add_dependencies to LibWeb at the time we declare the generate_Foo custom target. However for LibLocale, LibTimeZone, and LibUnicode, we don't have the name of the target available, so export the name in a variable to set into GENERATED_SOURCES. To make this work for Lagom, we need to make sure that lagom_lib and serenity_bin in Lagom/CMakeLists.txt call serenity_generated_sources on the target. This enables the Xcode generator on macOS hosts, at least for Lagom.
2022-10-17Lagom: Make lagom_lib take names prefixed with LibAndrew Kaster
This matches serenity_lib, and consolidates the logic to strip Lib from the front of the library name for the Lagom export name into one place at the top of lagom_lib.
2022-10-16Meta: Start moving common shell definitions into a common fileTim Schumacher
2022-10-16Meta: Allow shellcheck to search sourced files in the script directoryTim Schumacher
2022-10-16Meta: Define `SUDO` for all the image building scriptsTim Schumacher
Back when adding support for `pls` as a `sudo` replacement, `build-image-qemu` dynamically set the `SUDO` variable depending on what system it was running on and used the contents of that variable to call the correct elevation utility. During recent changes to the elevation error message, that usage of the variable was replicated across all of our scripts, but without also replicating the logic to set that variable in the first place. Add back the variable setting logic to all the other scripts to keep them from running into unset variables.
2022-10-16Meta: Remove unused "prefix" variable from invoke_generator() helperTimothy Flynn
This became unused after 1ae0cfd.
2022-10-16Meta: Print error if cmake does not existdemostanis
2022-10-16Fuzzers: Add fuzzer for the Tar parserIdan Horowitz
2022-10-16Lagom: Remove unecessary _lagom suffix from test and executable namesAndrew Kaster
We needed this back when we included Lagom into the main serenity build, but it has been unecessary since the superbuild.
2022-10-16CMake+Userland: Use CMakeLists from Userland to build Lagom LibrariesAndrew Kaster
Also do this for Shell. This greatly simplifies the CMakeLists in Lagom, replacing many glob patterns with a big list of libraries. There are still a few special libraries that need some help to conform to the pattern, like LibELF and LibWebView. It also lets us remove essentially all of the Serenity or Lagom binary directory detection logic from code generators, as now both projects directories enter the generator logic from the same place.
2022-10-16Meta: Use add_serenity_directory for LibTimeZoneAndrew Kaster
This lets us eliminate the "meta prefix" for the LibTimeZone generators.
2022-10-16Lagom+LibCore: Build LibCore, AK, and LibMain with add_subdirectoryAndrew Kaster
By deferring to the CMakeLists in each of these libraries' directories, we can get rid of a lot of curious GLOB patterns and list removals in the Lagom CMakeLists.
2022-10-16LibWeb: Add support for DOM::Document to XHR::send()Kenneth Myhra
This patch adds support for posting a DOM::Document using XHR::send().
2022-10-15Meta: Properly ignore targets which don't have a component nameGunnar Beutner
Previously we'd add [component_name-NOTFOUND] sections to the components.ini file for targets which weren't part of a component.
2022-10-14Kernel: Add support for the FAT32 filesystemUndefine
This commit adds read-only support for the FAT32 filesystem. It also includes support for long file names.
2022-10-15Meta: Don't tell to run script as root when that's not the actual errordemostanis
Before, and that was the cause of many confusion in #build-problems on Discord, the Meta/build-image-*.sh scripts would error out with the message "this script needs to run as root" while the actual error was unrelated.
2022-10-14LibAudio: Factorize stream initialisation to base class `LoaderPlugin`Lucas CHOLLET
All actual plugins follow the same logic to initialize their stream, this commit factorizes all of this to their base class: `LoaderPlugin`.
2022-10-14Meta: Get rid of /res/version.inikleines Filmröllchen
There are no more users of this legacy version API. :yakgone:
2022-10-14Escalator: Add new method to privilege escalate within GUIne0ndrag0n
2022-10-13Fuzzers: Add VP9Decoder and MatroskaReader fuzzers for LibVideoAndrew Kaster
2022-10-12WebDriver: Add new WebDriver serviceSam Atkins
WebDriver aims to implement the WebDriver specification found at https://w3c.github.io/webdriver/webdriver-spec.html . It's an HTTP server that can create Browser sessions and control them. Co-authored-by: Florent Castelli <florent.castelli@gmail.com>
2022-10-10Userland: Remove unecessary uses of __serenity__ macroAndrew Kaster
2022-10-10LibRegex: Don't build LibRegex/C/Regex.cpp on LagomAndrew Kaster
This file implements the POSIX APIs from <regex.h>, and is not suitable for inclusion in a Lagom build. If we do include it, it will override the host's regex functions and wreak havoc if it's resolved before the host's implementation.
2022-10-09LibVideo: Add LibVideo test to LagomZaggy1024
2022-10-09LibWeb: Re-implement HTML::Navigator using IDLAndrew Kaster
Get rid of the bespoke NavigatorObject class and use the modern IDL strategies for creating platform objects to re-implement Navigator and its associcated mixin interfaces. While we're here, implement it in a way that brings WorkerNavigator up to spec :^)
2022-10-09LibWeb: Add new code generator for creating exposed interface helpersAndrew Kaster
This new code generator takes all the .idl files in LibWeb, looks for each top level interface in there with an [Exposed=Foo] attribute, and adds code to add the constructor and prototype for each of those exposed interfaces to the realm of the relevant global object we're initialzing. It will soon replace WindowObjectHelper as the way that web interfaces are added to the Window object, and will be used in the future for creating proper WorkerGlobalScope objects for dedicated and shared workers.
2022-10-09LibIDL: Remove static maps for interfaces and resolved importsAndrew Kaster
Instead, create a tree of Parsers all pointing to a top-level Parser. All module imports and interfaces are stored at the top level, instead of in a static map. This allows creating multiple IDL::Parsers in the same process without them stepping on each others toes.
2022-10-07LibUnicode: Remove GCC codegen workaroundTimothy Flynn
Reverts commits: ffbf5596cd8e2d0e44451034b2e508d06df4c77b f190e394b3ba227028baed06ab5c89f1b193e0f4
2022-10-07LibUnicode: Update code point ideographic replacements for Unicode 15Timothy Flynn
2022-10-06BindingsGenerator+LibWeb: Pass a VM to static IDL-based functionsSam Atkins
This saves us from having to yoink the VM out of thin air.
2022-10-06BindingsGenerator+LibIDL: Parse "inherit" attributesSam Atkins
An "inherit attribute" calls an ancestor's getter with the same name, but defines its own setter. Since a parent class's public methods are exposed to child classes, we don't have to do any special handling here to call the parent's methods, it just works. :^)
2022-10-06LibUnicode: Let's use the GCC 11/12 workaround on all platformsAndreas Kling
I seem to be getting some miscompiles on Linux as well, so let's make the hitherto macOS-specific workaround universal.
2022-10-06LibWeb: Generate WebContent IPC endpoints for Lagom's LibWebViewAndreas Kling
This is pretty hackish but should get us back to building.
2022-10-06LibUnicode: Add decomposition mappings and Unicode normalizationmatcool
The mappings are exposed via `Unicode::code_point_decomposition(u32)` and `Unicode::code_point_decompositions()`, the latter being useful for reverse searching a code point from its decomposition. The normalization code does not make use of `Quick_Check` props (https://www.unicode.org/reports/tr44/#Decompositions_and_Normalization), meaning no quick check optimizations.
2022-10-06Meta: Hide WebView behind ENABLE_LAGOM_LIBWEB CMake optionTimothy Flynn
If ENABLE_LAGOM_LIBWEB is OFF, this will fail to build.
2022-10-06CMake: Don't mess with absolute compile_ipc() source pathsAndreas Kling
If given an absolute path, compile_ipc() should just use it verbatim instead of trying to be helpful.
2022-10-06Lagom: Add Build WebContentClient as part of Lagom's LibWebViewAndreas Kling
This will allow us to use it in Ladybird. :^)
2022-10-04AK+Everywhere: Add AK_COMPILER_{GCC,CLANG} and use them most placesNico Weber
Doesn't use them in libc headers so that those don't have to pull in AK/Platform.h. AK_COMPILER_GCC is set _only_ for gcc, not for clang too. (__GNUC__ is defined in clang builds as well.) Using AK_COMPILER_GCC simplifies things some. AK_COMPILER_CLANG isn't as much of a win, other than that it's consistent with AK_COMPILER_GCC.
2022-10-04LibWeb: Implement <input type=file> behaviorAndrew Kaster
This includes punting on the actual file picker implementation all the way out to the PageClient. It's likely that some of the real details should be implemented somewhere closer, like the BrowsingContext or the Page, but we'll get there. For now, this allows https://copy.sh/v86 to load the emulation of the preselected images all the way until it hits a call to URL.createObjectURL.
2022-10-04BindingsGenerator: Allow the word "inline" in IDL identifiersAndreas Kling
This has to be treated carefully since it's a C++ keyword.
2022-10-03Lagom: Change dl to ${CMAKE_DL_LIBS} for portabilityvl-ms
2022-10-03Lagom: Work around gcc codegen bugNico Weber
Without this, GenerateUnicodeData crashes when run during the build. With this, `serenity.sh run` brings up a running SerenityOS. Since GenerateUnicodeData doesn't take a lot of time to run, just disable optimizations to work around the problem for now. Works around #15449.
2022-10-03Meta: Make x86-64 target the defaultLiav A
This is a preparation to check if our users find noticeable bugs in the x86-64 target, before we can decide if we want to remove the i686 target for good.
2022-10-03Meta: Force -machine pc-i440fx-7.0 when using QEMU >= 7.1Andrew Kaster
Until the root cause behind #14952 is found, this workaround should stem the tide of users in discord asking why their system crashes on startup.