summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-05LibGfx: Always truncate glyph coordinates in Painter::draw_text_run()Andreas Kling
This fixes an issue with glyphs jiggling 1px back and forth due to inconsistent rounding.
2022-07-04LibRegex: Fully interpret the Compare Op when looking for overlapsAli Mohammad Pur
We had a really naive and simplistic implementation, which lead to various issues where the optimiser incorrectly rewrote the regex to use atomic groups; this commit fixes that.
2022-07-04Base: Example of border-radius on iframe and canvas elementsMacDue
2022-07-04Base: Add some border-radius + overflow: hidden HTML examplesMacDue
2022-07-04Base: Move fun canvas demo JavaScript to seperate fileMacDue
This will allow this demo to be reused for other tests.
2022-07-04LibWeb: Support adding a border-radius to <iframe> elementsMacDue
2022-07-04LibWeb: Support adding a border-radius to <canvas> elementsMacDue
2022-07-04LibWeb: Use ScopedCornerRadiusClip for image paintingMacDue
2022-07-04LibWeb: Use ScopedCornerRadiusClip for shadow paintingMacDue
2022-07-04LibWeb: Use ScopedCornerRadiusClip for background paintingMacDue
2022-07-04LibWeb: Add ScopedCornerRadiusClipMacDue
This a simple RAII helper for the BorderRadiusCornerClipper it samples under the corners on construction, then blits them back on exiting the scope. This encapsulates a fairly common pattern.
2022-07-04LibWeb: Support overflow: hidden with a border-radiusMacDue
Note: With this change the border-radius is clipped if ethier the overflow-x or overflow-y is hidden (it is a little unclear what happens if just one is set, but it seems like most browsers treat one set + border-radius the same as if overflow: hidden was set).
2022-07-04LibWeb: Use padding box for clipping overflowMacDue
The padding box should be used otherwise the content can overflow on to the boxes borders.
2022-07-04LibWeb: Add option to allocate new bitmap for BorderRadiusCornerClipperMacDue
This will be needed for overflow: hidden, that clips things which may themselves use the BorderRadiusCornerClipper.
2022-07-04LibWeb: Always apply min/max cross size constraints to flex itemsAndreas Kling
We were neglecting to apply min-size and max-size constraints in the fast path for flex items with a definite cross size.
2022-07-04LibWeb: Simplify some WeakPtr assignmentsAndreas Kling
We can assign a raw pointer directly to a WeakPtr without null-checking it first.
2022-07-04LibJS: Explicitly instantiate Parser::parse_function_nodeDaniel Bertalan
Due to macOS visibility rules, this function did not end up being exported from liblagom-js.dylib, causing LagomWeb to fail to link.
2022-07-04LibHTTP: Include JsonObject.h in Job.cppDaniel Bertalan
JsonArray.h does not #include the definition of JsonValue::serialize, as it lives in JsonObject.h. The macOS Clang target handles symbol visibility slightly differently (I couldn't figure out how exactly), so no visible instantiation ended up being created for the function, causing a link failure.
2022-07-04Tests: Move sprintf test from AK/ to LibC/Daniel Bertalan
This test doesn't test AK::String, but LibC's sprintf instead, so it does not belong in `Tests/AK`. This also means this test won't be ran on Lagom using the host OS's printf implementation. Fixes a deprecated declaration warning when compiling with macOS SDK 13.
2022-07-04Lagom: Do not set -fno-semantic-interposition on macOSDaniel Bertalan
The Mach-O file format does not have ELF's interposition rules, so this flag does not make sense for macOS builds. While GCC silently accepts the unsupported option, Clang issues a warning for it. This commit makes it possible to build Lagom with LLVM from Homebrew.
2022-07-04LibJS/Tests: Disable one Array.prototype.toSpliced test for nowLinus Groh
It keeps failing on i686, and will until we've updated a bunch of size_t APIs in the codebase to u64.
2022-07-04Docs: Add kleines Filmröllchen's YouTube-channelJonta
2022-07-04LibWeb: Use lowercase type selectors to match against html elementsnetworkException
Previously we would fail to match a selector like "NAV" against a <nav> html element. Note that the strings must be identical in XML Documents.
2022-07-04LibWeb: Add the type field to DOM::DocumentnetworkException
This patch adds the document type concept to documents and sets it in various places.
2022-07-04LibWeb: Remove unnecessary return in ResolvedCSSStyleDeclarationnetworkException
2022-07-04Shell: Immediately resolve value when setting a variableAli Mohammad Pur
The lazy resolution mechanism made it so that the variables were linked together, causing unexpected behaviour: true x=$? # expected: x=0 false echo $x # expected: 0, actual: 1
2022-07-04Base: Update Network manpage to the new NetworkServer behaviorMaciej
2022-07-04NetworkServer: Enable DHCP on interfaces that are not listed in configMaciej
2022-07-04LibGUI: Notify the layout system of more relevant events in TabWidgetFrHun
2022-07-04LibGUI: Implement calculated min/preferred sizes for TabWidgetFrHun
2022-07-04LibGUI: Add horizontal and vertical totals to MarginsFrHun
2022-07-04AK: Add header for generic shorthandsFrHun
These are functions that can be expressed with just normal operators, but would be very repetetive.
2022-07-04LibGUI: Notify layout system of more relevant events in WidgetFrHun
2022-07-04LibGUI: Avoid some unneeded relayouts from layout relevant changesFrHun
2022-07-04LibGUI: Calculate Window min_size on showFrHun
2022-07-04WidgetGallery: Repair GML layout on BasicsTabFrHun
2022-07-04Base: Add some background-clip + border-radius HTML examplesMacDue
2022-07-04LibWeb: Shrink border radii for background-clip and support with imagesMacDue
Since background layers can have different clipping this has also required doing the corner clipping for each layer, rather than just once.
2022-07-04LibWeb: Add .shrink() to BorderRadiusData and BorderRadiiDataMacDue
2022-07-04LibWeb: Make hit testing respect hidden overflowIgor Pissolati
2022-07-04LibJS: Let Array.prototype.toSpliced throw RangeError for len <= 2^53-1Linus Groh
This aligns it with the spec again, it was clarified that the additional range check before ArrayCreate is intentional: https://github.com/tc39/proposal-change-array-by-copy/issues/94 Also cast the final variable to an u64 instead of size_t after we have determined that it is safe to do so, as that's what Array::create() takes now.
2022-07-04LibJS: Use u64 for the length parameter in Array::create()Linus Groh
This doesn't matter per se as the value is immediately validated to be in the 0 to 2^32 - 1 range, but it avoids having to cast a number that potentially doesn't fit into a size_t into one at the call site. More often than not, array-like lengths are only validated to be <= 2^52 - 1, i.e. MAX_SAFE_INTEGER. This is fully backwards compatible with existing code as a size_t always fits into an u64, but an u64 might not always fit into a size_t.
2022-07-04LibJS: Add spec comments to ArrayCreateLinus Groh
2022-07-04LibJS: Use a template for 'Value from integral number' constructorsLinus Groh
This also allows constructing from other integral types like u64, which would have been ambiguous before (at least on i686): ``` error: call of overloaded 'Value(u64&)' is ambiguous note: candidate: 'JS::Value::Value(i32)' 175 | explicit Value(i32 value) | ^~~~~ note: candidate: 'JS::Value::Value(unsigned int)' 164 | explicit Value(unsigned value) | ^~~~~ note: candidate: 'JS::Value::Value(long unsigned int)' 153 | explicit Value(unsigned long value) | ^~~~~ note: candidate: 'JS::Value::Value(double)' 141 | explicit Value(double value) | ^~~~~ ```
2022-07-04AK: Add `nodiscard` attribute to Find functionsLenny Maiorani
2022-07-04AK: Add `nodiscard` attribute to BitStream functionsLenny Maiorani
2022-07-04AK: Add `nodiscard` attribute to BitCast functionsLenny Maiorani
2022-07-04AK: Add `nodiscard` attribute to BinarySearch functionsLenny Maiorani
2022-07-04AK: Add `nodiscard` attribute to BinaryHeap functionsLenny Maiorani
2022-07-04AK: Add `nodiscard` attribute to Base64 functionsLenny Maiorani