summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-01LibUnicode: Canonicalize the subtag "imperial" to "uksystem"Timothy Flynn
2021-09-01LibUnicode: Canonicalize the subtag "primary" and "tertiary" to "levelN"Timothy Flynn
2021-09-01LibUnicode: Canonicalize the subtag "names" to "prprname"Timothy Flynn
2021-09-01LibUnicode: Canonicalize the subtag "yes" to "true"Timothy Flynn
2021-09-01LibUnicode: Substitute Unicode locale aliases during canonicalizationTimothy Flynn
Unicode TR35 defines how locale subtag aliases should be emplaced when converting a locale to canonical form. For most subtags, it is a simple substitution. Language subtags depend on context; for example, the language "sh" should become "sr-Latn", but if the original locale has a script subtag already ("sh-Cyrl"), then only the language subtag of the alias should be taken ("sr-Latn"). To facilitate this, we now make two passes when canonicalizing a locale. In the first pass, we convert the LocaleID structure to canonical syntax (where the conversions all happen in-place). In the second pass, we form the canonical string based on the canonical syntax.
2021-09-01LibUnicode: Generate Unicode locale alias dataTimothy Flynn
CLDR contains a set of aliases for languages, territories, etc. that no longer are meant to be used (e.g. due to deprecation). For example, the language "aam" is deprecated and should be canonicalized as "aas".
2021-09-01LibJS+LibUnicode: Store parsed Unicode locale data as full stringsTimothy Flynn
Originally, it was convenient to store the parsed Unicode locale data as views into the original string being parsed. But to implement locale aliases will require mutating the data that was parsed. To prepare for that, store the parsed data as proper strings.
2021-09-01LibUnicode: Extract cldr-core dataset from CLDR databaseTimothy Flynn
2021-09-01LibJS: Handle Unicode locale extensions in LookupMatcher AOTimothy Flynn
2021-09-01LibJS: Add support for public fields in classesdavidot
2021-09-01LibJS: Fix small issues in parserdavidot
- Fix some places where escaped keywords are (not) allowed. - Be more strict about parameters for functions with 'use strict'. - Fix that expressions statements allowed functions and classes. - Fix that class expressions were not allowed. - Added a new next_token() method for checking the look ahead. - Fix that continue labels could jump to non iterating targets. - Fix that generator functions cannot be declared in if statements.
2021-09-01PixelPaint: Add "Change Offset" to the GuideToolTobias Christiansen
This opens the EditGuideDialog with the values of the currently selected Guide and allows the user to change them to the desired values. :^)
2021-09-01PixelPaint: Add setter for the orientation of a GuideTobias Christiansen
Also add an additional value to the Orientation enum called "Unset".
2021-09-01PixelPaint: Allow initial values for the EditGuideDialogTobias Christiansen
This way we can feed it the values if we wanted to change an existing Guide and handle the default as before. That we have to pass a String here is a bit ugly.
2021-09-01PixelPaint: Move the conversion to pixels into the EditGuideDialogTobias Christiansen
This seems like the most appropriate location to put this.
2021-09-01PixelPaint: Rename CreateNewGuideDialog to EditGuideDialogTobias Christiansen
This doesn't change the behavior at all but sets the naming up be more descriptive on what it does in the next patches.
2021-09-01Tests: Convert remaining LibC tests to LibTestAndrew Kaster
Convert them to using outln instead of printf at the same time.
2021-09-01PixelPaint: Tweak palette heightMarcus Nilsson
The height of the bottom color container was cut off at the bottom. This adjusts the heights and also the primary/secondary color widget so that it's in line.
2021-09-01LibRegex: Correctly advance string positions in Compare::compare_stringAli Mohammad Pur
Fixes a bug where backreferences could cause desync between the code point index and regular index, making comparison off-by-N.
2021-09-01LibRegex: Correctly handle failing in the middle of explicit repeatsAli Mohammad Pur
- Make sure that all the Repeat ops are reset (otherwise the operation would not be correct when going over the Repeat op a second time) - Make sure that all matches that are allowed to fail are backed by a fork, otherwise the last failing fork would not have anywhere to return to. Fixes #9707.
2021-09-01Kernel: Only unlock Mutex once in execve when PT_TRACE_ME is enabledAndrew Kaster
Fixes a regression introduced in 70518e6. Fixes #9704.
2021-09-01Everywhere: Use my cool new @serenityos.org email addressPeter Elliott
2021-09-01LibELF: Don't copy read-only data sectionsAndreas Kling
The dynamic loader was mistakenly assuming that there are only two types of program load headers: text (RX) and data (RW). Now that we're linking with `-z separate-code`, we will also get some read-onlydata (R) segments. These can be memory-mapped directly without making a private per-process copy. To solve this, the code now instead separates the headers into map/copy instead of text/data. Writable segments get copied, while non-writable segments get memory-mapped. :^)
2021-09-01AK: Remove dead store from Time:operator+Brian Gianforcaro
This is written, but never read again, and is thus useless.
2021-09-01RequestServer: Use smart pointers for allocating protocolsBrian Gianforcaro
2021-09-01LibGUI: Adjust BreadcrumbButtons width on resizeMarcus Nilsson
This commit relayouts the BreadcrumbButtons on resize to a shrunken state if they don't fit. It also caps the button width to 100px to avoid overflowing the widget.
2021-08-31Base: Tweak "reload" action icon some moreAndreas Kling
The top arrow wasn't as sharp as the bottom arrow. Move the top arrow down to make space for some sharpness. :^)
2021-08-31Base: Redraw the "reload" action icon with top-left light sourceAndreas Kling
2021-08-31PixelPaint: Add grayscale filtersavary1
Add a new Color category to the Filter menu. Add the Grayscale filter under Filter->Color to turn the selected layer to grey colors. Created GrayscaleFilter.h. Modify Filter.h to allow filters without parameters.
2021-08-31KeyboardSettings: Use LibConfig intead of Core::ConfigFileMustafa Quraish
2021-08-31DisplaySettings: Use LibConfig where possibleMustafa Quraish
Some places here still need to open `/etc/WindowServer.ini` which we can't do with th ConfigServer yet.
2021-08-31LibGUI/Desktop: Use LibConfig instead of Core::ConfigFileMustafa Quraish
2021-08-31Meta: Add Peter Elliott to the contributors list :^)Andreas Kling
2021-08-31LibMarkdown: Match HTML formatting of Commonmark testsPeter Elliott
This patch changes the HTML formatting (where to put newlines, etc...) to better match commonmark's test cases. This has minimal effect of the correctness of our markdown implementation, but makes it easier to test. Changes: - Use <em> instead of <i>. - Newline before end of code block. - <hr /> instead of <hr>. - Newline before first list item. - Newline between lines of a paragraph. - Trim whitespace on lines of paragraphs. Tests passed: 33/652 -> 87/652
2021-08-31Tests: Test LibMarkdown against commonmark test suitePeter Elliott
TestCommonmark runs the CommonMark test suite (https://spec.commonmark.org/0.30/spec.json) against LibMarkdown. Currently 44/652 tests pass.
2021-08-31LibMarkdown: Add render_to_inline_html() to DocumentPeter Elliott
This api is useful when you want to render a markdown document to HTML, but you want to embed it in a existing html document.
2021-08-31LibTest: Add TEST_SETUP macro that runs before all test casesPeter Elliott
2021-08-31Config CLI: Handle missing config values correctlyMustafa Quraish
If the domain/group/key doesn't exist in the config, exit with non-zero status and don't print out anything. Previously the CLI would print a single empty line if the config value was not found with LibConfig. Now, we use the proper `Config::Client::the().read_string()` API which can return an `Optional` type indicating failure.`
2021-08-31Kernel/VirtIO: Don't expose constructors as public methodLiav A
This leads to a bad pattern where anyone could create an RNG or a Console object. Instead, let's just use the common pattern of a static method to instantiate a new object and return it wrapped by a NonnullRefPtr.
2021-08-31Kernel/VirtIO: Remove redundant VirtIO word from filenamesLiav A
Now that all related VirtIO classes are in the VirtIO namespace, let's just remove the redundant VirtIO word from filenames.
2021-08-31Kernel/VirtIO: Move everything into the VirtIO namespaceLiav A
Before of this change, many specific classes to VirtIO were in the Kernel namespace, which polluted it. Everything should be more organized now, but there's still room for improvement later.
2021-08-31Kernel/VirtIO: Remove the m_class_name memberLiav A
This class member was used only to determine the device type when printing messages to the debug log. Instead, remove this class member, and add a quick way to find the device type according to how the VirtIO specification says to do that. This simplifies construction of VirtIODevices a bit, because now the constructor doesn't need to ask for a String identified with the device type.
2021-08-31Kernel/PCI: Fix offset error of the PCI_SUBSYSTEM valuesLiav A
Apparently both PCI_SUBSYSTEM_ID and PCI_SUBSYSTEM_VENDOR_ID offsets should be swapped from one to another to be correct.
2021-08-31Kernel/VirtIO: Make RNG device to not be a CharacterDeviceLiav A
This class as a CharacterDevice really was not useful, because you couldn't even read from it. Also, the random number generator interface should be the /dev/random, so any other interface to get random numbers is generally not a good idea. Instead, let's keep this functionality as an entropy source for random numbers generation, but without exposing a device node.
2021-08-31echo: Support octal, hexadecimal and unicode escape sequencesTheFightingCatfish
2021-08-31AudioApplet: Fix applet positioning bugJoe Bentley
Currently when clicking the percentage toggle, there is a delay in moving the applet window position. This is because after the applet is resized, the applet area is repositioned asynchronously. This takes advantage of the new AppletAreaRectChange event to reposition the slider window when necessary.
2021-08-31WindowServer: Add message to notify clients of applet area resizeJoe Bentley
Applets and windows would like to be able to know when the applet area has been resized. For example, this happens asynchronously after an applet has been resized, so we cannot then rely on the applet area position synchronously after resizing. This adds a new message applet_area_rect_changed and associated Event AppletAreaRectChange, and the appropriate virtual functions.
2021-08-31GameOfLife: Don't enable rotate button if a pattern isn't selectedMusab Kılıç
2021-08-31Build: Pass "-z separate-code" to linkerAndreas Kling
This tells the linker to not combine read-only data and executable code, instead favoring multiple PT_LOAD headers with more precise permissions. This greatly reduces the amount of executable pages in all our programs and libraries. /usr/lib/libjs.so before: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x2fc77c 0x2fc77c R E 0x1000 LOAD 0x2fc900 0x002fd900 0x002fd900 0x0c708 0x0dd1c RW 0x1000 /usr/lib/libjs.so after: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x80e60 0x80e60 R 0x1000 LOAD 0x081000 0x00081000 0x00081000 0x25f6c9 0x25f6c9 R E 0x1000 LOAD 0x2e1000 0x002e1000 0x002e1000 0x1c27c 0x1c27c R 0x1000 LOAD 0x2fd900 0x002fe900 0x002fe900 0x0c708 0x0dd1c RW 0x1000 As you can see, we go from 0x2fc77c bytes of executable memory down to 0x25f6c9 (a ~20% reduction!) The memory that was previous executable is now simply read-only instead. :^)
2021-08-31Kernel: Ignore zero-sized PT_LOAD headers when loading ELF imagesAndreas Kling