summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-21LibWasm+Meta: Add test-wasm and optionally test the conformance testsAli Mohammad Pur
This only tests "can it be parsed", but the goal of this commit is to provide a test framework that can be built upon :) The conformance tests are downloaded, compiled* and installed only if the INCLUDE_WASM_SPEC_TESTS cmake option is enabled. (*) Since we do not yet have a wast parser, the compilation is delegated to an external tool from binaryen, `wasm-as`, which is required for the test suite download/install to succeed. This *does* run the tests in CI, but it currently does not include the spec conformance tests.
2021-05-21Meta: Add a Wasm parser fuzzerAli Mohammad Pur
2021-05-21CI: Bump update-alternatives priority to 100Linus Groh
This didn't seem to have worked in the past, the new value matches the recomendation on the GitHub Actions clang-11 default announcement: https://github.com/actions/virtual-environments/issues/3235
2021-05-21CI: Also apt-get purge clang-11 in build_and_test_lagom stepLinus Groh
We don't need it. A recent change to the ubuntu-20.04 image has made it the default, causing builds to fail - we're installing and want to use clang-12 anyway, so let's just get rid of the other installed versions.
2021-05-20LibCore: Let IODevice::can_read_line() buffer until \n or EOFr-paiva
If a line was larger than 1024 bytes or the file ended without a newline character, can_read_line would return false. IODevice::can_read_line() now reads until a newline is found or EOF is reached. fixes #5907
2021-05-20AK: Added contains_in_range to Vectorr-paiva
Vector::contains_in_range() allows the search of an element in a given range on a vector object. Also added testcases for the new Vector method.
2021-05-20Utilities: Fix grep match when reading from stdinr-paiva
When reading from stdin, grep discards the last character, even if that character is not \n. This commit changes grep to no longer discard the last character from a line.
2021-05-20LibGL: Implement glHint()Stephan Unverwerth
2021-05-203DFileViewer: Clean up file handlingGunnar Beutner
This unifies how 3DFileViewer handles the initial file when starting the application and when opening files later on via the menu. Errors are shown both for the initial load as well as when loading files later on. An error during file load no longer clears the existing model. It also adds support for specifying the filename as a command-line argument. The opened file's name is shown in the titlebar.
2021-05-203DFileViewer: Move the example model into the home directoryGunnar Beutner
2021-05-20TextEditor: Don't launch a WebContent process until it's neededAndreas Kling
The HTML and Markdown preview modes both use an OutOfProcessWebView to render the preview pane, and we were instantiating this view from GML. This caused us to always spawn a WebContent process alongside every TextEditor instance. Fix this by deferring the OOPWV construction until we actually need it. This makes launching TextEditor on a text file quite a bit faster. :^)
2021-05-20Clipboard+LibGUI: Remove unnecessary client/server greeting messageAndreas Kling
2021-05-20WindowServer+LibGUI: Make client/server greeting fasterAndreas Kling
Instead of doing a full IPC round-trip for the client and server to greet each other upon connecting, the server now automatically sends a "fast_greet" message when a client connects. The client simply waits for that message to arrive before proceeding. (Waiting is necessary since LibGUI relies on the palette information included in the greeting.)
2021-05-20LibGfx: Remove unused current_system_theme() functionAndreas Kling
2021-05-20FontEditor: Make statusbar text generation more robustMax Wipfli
This makes a few modifications to the statusbar text generation: * Use the canonical U+XXXX representation of unicode characters. * For control characters, display their alias instead of whitespace. * Substitute RTL codepoints with U+FFFD so the text paints correctly. * Only show the glyph's dimensions if it actually exists in the font. This fixes #7286.
2021-05-20AK: Add UnicodeUtils with Unicode-related helper functionsMax Wipfli
This introduces the UnicodeUtils file, which contains helper functions related to Unicode. This is in contrast to StringUtils, whose functions are not directly related to Unicode and are, in theory, encoding-agnostic.
2021-05-20FontEditor: Add tooltip to "Move Glyph" buttonMax Wipfli
This adds a simple tooltip to the "Move Glyph" button to indicate its functionality.
2021-05-20Kernel: Close a Thread tid lookup raceTom
There is a window between dropping a thread's last reference and it being removed from the list. Found in #5541
2021-05-20LibWeb: Deal with Boxes that have a background, border and -radiusTobias Christiansen
This hack allows for Boxes that have a background to be painted and a border to accurately paint their border-radii if needed. For that the box in with the background is drawn is extended to the bordered_rect. The border is later drawn over this regardless. Previously when drawing a Box that had all three, background, border and a border-radius, there could be some white between the filling and the border.
2021-05-20LibWeb: Take border-radius into account when painting bordersTobias Christiansen
This applies to thicker borders. When drawing them we now don't chamfer the corner if there is a border-radius present.
2021-05-20LibWeb: Introduce struct to hold border radii and normalize onceTobias Christiansen
The struct BorderRadiusData contains the four radii of the box. In case the specified borders are too large for the dimensions of the box, they get scaled down.
2021-05-20LibWeb: Draw rounded corners for the backgrounds of BoxesTobias Christiansen
Even if the Box doesn't have a border-radius, we'll pass the rendering of the Box and its corners to the Painter.
2021-05-20LibWeb: Basic rendering of border-radiusTobias Christiansen
It supports all four corners.
2021-05-20LibGfx: Add Painter::draw_circle_arc_intersecting()Tobias Christiansen
This adds a function to draw a circle specified by a center point ( relative to the given Rect) and a radius. The circle arc is only drawn inside the specified Rect as to allow for circle arc segments. Technically this was already possible using draw_elliptical_arc(), but the algorithm is quite involved and lead to wonky arcs when trying to draw circle arc segments.
2021-05-20LibGfx: Add Painter::fill_rect_with_rounded_corners()Tobias Christiansen
This paints a rectangle with rounded corners each specified by a radius.
2021-05-20LibWeb: Resolve shorthand for border-radiusTobias Christiansen
This takes care of the 1, 2, 3 and 4 parameter shorthand of the border- radius identifier. There are more as well as the ominous '/' character but that is for another time. The 2 and 3 parameter versions are weird enough already. I don't think anybody uses anything other than the 1 or 4 parameter version or even the elliptical stuff.
2021-05-20LibWeb: Make border-radius attibutes accessibleTobias Christiansen
2021-05-20LibWeb: Add border-radius to the CSS-parserTobias Christiansen
And resolve the shorthands.
2021-05-20LibWeb: Handle background-painting of Box in seperate functionTobias Christiansen
2021-05-20LibWeb: Move the painting of the border out of paint()Tobias Christiansen
So other Boxes can override this function.
2021-05-20Solitaire: Fix a spelling mistake in one of the variable namesGunnar Beutner
2021-05-20TextEditor+Browser: Enable HTML syntax highlighting on HTML documentsAli Mohammad Pur
2021-05-20LibWeb: Add a super basic HTML syntax highlighterAli Mohammad Pur
This can currently highlight tag names and attribute names/values.
2021-05-20LibWeb: Add position tracking information to HTML tokensAli Mohammad Pur
2021-05-20LibWeb: Sort CMakeLists SOURCES entriesAli Mohammad Pur
2021-05-20Ports: Only do build check for configure, build, and install stepsLinus Groh
This was breaking ports linting, which runs the script with the 'showproperty' option. This check is not needed for some other options as well, so let's do it conditionally.
2021-05-20LibGUI: Don't mark "open" FilePicker as done if the file is not foundAndreas Kling
If you type in a filename that doesn't exist, show an error message instead of closing the FilePicker "successfully."
2021-05-20LibGUI: Make GUI::FilePicker handle absolute paths betterAndreas Kling
Some people apparently like to type in full absolute paths into the filename box of GUI::FilePicker. So let's handle that as you'd expect by using the full path as the selected path.
2021-05-20LibGUI: Tweak API for getting the selected pathAndreas Kling
Return a String instead of a LexicalPath. Also call it a path instead of a file since that's what we're really returning.
2021-05-20LibGfx: Remove Gfx::FontDatabase::default_bold_fixed_width_font()Andreas Kling
Ask for a bold_variant() of the default_fixed_width_font() instead.
2021-05-20LibGfx: Remove Gfx::FontDatabase::default_bold_font()Andreas Kling
Instead use default_font().bold_variant() in cases where we want a bold variant of the default font. :^)
2021-05-20Ports: Add build completion sanity check to .port_include.shLinus Groh
Simply by checking whether a built libc.so exists, we should be able to avoid strange build errors where that's not the case and just tell the user upfront. Fixes #7309.
2021-05-20Variant: Remove redundant inline keywordLenny Maiorani
Problem: - `constexpr inline` is redundant because `constexpr` implies `inline`. Solution: - Remove redundancy.
2021-05-20HexEditor: find_and_highlight: Limit search to remaining buffer sizeBrendan Coles
2021-05-20Kernel: Stop allocating the PS2KeyboardDevice in the eternal heapIdan Horowitz
The PS2KeyboardDevice can be free'd in try_to_initialize if the initialization failed, resulting in an assertion.
2021-05-20StateMachineGenerator: Put output into the CMake build directoryAndreas Kling
Don't pollute the source directory with generated code.
2021-05-20WindowServer+DisplaySettings: Remove the weird "simple" wallpaper modeAndreas Kling
Painting the wallpaper at 100% scale in the top left corner is a weird mode and I don't think we need it. :^)
2021-05-20DisplaySettings: Improve wallpaper preview codeAndreas Kling
Previously, this code would create a bitmap with the size of the screen resolution, draw the new wallpaper into it, and then scale it down for display inside the MonitorWidget. This was done on every paint event, which made the code quite slow and allocation-happy. Instead of this, we now scale down the new wallpaper to a miniature of the same scale as the little MonitorWidget screen. The miniature is then used for tiling, etc. The miniature is cached and reused across paint events if nothing else changes.
2021-05-203DFileViewer: Remove unveil() calls and add "thread" pledgeAndreas Kling
An application that allows opening arbitrary files from the filesystem needs to allow itself to access the filesystem, otherwise there's no point in supporting the feature. :^) And the "thread" pledge is needed for background thumbnail generation.
2021-05-20Base: Update ladyball icons based on new variant from myphsAndreas Kling