summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-03LibC: Remove the mbstate_reset helperTim Schumacher
A zero-initialized mbstate_t struct has to be a valid initial state, so we can just zero-initialize it whenever we need to reset. Having a helper function for resetting the struct might imply that you can add additional setup operations afterwards, which is not the case.
2021-10-03LibTLS: Split large application data packets into chunksAli Mohammad Pur
Each TLS record has a limited max size, we should respect that and split the packets. Fixes RecordOverflow errors when a packet larger than 18432 bytes is sent over.
2021-10-03LibC: Stub out swprintfTim Schumacher
2021-10-03LibC: Stub out wcstoldTim Schumacher
2021-10-03LibC: Stub out wcstodTim Schumacher
2021-10-03LibC: Stub out wcstofTim Schumacher
2021-10-03LibC: Stub out wcstoullTim Schumacher
2021-10-03LibC: Stub out wcstoulTim Schumacher
2021-10-03LibC: Implement wmemmoveTim Schumacher
2021-10-03LibC: Implement wmemsetTim Schumacher
2021-10-03LibC: Implement wmemcpyTim Schumacher
2021-10-03LibC: Implement wmemchrTim Schumacher
2021-10-03LibC: Implement wcsstrTim Schumacher
2021-10-03LibC: Implement wcspbrkTim Schumacher
2021-10-03LibRegex: Avoid creating a new temporary RegexStringView in Char compareAli Mohammad Pur
Instead of making a new string to compare against, simply grab the first code unit of the input and compare against that.
2021-10-03LibWeb: Convert Node.childNodes to NodeListLuke Wilde
This changes the old child_nodes implementation to children_as_vector so that can still be used in insert_before.
2021-10-03LibWeb: Convert ParentNode.querySelectorAll to NodeListLuke Wilde
2021-10-03LibWeb: Add support for NodeListLuke Wilde
This introduces 3 classes: NodeList, StaticNodeList and LiveNodeList. NodeList is the base of the static and live versions. Static is a snapshot whereas live acts on the underlying data and thus inhibits the same issues we have currently with HTMLCollection. They were split into separate classes to not have them weirdly mis-mashed together. The create functions for static and live both return a NNRP to the base class. This is to prevent having to do awkward casting at creation and/or return, as the bindings expect to see the base NodeList only.
2021-10-03LibWeb: Add support for IDL value iteratorsLuke Wilde
This also renames Interface::iterator_types to pair_iterator_types to reduce confusion between value and pair iterators.
2021-10-02Kernel: Make aarch64 UART::print_num() print u64sNico Weber
2021-10-02Kernel: Add a Timer class for aarch64Nico Weber
For now, this can only query microseconds since boot. Use this to print a timestamp every second. This busy-loops until a second has passed. This might be a good first use of interrupts soon. qemu used to not implement this timer at some point, but it seems to work fine even in qemu now (qemu v 5.2.0).
2021-10-02LibGL: Remove duplicate GLboolean typedefLinus Groh
Fixes #10268.
2021-10-02Ports: Add NcduJelle Raaijmakers
2021-10-02Base: Correct value for default white terminal colorJelle Raaijmakers
2021-10-02LibVT: Implement G0..G3 and VT100 translation tableJelle Raaijmakers
2021-10-02LibVT: Implement support for Cursor Keys Mode (DECCKM)Jelle Raaijmakers
2021-10-02LibVT: Add stubs for DECPNM, DECPAMJelle Raaijmakers
Still not implemented, but provides easier to grasp FIXMEs.
2021-10-02Ports: Compile ncurses with `--enable-term-driver`Jelle Raaijmakers
In commit ba97548686 `--with-termlib` was added to produce a `libtinfo.a` file that nano then required. However, this causes ncurses to build with _only_ screen-pointer ext funcs: e.g. `reset_prog_mode_sp` exists, but `reset_prog_mode` does not. By switching to `--enable-term-driver`, all functions are properly exported again and the nano port compiles and runs just fine. :^)
2021-10-02Ports: Switch ncurses to SHA256 auth typeJelle Raaijmakers
2021-10-02FontEditor: Close preview window when the main window is closedGal Horowitz
2021-10-02LibGFX: Draw the ends of lines with non-standard thicknessGal Horowitz
Lines are drawn using squares the size of the thickness, so if the length of the line was not a multiple of the thickness, the end of the line was not drawn correctly.
2021-10-02PixelPaint: Correctly offset stroke position for even thicknessesGal Horowitz
2021-10-02PixelPaint: LayerListWidget::set_selected_layer now handles nullptrGal Horowitz
2021-10-02AK: Simplify Utf16View::operator==(Utf16View)Andreas Kling
2021-10-02LibJS: Use Vector<u16, 1> for UTF-16 in a few more placesAndreas Kling
2021-10-02Meta: Include source sha in sonarcloud analysis metadataBrian Gianforcaro
Having the version included in each analysis allows you to do more filtering in the UI where results are viewed.
2021-10-02Kernel: Access Processor static methods staticallyBrian Gianforcaro
SonarCloud flagged this "Code Smell", where we are accessing these static methods as if they are instance methods. While it is technically possible, it is very confusing to read when you realize they are static functions.
2021-10-02Kernel: Access MemoryManager static functions staticallyBrian Gianforcaro
SonarCloud flagged this "Code Smell", where we are accessing these static methods as if they are instance methods. While it is technically possible, it is very confusing to read when you realize they are static functions.
2021-10-02LibJS+AK: Use Vector<u16, 1> for UTF-16 string storageAndreas Kling
It's very common to encounter single-character strings in JavaScript on the web. We can make such strings significantly lighter by having a 1-character inline capacity on the Vectors.
2021-10-02LibJS: Remove read buffer overflow in Lexer::consumeLuke Wilde
The position is added to manually in the line terminator and Unicode character cases. While it checks for EOF after doing so, the EOF check used `!=` instead of `<`, meaning if the position went _over_ the source length, it wouldn't think it was EOF and would cause read buffer overflows. For example, `0xea` followed by `0xfd` would cause this.
2021-10-02LibRegex: Don't emit signpost events for every regular expressionAndreas Kling
The time we were spending on these signposts was adding up to way too much, so let's not do it automatically.
2021-10-02LibJS: Put zombie cell tracking code behind a compile-time flagAndreas Kling
Since this is a debug-only feature, let's not have it impact GC marking performance when you don't need it.
2021-10-02LibJS: Keep track of PrimitiveStrings and share themAndreas Kling
VM now has a string cache which tracks all live PrimitiveStrings and reuses an existing one if possible. This drastically reduces the number of GC-allocated strings in many real-word situations.
2021-10-02LibJS+LibWeb: Use Object::set_prototype() in more placesLinus Groh
2021-10-02LibJS: Add Object::set_prototype()Linus Groh
This is just factoring out step "9. Set O.[[Prototype]] to V." of 10.1.2 [[SetPrototypeOf]] into its own method so that we don't have to use internal_set_prototype_of() for setting an object prototype in all cases.
2021-10-02LibWeb: Implement Navigator.cookieEnabledLinus Groh
2021-10-02LibWeb: Initialize IDL-generated prototypes' prototype directlyIdan Horowitz
Instead of setting it to the default object prototype and then immediately setting it again via internal_set_prototype_of, we can just set it directly in the parent constructor call.
2021-10-02Base: Add glyphs for the U+20AC euro sign to all bitmap fontsnetworkException
2021-10-02Prekernel: Better datasheet link for RPi3Nico Weber
2021-10-01Base: Add glyphs for the U+2014 em dash to KaticaRegularIdan Horowitz