summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2023-05-25Browser: Download Widget file and directory text changessec05
fixes #18678 This is because the "From:" URL regularly overflows the line, leading to an unreadable mess. Make sure that the labels for the widget don't wrap as well, as the widget is fixed height and width.
2023-05-25LibWeb: Do the CORS cross-origin workaround to find MIME type for imagesAndreas Kling
This makes cross-origin image loads actually see the MIME type the server tells us. :^)
2023-05-25LibWeb: Make Fetch::Infrastructure::HeaderList::is_empty() publicAndreas Kling
2023-05-25Kernel/aarch64: Fix build after #17842Daniel Bertalan
2023-05-25LibWeb: Don't crash on unimplemented CSS display typeAndreas Kling
If some page throws "display: ruby-text" or some such at us, let's just complain and carry on.
2023-05-25LibWeb: Try failed font lookups again without weight and slopeAndreas Kling
If CSS requests a font that we have loaded, but we didn't associate it with a specific weight and/or slope, let's still use it if it matches the family name. This is a hack until we implement proper CSS font selection.
2023-05-25LibWeb: Add CustomIdentStyleValue, along with parsing for itSam Atkins
This corresponds to the `<custom-ident>` type in CSS grammar.
2023-05-25Meta: Add myself to CODEOWNERS for LibSQLJelle Raaijmakers
2023-05-25LibSQL: Free heap storage when deleting rowsJelle Raaijmakers
2023-05-25LibSQL: Implement freeing heap storageJelle Raaijmakers
This allows us to free entire chains of blocks in one go.
2023-05-25LibSQL: Find free blocks when opening a database fileJelle Raaijmakers
The free block list now gets populated on opening a database file. Ideally we persist this list inside the heap itself, but for now this prevents excessive heap growth.
2023-05-25LibSQL: Keep track of free heap blocks when trimming storageJelle Raaijmakers
When overwriting existing heap storage that requires fewer blocks, make sure to free all remaining blocks so they can be reused in the future.