summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-21Ports: emu2: Bump version to 2021.01Brendan Coles
2021-04-21LibJS: Precompile Heap.h and GlobalObject.hAli Mohammad Pur
This is somewhat noticable difference (~10s), as these two headers are basically included in every single JS file anyway.
2021-04-21Meta: Add an option to precompile some very common AK headersAli Mohammad Pur
Until we get the goodness that C++ modules are supposed to be, let's try to shave off some parse time using precompiled headers. This commit only adds some very common AK headers, only to binaries, libraries and the kernel (tests are not covered due to incompatibility with AK/TestSuite.h). This option is on by default, but can be disabled by passing `-DPRECOMPILE_COMMON_HEADERS=OFF` to cmake, which will disable all header precompilations. This makes the build about 30 seconds faster on my machine (about 7%).
2021-04-21LookupServer: Use dbgln_if instead of #ifAli Mohammad Pur
Also adds a missing AK::Formatter specialisation for DNSName, required for the debug calls to actually work (!)
2021-04-21HackStudio: Clean up debugger thread when debugger exitsFalseHonesty
Fixes #4393 :^)
2021-04-21HackStudio+LibDebug: Support stopping a debugged processFalseHonesty
In LibDebug this required implementing the Kill debug action, and in HackStudio this required making the toolbar's stop action stop the debugger if active.
2021-04-21LibPthread: Add non functional pthread_attr_[set|get]scope stubsBrian Gianforcaro
Standard: https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_attr_getscope.html Needed for https://fio.readthedocs.io
2021-04-21LibC: Add pwrite(..) implementation to match the existing pread(..)Brian Gianforcaro
Add a basic non-thread safe implementation of pwrite, following the existing pread(..) design. This is needed for https://fio.readthedocs.io
2021-04-21LibC: Add LOG_NOWAIT stub to syslog.hBrian Gianforcaro
Needed for porting https://fio.readthedocs.io
2021-04-21LibC: Add a definition for `INET6_ADDRSTRLEN`Brian Gianforcaro
Although serenity doesn't implement IPv6 yet, applications will often declare buffers to be of size `INET6_ADDRSTRLEN` so it's guaranteed to work in both IPv4 / IPv6 environments. This is needed specifically for a port of Flexible IO Tester https://fio.readthedocs.io This is standardized here: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/netinet/in.h.html
2021-04-21LibC: Setup a unit test harness for LibC, add ctime_r / asctime_r tests.Brian Gianforcaro
LibC is no different than any other code, it should be unit tested where appropriate / possible.
2021-04-21LibC: Fix missing '\n' at the end of ctime/ctime_r/asctime/asctime_rBrian Gianforcaro
@linusg noticed this bug in the original implementation during code review. This makes all of these API's more spec conforming.
2021-04-21LibC: Add ctime_r() and asctime_r() implementationsBrian Gianforcaro
Need this for a port of FIO (Flexible IO Tester) https://fio.readthedocs.io/
2021-04-21Tests: Reorganize LibCompress unit testsMarco Biscaro
Move LibCompress unit tests to LibCompress/Tests directory and register them with CMake's add_test. This allows us to run these tests with ninja test instead of running a separate executable. Also split the existing tests in 3 test files that better follow the source code structure (inspired by AK tests).
2021-04-20LibWeb: Register FormAssociatedElement with their owner formAndreas Kling
This will eventually allow us to implement HTMLFormControlsCollection.
2021-04-20LibWeb: Make HTMLSelectElement a FormAssociatedElementAndreas Kling
2021-04-20Kernel: Don't consider kernel memory regions for syscall origin checkAndreas Kling
We should never enter the syscall handler from a kernel address.
2021-04-20Toolchain: Build GCC with optimizationsGunnar Beutner
2021-04-20Ports: Build shared library for xz with -pthreadGunnar Beutner
2021-04-20LibPthread: Add stubs for pthread_spin_* functionsGunnar Beutner
The stress-ng port depends on these now that it detects we have thread support.
2021-04-20LibC+LibPthread: Implement function forwarding for libpthreadGunnar Beutner
GCC will insert various calls to pthread functions when compiling C++ code with static initializers, even when the user doesn't link their program against libpthread explicitly. This is used to make static initializers thread-safe, e.g. when building a library that does not itself use thread functionality and thus does not link against libpthread - but is intended to be used with other code that does use libpthread explicitly. This makes these symbols available in libc.
2021-04-20Kernel: Remove requirement for the thread entitlement for the futex syscallGunnar Beutner
GCC inserts calls to pthread_mutex_lock when compiling C++ code with threads enabled.
2021-04-20Toolchain+Ports: Enable threads for gccGunnar Beutner
This enables POSIX threads for GCC and makes the -pthread argument available.
2021-04-20LibWeb: Don't call ResourceLoader error callback on 4xx status codeLinus Groh
A website with a 4xx status code is still a valid website, we should not artificially hide it. In fact, many websites implement custom 404 error pages for example, often containing search functionality or links back to the homepage. This might have implications regarding the loading of stylesheets where the request 404s, but since we were not handling 5xx status codes as errors either, I think that's fine for now (but might need additional work later). Worst case, the parser rejects to load some error page HTML as CSS :^)
2021-04-20LibJS: Make Object.getOwnPropertyDescriptor() work with string indexed propertyLinus Groh
E.g. for "0" we have to contruct a PropertyName with Type::Number so it looks in the indexed properties as expected.
2021-04-20LibJS: Fix Object.getOwnPropertyDescriptor() attributes for numeric propertyLinus Groh
We were getting the attributes of the existing value and then immediately assigned the default attributes instead.
2021-04-20Ports: Consistently indent with four spacesLinus Groh
2021-04-20Inspector: Don't allow to inspect Inspector itselfMaciej Zygmanowski
The Inspector hangs when user tries to do that.
2021-04-20LibWeb: Display <ol> and respect list-style-type in <ul>Tobias Christiansen
In the ListItemMarkerBox render the correct thing when painting. This covers decimal counting for ordered lists as well as square, disc, and circle for unordered lists. Thus all currently supported list-style-types are displayed correctly. This closes #2059
2021-04-20LibWeb: Make the ListItemMarkerBox index-aware.Tobias Christiansen
In the ListItemBox we get the index of the current <li> element in the parent and pass it to the ListItemMarkerBox. This patch is work towards #2059
2021-04-20LibWeb: Add capabilities to find the index of a child in its parent.Tobias Christiansen
For Elements depending on the index they are inside their parent. Most notably the <ol> element. Also added a typed version to only count children of a certain type. This patch is work towards #2059
2021-04-20LibSQL: Parse DROP TABLE statementTimothy Flynn
2021-04-20Lagom: Add sql utility and LibSQL unit testsTimothy Flynn
2021-04-20LibSQL: Add unit testing of the SQL parserTimothy Flynn
2021-04-20Userland: Add 'sql', a REPL for LibSQLTimothy Flynn
This adds a simple REPL command line utility for (eventually) executing SQL statements / files. Currently, it just validates statements from stdin and prints any errors.
2021-04-20LibSQL: Create a very barebones SQL parserTimothy Flynn
This parser builds on the LibSQL lexer and currently only allows users to parse 'CREATE TABLE' statements.
2021-04-20LibSQL: Introduce a SQL library with a tokenizerTimothy Flynn
LibSQL aims to be a SQLite clone for SerenityOS. Step 1 is creating a tokenizer to lex SQL tokens. This lexer is heavily influenced by the LibJS lexer.
2021-04-20AK+Meta: Add a debug option for LibSQLTimothy Flynn
2021-04-20Ports: Improve consistency and quality of portsPanagiotis Vasilopoulos
- Replaced /Root with - Improved documentation. - Removed a few typos. - Replaced with - Added brackets in some cases. Most of the changes were reviewed and applied manually.
2021-04-20Ports: Fix up imgcatPanagiotis Vasilopoulos
2021-04-20Ports: Update the lint-ports.py script to ignore missing auth_type for ↵Gunnar Beutner
SerenityOS repositories
2021-04-20Ports: Remove auth_type for our own packagesGunnar Beutner
Otherwise we'd have to update them in this repository every time something changes.
2021-04-20Shell: Auto-completion shouldn't suggest non-executable files for the ↵Gunnar Beutner
program name
2021-04-20Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIRPanagiotis Vasilopoulos
2021-04-20Ext2FS: Put bg_used_dirs_count debug logging behind EXT2_DEBUGAndreas Kling
2021-04-20LibJS: Throw on a regex searchString in String.startsWithIdan Horowitz
As is required by the specification: "Let isRegExp be ? IsRegExp(searchString). If isRegExp is true, throw a TypeError exception."
2021-04-20LibJS: Stop early-returning on missing searchString in String.startsWithIdan Horowitz
A missing searchString is allowed by the specification and is treated as js_undefined. ("undefined test".startsWith() => true)
2021-04-20LibWeb: Use correct event name for the onmousemove global event handlerIdan Horowitz
The current event name was accidentally set for the onmousedown event.
2021-04-20Userland: Add support for sending UDP to netcat.Spencer Dixon
2021-04-20LibWeb: Add basic support for HTMLInputElement.formAndreas Kling
HTMLInputElement now inherits from FormAssociatedElement, which will be a common base for the handful of elements that need to track their owner form (and register with it for the form.elements collection.) At the moment, the owner form is assigned during DOM insertion/removal of an HTMLInputElement. I didn't implement any of the legacy behaviors defined by the HTML parsing spec yet.