summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-11-07PixelPaint: Improve brushtool gradient for low hardnessTorstennator
This patch mitigates a rough gradient for the brush tool with a low hardness. Previously the gradient alpha value was truncated by the type conversion to int. Now the desired alpha value is scaled up to mitigate the information loss due to type conversion which results in a much smoother gradient.
2022-11-07PixelPaint: Relate cursor to brush tool sizeTorstennator
This patch changes the cursor for the brush tool to a circle of dynamic size to indicate the region where the tool will apply color changes.
2022-11-07LibWeb: Paint `repeating-conic-gradient()`sMacDue
Shares the same machinery as linear-gradient()s so this is quite easy.
2022-11-07LibWeb: Parse `repeating-conic-gradient()`sMacDue
2022-11-07LibWeb: Skip hit testing a line box fragment if it has no containerLuke Wilde
The container appears to be null for certain elements such as the "update your browser" box when clicking on the document during certain parts of loading. Skipping it works fine, but should obviously be fixed, so it prints a debug output when this happens.
2022-11-07LibWeb: Fire a keypress event after firing a keydown eventLuke Wilde
In Google Docs with our user agent string, this is the event it listens for to insert characters into the document.
2022-11-07LibWeb: Make keyboard events properly fire into a focused iframeLuke Wilde
Google Docs focuses a "text event target" iframe using Window.focus on the iframe's contentWindow. Doing so makes the iframe's document the focused element we have to fire text events at. However, in the top level browsing context, the focused element is still the iframe, so we have to repeat the keyboard event steps but with the iframe's nested browsing context instead.
2022-11-07LibWeb: Implement HTMLTableRowElement.deleteCellLuke Wilde
2022-11-07LibWeb: Implement HTMLTableRowElement.insertCellLuke Wilde
2022-11-07LibWeb: Implement :lang pseudo class serializationLuke Wilde
2022-11-07LibWeb: Recognise the ::placeholder pseudo elementLuke Wilde
This doesn't give it any functionality.
2022-11-07LibWeb: Check that there's a head element before looking for faviconsLuke Wilde
2022-11-07LibWeb: Don't call load_src after process_the_iframe_attributesLuke Wilde
process_the_iframe_attributes already causes a navigation, so this would cause a double navigation and blow away any setup that JS may have done from events fired in process_the_iframe_attributes.
2022-11-07LibWeb: Return after firing the iframe load event for about:blankLuke Wilde
This was a missing spec step. This prevents it navigating to about:blank, which will blow away the document and thus any setup that was done in the iframe load event.
2022-11-07LibWeb: Start implementing the Element scroll attributesLuke Wilde
These are required for hit testing the document in Google Docs. If they aren't defined, the Google Docs hit test code will add undefined to certain values, causing them to turn into NaN. This causes NaNs to propagate through their hit test code, which eventually makes it infinitely loop.
2022-11-07LibWeb: Stub Document.queryCommandSupportedLuke Wilde
2022-11-07LibWeb: Expose MouseEvent.{screenX,screenY}Luke Wilde
These are currently the same as clientX and clientY, but it works for now.
2022-11-07LibWeb: Implement Window.focusLuke Wilde
2022-11-07LibWeb: Use the focus steps instead of set_focused_element on user clickLuke Wilde
This makes clicking properly fire focus/blur events alongside setting the focused element.
2022-11-07LibWeb: Extract the (un)focus steps out of HTMLElementLuke Wilde
The (un)focus steps have no dependency on HTMLElement, thus we can extract them into their own file. This allows them to be called anywhere.
2022-11-07LibWeb: Implement HTMLSelectElement.typeLuke Wilde
2022-11-07LibWeb: Implement CSSStyleDeclaration.cssTextLuke Wilde
2022-11-07LibWeb: Implement Element.getAttributeNodeLuke Wilde
2022-11-07LibWeb: Add HTMLOrSVGElement.autofocusLuke Wilde
2022-11-07LibHTTP: Always send Content-Length header in POST requestsLuke Wilde
Required by Google services, Content-Length should always been sent, even when there is no body.
2022-11-07LibWeb: Implement HTMLOrSVGElement.tabIndexLuke Wilde
2022-11-07LibWeb: Stub XMLHttpRequest.abortLuke Wilde
2022-11-07ThemeEditor: Warn about unsaved changes on file openKarol Kosek
2022-11-07TextEditor+HexEditor: Warn about unsaved changes after dropping filesKarol Kosek
2022-11-07PixelPaint: Remember visibility for histogram and vectorscopeTorstennator
This patch allows pixelpaint to remember if the histogram or vectorscope was visible last time the application was used.
2022-11-07AudioServer: Skip mixing when volume is zeroAlex Chronopoulos
When volume is zero it is not necessary to go through the mixing loop. The zero-filled buffer can be written directly to the device, instead, similar to the muted case. Tested by using the piano app and the main volume control.
2022-11-07LibWeb: Skip anonymous layout nodes while finding the event targetGunnar Beutner
This makes the links on nitter.net clickable, e.g. "preferences" in the upper right corner.
2022-11-07LibWeb: Move code for finding the parent element into a helper functionGunnar Beutner
This exact same loop is repeated a couple of times.
2022-11-07LibWeb: Implement gap in CSS Gridmartinfalisse
2022-11-07LibWeb: Add some helpers for TemporaryTrackmartinfalisse
Add some helpers to the TemporaryTrack struct to assist in making future commits more legible.
2022-11-07LibWeb: Parse CSS gap propertymartinfalisse
Including the legacy grid-gap, grid-column-gap and grid-row-gap properties.
2022-11-06Base+VideoPlayer: Add an icon for video playerSlimey
Co-authored-by: TreuKS <ks2225@protonmail.com>
2022-11-06Everywhere: Remove redundant inequality comparison operatorsDaniel Bertalan
C++20 can automatically synthesize `operator!=` from `operator==`, so there is no point in writing such functions by hand if all they do is call through to `operator==`. This fixes a compile error with compilers that implement P2468 (Clang 16 currently). This paper restores the C++17 behavior that if both `T::operator==(U)` and `T::operator!=(U)` exist, `U == T` won't be rewritten in reverse to call `T::operator==(U)`. Removing `!=` operators makes the rewriting possible again. See https://reviews.llvm.org/D134529#3853062
2022-11-06Meta+LibUnicode: Avoid relocations for static unicode dataGunnar Beutner
Previously the s_decomposition_mappings variable would refer to other data in s_decomposition_mappings_data. This would cause thousands of avoidable relocations at load time. This saves about 128kB RAM for each process which uses LibUnicode.
2022-11-06VideoPlayer: Add quit action and help menuSlimey
I also moved the menubar initialization code to VideoPlayerWidget in order to keep all of the bulk out of main.cpp :)
2022-11-06VideoPlayer: Show current open file in the titleSlimey
2022-11-06LibWeb: Calculate grid content height using column widthmartinfalisse
Should use the min_content_height function for calculating the height of content. Thanks to previous commits, are able to use the width of the column for this calculation.
2022-11-06LibWeb: Use AvailableSpace when referring to the grid widthmartinfalisse
Should use AvailableSpace to get the grid width instead of box_state.content_width(). This change was imposed on me by the compiler as in a future commit I will remove the only reference to the available_space parameter.
2022-11-06LibWeb: Calculate grid columns first, and grid rows secondmartinfalisse
As per the spec, it seems that the size of the columns of the grid should be calculated first, and then the sizes of the rows. This commit reorders the code for the sizing of the grid to match the spec. This will be used in a future commit so as to calculate the height of a row based on the resolved final width of a column.
2022-11-06LibWeb: Calculate available space for children of the gridmartinfalisse
Previously were not passing along any information to the children of the grid, as were simply passing the same AvailableSpace that was received for the grid itself. Now, each child is given an available space in accordance with the layout of the grid.
2022-11-06LibWeb: Replace some unnecessary ShadowRoot verify_cast with static_castBaitinq
These two occurrences of verify_cast happened right after a check on the type of converted reference, making the verify_cast redundant.
2022-11-06LibJS: Remove the now-unused LocalTZA AOTimothy Flynn
2022-11-06LibJS: Change ToLocalTime to use epoch nanosecondsTimothy Flynn
This is an editorial change to the ECMA-402 spec. See: https://github.com/tc39/ecma402/commit/b3f9a1b
2022-11-06LibJS: Remove infallibility marker from DefaultTimeZone invocationTimothy Flynn
This is an editorial change to the ECMA-402 spec. See: https://github.com/tc39/ecma402/commit/46aa5cc Also add an ECMA-402 spec link to the DefaultTimeZone implementation, as that definition supersedes ECMA-262.
2022-11-06LibWeb: Fix some `conic-gradient()` painting issuesMacDue
This makes the center position the center of the pixel rather than the top left corner (which fixes some small artifacts on a few gradients). This also now floors the angle used to sample from the gradient line, this avoids the colors diverging the further away from the center you get (which is noticeable on hard-edge gradients).