summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-21LibWeb: Rename HTMLScriptElement "non-blocking" to "force async"Andreas Kling
This has been renamed in the spec, so let's do it here too.
2022-11-21LibWeb: Add spec links to HTMLScriptElement member variablesAndreas Kling
This makes it much easier to see which members represent something in the spec, and which ones are LibWeb implementation details.
2022-11-21AK: Fix memory corruption due to BumpAllocator mmap reuseAndreas Kling
There was a subtle mismatch between the obviously expected behavior of BumpAllocator::for_each_chunk() and its actual implementation. You'd think it would invoke the callback with the address of each chunk, but actually it also took the liberty of adding sizeof(ChunkHeader) to this address. UniformBumpAllocator::destroy_all() relied on this to get the right address for objects to delete. The bug happened in BumpAllocator::deallocate_all(), where we use for_each_chunk() to walk the list of chunks and munmap() them. To avoid memory mapping churn, we keep a global cache of 1 chunk around. Since we were being called with the offset chunk address, it meant that the cached chunk shifted 16 bytes away from its real address every time we re-added it to the cache. Eventually the cached chunk address would leave its memory region entirely, and at that point, any attempt to allocate from it would yield an address outside the region, causing memory corruption.
2022-11-20LibWeb: Return content box position from calculate_static_positionAliaksandr Kalenik
This change makes calculate_static_position to return content box for both x and y (at least for the case when children are not inline). It makes it possible to be consistent about x and y when calculating box offset inside layout_absolutely_positioned_element.
2022-11-20LibJS/Temporal: Unroll the loop in to_temporal_time_recordJonah
This is an editorial change in the Temporal spec. See: tc39/proposal-temporal@8e80575
2022-11-20LibJS/Temporal: Unroll the loop in to_temporal_duration_recordJonah
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/8e80575
2022-11-20LibJS/Temporal: Unroll the loop in to_temporal_partial_dictation_recordJonah
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/8e80575
2022-11-20LibJS/Temporal: Rename ToIntegerWithRounding to ToIntegerIfIntegralJonah
This is an editorial change to the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/1dceb57
2022-11-20LibJS/Temporal: Reorder Tables by Order of MagnitudeJonah
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/f2d5642 and https://github.com/tc39/proposal-temporal/commit/07673d3
2022-11-20LibVT/LibLine: Delete words when pressing Ctrl+Backspace in TerminalZaggy1024
2022-11-19LibJS: Fix UTF-16 corruption in String.prototype.replace()Andreas Kling
We were mistakenly trying to append UTF-16 code units to a StringBuilder via the append(char) API. This patch fixes that by accumulating the result in a Vector<u16> instead. This'll be a bit worse for performance, since we're now doing additional UTF-16 string conversions, but we're going for correctness at this stage and can worry about performance later.
2022-11-19cksum: Manually count file size instead of using stat()Sam Atkins
`stat()` doesn't work for stdin, but this does.
2022-11-19xml: Port to Core::StreamSam Atkins
2022-11-19Utilities/w: Port to Core::StreamSam Atkins
2022-11-19utmpupdate: Port to Core::StreamSam Atkins
2022-11-19test-fuzz: Port to Core::StreamSam Atkins
2022-11-19sysctl: Port to Core::StreamSam Atkins
2022-11-19strace: Port to Core::StreamSam Atkins
2022-11-19sql: Port to Core::StreamSam Atkins
2022-11-19shot: Port to Core::StreamSam Atkins
2022-11-19route: Port to Core::StreamSam Atkins
2022-11-19pmap: Port to Core::StreamSam Atkins
2022-11-19nproc: Port to Core::StreamSam Atkins
2022-11-19netstat: Port to Core::StreamSam Atkins
2022-11-19mount: Port to Core::StreamSam Atkins
2022-11-19md: Port to Core::StreamSam Atkins
2022-11-19markdown-check: Port to Core::StreamSam Atkins
2022-11-19man: Port to Core::StreamSam Atkins
2022-11-19lsusb: Port to Core::StreamSam Atkins
2022-11-19lspci: Port to Core::StreamSam Atkins
2022-11-19lsof: Port to Core::StreamSam Atkins
2022-11-19lsirq: Port to Core::StreamSam Atkins
2022-11-19lscpu: Port to Core::StreamSam Atkins
2022-11-19lsblk: Port to Core::StreamSam Atkins
2022-11-19js: Port to Core::StreamSam Atkins
2022-11-19LibCore: Add a ConfigFile::open() overload for Core::Stream::FileSam Atkins
Core::Stream is already used internally, but ironically you could not open a ConfigFile using one!
2022-11-19json: Port to Core::StreamSam Atkins
2022-11-19ifconfig: Port to Core::Stream and Core::SystemSam Atkins
2022-11-19headless-browser: Port screenshot output to Core::StreamSam Atkins
As noted in https://github.com/SerenityOS/serenity/issues/15239 `headless-browser` is currently broken, with or without these changes.
2022-11-19gron: Port to Core::StreamSam Atkins
2022-11-19gml-format: Port to Core::StreamSam Atkins
2022-11-19fortune: Port to Core::StreamSam Atkins
2022-11-19file: Port to Core::StreamSam Atkins
Some nicer way of dealing with `stat` would be good. :thonk:
2022-11-19du: Port to Core::StreamSam Atkins
2022-11-19dmesg: Port to Core::StreamSam Atkins
2022-11-19diff: Port to Core::StreamSam Atkins
Also switched to calling Core::System::isatty(), and doing so once instead of per hunk.
2022-11-19df: Port to Core::StreamSam Atkins
2022-11-19Utilities: Port cpp utilities to Core::StreamSam Atkins
2022-11-19copy: Port to Core::StreamSam Atkins
2022-11-19comm: Port to Core::StreamSam Atkins