summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-27LibWeb: Remove StyleValue::has_rect()Sam Atkins
This behaves identically to `is_rect()`
2023-05-27LibWeb: Unit tests for min/max-inline-sizeKarthik Karanth
2023-05-27LibWeb: Support min-inline-size & max-inline-sizeKarthik Karanth
Currently this assumes that writing-mode is horizontal, and therefore only affects the min-width/max-width
2023-05-27LibWeb: Add logical-alias-for in Properties.jsonKarthik Karanth
This allows for succint definitions of logical properties, by allowing them to inherit initial values, valid identifiers, etc from another property
2023-05-27LibJS/Runtime: Use `Core::File` in `VM::resolve_imported_module`Lucas CHOLLET
2023-05-27Ladybird+Tests/LibWeb: Add very basic text-only test harnessAndreas Kling
This allows us to create "text tests" in addition to "layout tests". Text tests work the same as layout tests, but dump the document content as text and exit upon receiving the window "load" event.
2023-05-27headless-browser: Add a --dump-text mode for simplified run & dump testsAndreas Kling
This dumps the text content of the page (via a cheesy "select all" + "get selected text" maneuver) :^)
2023-05-27LibWeb: Throw the correct object when enqueuing to a readable streamMatthew Olsson
2023-05-27LibWeb: Do not clear stream algorithms (and add corresponding FIXMEs)Matthew Olsson
2023-05-27LibWeb: Use doubles for Stream's high_water_mark and queue_total_sizeMatthew Olsson
This matches the IDL types
2023-05-27Meta: Fix unresolvable reference to WebIDL::OperationReturnsPromiseMatthew Olsson
2023-05-27LibWeb: Accept explicit "type: undefined" in UnderlyingSourceMatthew Olsson
2023-05-27LibWeb: Use TRY() to convert invoke_callback result to an ExceptionOrMatthew Olsson
Otherwise, the JS::Completion is always interpretted as an error by ExceptionOr.
2023-05-27LibWeb: Capture stack values by copy in async lambdas in Stream AOsMatthew Olsson
2023-05-27LibWeb: Use u64 for ReadableByteStream offsets instead of u32Matthew Olsson
These are specified in the IDL as "unsigned long long", which translates to u64.
2023-05-27AK+Everywhere: Don't crash on invalid monthsBen Wiederhake
Sadly, we don't have proper error propagation here. However, crashing the Kernel just because a CDROM contains an invalid month seems like a bad idea.
2023-05-27AK: Fix signed overflow in unix time parts parsingBen Wiederhake
2023-05-27AK: Test from_unix_time_parts intensivelyBen Wiederhake
2023-05-27LibWeb: Don't throw away the layout tree on viewport resizeAndreas Kling
We'll throw it out automatically if some media query changes changes its evaluation state in response to the resize, and that should be enough.
2023-05-27LibWeb: Don't invalidate style when attribute set to identical valueAndreas Kling
This was a fairly common source of unnecessary style invalidations.
2023-05-27Kernel: Mark sys$get_dir_entries as not needing the big lockLiav A
After examination of all overriden Inode::traverse_as_directory methods it seems like proper locking is already existing everywhere, so there's no need to take the big process lock anymore, as there's no access to shared process structures anyway.
2023-05-27Kernel: Make Ext2FSInode::traverse_as_directory to take m_inode_lockLiav A
The contents of the directory inode could change if we are not taking so we must take the m_inode_lock to prevent corruption when reading the directory contents.
2023-05-27Kernel: Mark sys$fork as not needing the big lockLiav A
All shared structures are already protected by "atomic" spinlocks for those structures, so there's no need to take the big process lock.
2023-05-27Kernel: Mark sys$umount as not needing the big lockLiav A
All accesses to the mount table are already serialized by the actual spinlock of that table.
2023-05-27Kernel: Don't lock ProcFS mutex when calling traverse_as_directoryLiav A
This is not needed, because when we are doing this traversing, functions that are called from this function are using proper and more "atomic" locking.
2023-05-27Kernel: Don't lock SysFS filesystem mutex calling traverse_as_directoryLiav A
This locking is simply not needed because the associated SysFS component will use proper and more "atomic" locking on its own.
2023-05-27LibCore: Remove unused API of deprecated Core::IODeviceBen Wiederhake
2023-05-27LibCore: Remove deprecated LineRange and LineIteratorBen Wiederhake
2023-05-27LibLine: Unify history reading, prefer File over DeprecatedFileBen Wiederhake
2023-05-27LibCore: Drop TestLibCoreIODeviceBen Wiederhake
It does not make sense to test known-working code that is deprecated and in the process of being removed. Also, this test becomes too cumbersome to write without using read_all or line iteration in some form, and migrating the test is just silly.
2023-05-27LibWeb: Accept fit-content as a value for min-width and max-widthAndreas Kling
This starts working immediately in BFC thanks to calculate_inner_width being used for width constraints. :^)
2023-05-27LibWeb: Support fit-content width for block-level boxesAndreas Kling
2023-05-27LibWeb: Support grid items with fit-content width :^)Andreas Kling
2023-05-27LibWeb: Allow calculating intrinsic sizes of non-FC-rootsAndreas Kling
In order to support intrinsic size keywords (such as fit-content), we need to be able to calculate the intrinsic sizes of any element, not just those that form their own formatting context. When a non-FC-root element is passed to calculate_some_intrinsic_size(), we now create a synthetic BFC to handle sizing of them.
2023-05-27LibWeb: Add fit-content as a valid size value for CSS widthAndreas Kling
2023-05-27LibGfx+LibVideo: Make BooleanDecoder usable for both VP8 and VP9Nico Weber
The marker bit is VP9-only, so move that into a new initialize_vp9() function. finish_decode() is VP9-only, so rename that to finish_decode_vp9().
2023-05-27LibGfx+LibVideo: Move VP9/BooleanDecoder to LibGfx/ImageFormatsNico Weber
...and keep a forwarding header around in VP9, so we don't have to update all references to the class there. In time, we probably want to merge LibGfx/ImageDecoders and LibVideo into LibMedia, but for now I need just this class for the lossy webp decoder. So move just it over. No behvior change.
2023-05-27LibWeb: Add basic parsing of grid shorthand CSS propertyAliaksandr Kalenik
Introduces incomplete parsing of grid shorthand property. Only <grid-template> part of syntax is supported for now but it is enough to significantly improve rendering of websites that use this shorthand to define grid :)
2023-05-26LibWeb: Fix width calculation for floating replaced elementsAndi Gallo
The path for floating, replaced elements must not fall through to the path taken for floating, non-replaced elements. The former works like inline replaced elements, while the latter uses a completely different algorithm which doesn't account for intrinsic ratio. Falling through overrides the correct value computed by the former. Fixes #19061.
2023-05-26LibWeb: Reset margin collapsing state only if box indeed add clearanceAliaksandr Kalenik
This fixes the issue when margin collapsing state was always reset if a box has clear property not equal to none even if it does not actually introduce clearance.
2023-05-26LibWeb: Avoid nullptr dereference when parsing grid sizesSam Atkins
2023-05-26LibJS/Bytecode: Make for..in iterate property names as stringAndreas Kling
Makes 107 new tests pass in test262. :^)
2023-05-26Kernel/aarch64: Use the correct MMIO base address in the MMUCaoimhe
2023-05-26Documentation: Add note about testing UART on the Raspberry Pi 4BCaoimhe
2023-05-26LibWeb: Consume sign in `SVG::parse_elliptical_arg_argument`Cameron Youell
This was crashing on google.com with the linux chrome user agent, interestingly it seems like this behavior may have been accidental as only two of the three `parse_number()` were changed in f7dbcb6
2023-05-26LibWeb: Get reference height from closest non-anonymous ancestorAndi Gallo
Ignore anonymous block boxes when resolving percentage weights that would refer to them, per the CSS 2 visual formatting model specification. This fixes the case when we create an anonymous block between an image which uses a percentage height relative to a parent which specifies a definite height. Fixes #19052.
2023-05-26LibJS: Disallow creating ArrayBuffers larger than 2^53 - 1Timothy Flynn
This is a normative change in the ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/25f9744
2023-05-26LibJS: Update spec numbers for the Well-Formed Unicode Strings proposalTimothy Flynn
This proposal has been merged into the main ECMA-262 spec. See: https://github.com/tc39/ecma262/commit/d95f42d
2023-05-26LibWeb: Return DOMException instead of crashing when setting attributesPrestonLTaylor
2023-05-26LibGfx: Fix glyph render to create implied points in start/end of pathAliaksandr Kalenik
Implied point = point created by two subsequent "off curve" points. Fixes following issues in function that builds glyph path from points: - If first point is "off curve" it was wrongly treated as "on curve" which caused wrong first point position in the path. - If both first and last points in the path are "off curve" implied point was not created between them which caused wrong path shape in the end of the path.