summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-16LibEDID: Exclude DMT::MonitorTiming::name() from the KernelIdan Horowitz
This API is only used by userland and it uses infallible Strings, so let's just ifdef it out of the Kernel.
2022-02-16AK: Return KString instead of String from encode_hex in the KernelIdan Horowitz
This let's us propagate allocation errors from this API.
2022-02-16LibELF: Exclude sorted symbols APIs from the KernelIdan Horowitz
These are only used by userland, and are implemented using infallible Strings, so let's just ifdef them out of the Kernel.
2022-02-16LibELF: Exclude MemoryRegionInfo::object_name() from the KernelIdan Horowitz
This API is only used by userland, and it uses infallible Strings, so let's just ifdef it out of the Kernel.
2022-02-16LibEDID: Exclude display_product_{name, serial_number} from the KernelIdan Horowitz
These APIs return Strings, which are OOM-infallibe, and as such, not appropriate for Kernel use. Since these APIs are only used by userland at the moment, we can just ifdef them out of the Kernel.
2022-02-16LibEDID: Store manufacturer id instead of allocating on each callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-02-16LibEDID: Store EDID version instead of allocating on each getter callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-02-16LibVT: Use NNOP<KString> to store window titles in the KernelIdan Horowitz
This will allow us to eventually propagate allocation failure.
2022-02-16LibCrypto: Exclude class_name() methods from the KernelIdan Horowitz
These are only used by Userland and contain infallible String allocations, so let's just ifdef them out of the Kernel.
2022-02-16LibCrypto: Exclude AESCipher{Block, Key}::to_string() from the KernelIdan Horowitz
These use infallible Strings and are not actually used in the Kernel, so let's just ifdef them out for now.
2022-02-16LibELF: Use StringBuilder::string_view() to avoid String allocationIdan Horowitz
2022-02-16LibVT: Use StringBuilder's inline capacity instead of temporary StringsIdan Horowitz
This let's us avoid heap allocations.
2022-02-16AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNodeIdan Horowitz
This let's us avoid the infallible String allocations.
2022-02-16Kernel: Make Process::procfs_get_pledge_stats OOM-fallibleIdan Horowitz
We can completely avoid the string allocation by using string_view().
2022-02-16AK+Kernel: Return KString from UUID::to_string() in the KernelIdan Horowitz
This lets us safely handle allocation failure.
2022-02-16Kernel: Remove useless partition UUID length checkIdan Horowitz
UUID::to_string() always returns a string of length 36, so this check can't fail.
2022-02-16AK+Kernel: Return KString from MACAddress::to_string() in the KernelIdan Horowitz
This lets us safely handle allocation failure.
2022-02-16AK+Kernel: Return KString from IPv4Address::to_string() in the KernelIdan Horowitz
This lets us safely handle allocation failure.
2022-02-16CI: Disable compiletime header checkIdan Horowitz
This check does not seem to provide a lot of value, and it is pretty annoying, so let's just disable it for now.
2022-02-16LibWeb: Explain discrepancy with media-query parsingSam Atkins
This had me confused for a while, but I am not smart enough today to actually fix it properly. :^)
2022-02-16LibWeb: Stop treating undefined lengths as validSam Atkins
When converting this code to use Optional, I accidentally left in the initialization, so it *always* had a value, and always created a Length from it. Oops.
2022-02-16LibWeb: Remove content-size hack from SVGFormattingContextSam Atkins
Everything functions fine without it. :^)
2022-02-16LibWeb: Stop treating all SVG elements as inlineSam Atkins
This fixes hit testing on SVG elements, with no obvious downsides.
2022-02-16LibWeb: Give SVG geometry elements a positionSam Atkins
This makes the selected-in-the-inspector outline appear in the right place. We take the stroke-width into account when producing the bounding box, which makes the fit nice and snug. :^)
2022-02-16LibWeb: Give `<svg>` elements a size againSam Atkins
This replaces the unused width() and height() methods. The size now defaults to 100% by 100% as in the spec.
2022-02-16Base: Add test page for progress bar elementRafał Babiarz
2022-02-16LibWeb: Add basic implementation of progress bar elementRafał Babiarz
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-16LibWeb: Add imports to all IDL files that depend on othersAli Mohammad Pur
2022-02-16LibWasm: Fix validation of if-else blocksAli Mohammad Pur
We were doing a number of things wrong: - Switching to the parent context in the else meant that we couldn't break out of the else section anymore - We were not validating the resulting values, and so the stack was in a relatively unknown state after 'else' This commit fixes these issues :^)
2022-02-16LibWeb: Implement responseType and response for XHRAli Mohammad Pur
This makes us capable of loading non-utf8 content via XHR.
2022-02-16LibWeb: Implement a very basic version of TextDecoderAli Mohammad Pur
We had a very basic implementation of TextEncoder, let's add a TextDecoder next to that :^)
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-16LibWasm: Make MemoryInstance allocation fail if initial growth failsAli Mohammad Pur
...instead of silently ignoring the failure in the constructor.
2022-02-16LibWeb: Don't check for get().is_empty() in WebAssemblyMemoryConstructorAli Mohammad Pur
Object.get() does not return empty values, this was causing the constructed memory object to have a maximum of 0, which failed silently in the constructor.
2022-02-16Utilities: Add a basic `install` utilityTim Schumacher
2022-02-16LibGUI: Make a copy of source_rows before resizing it in sort_mapping()Vitaly Dyachkov
2022-02-16LibWeb: Implement reverse lookup to labels from their labelable nodesTimothy Flynn
This enables, for example, clicking on the check box, dragging the mouse over to the label, releasing the mouse to act as a click on the check box. This was implemented for labels / labelable nodes with the "for" attribute already. This implements the same for labelable nodes that are inside the label.
2022-02-16Documentation: Add Rosetta/Homebrew macOS noteMax Desiatov
This should prevent a build issue caused by a potential conflicting zstd installation on M1 Mac. This was manifested in a linker error when building the GNU toolchain: ``` Undefined symbols for architecture arm64: [gcc/build] "_ZSTD_compress", referenced from: ```
2022-02-16LibWeb: Set cursor on mousemove for non-text elementsAdam Plumb
2022-02-16LibProtocol: Fix crash on EOF when using Request::stream_intoMichiel Visser
`Request::stream_into_impl` would call `stream.write_or_error` with a zero length buffer when EOF was reached. However, the `Core::Stream::Stream::write_or_error` implementation verifies that the buffer lenght is non-zero, resulting in a crash. With this change the zero length buffer is never written to the stream.
2022-02-16DevTools: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-02-16Base: Add Control Pictures to font Katica Regular 10Lady Gegga
2400-2426 https://www.unicode.org/charts/PDF/U2400.pdf
2022-02-16LibWeb: Support Element.closest(selectors)Edwin Hoksberg
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.