summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb
AgeCommit message (Collapse)Author
2023-04-26LibWeb: Implement creation of fresh top-level traversablesAliaksandr Kalenik
Co-authored-by: Andreas Kling <kling@serenityos.org>
2023-04-26LibWeb: Implement Navigable::initialize_navigable()Aliaksandr Kalenik
2023-04-26LibWeb: Add step property in SessionHistoryEntryAliaksandr Kalenik
2023-04-26LibWeb: Clamp CSS z-index to the range of a 32-bit integerAndreas Kling
This appears to be consistent with other engines, and fixes many pages where we were misinterpreting super large z-index values as something else entirely.
2023-04-25LibWeb: Remove custom playback timer from HTMLMediaElementTimothy Flynn
After the EventLoop changes, we do not need to override LibVideo's timer with a Qt timer for Ladybird. The timer callback provided here also does not need the JS::SafeFunction wrapper that Platform::Timer provides.
2023-04-25LibWeb: Add missing valid-identifiers for display CSS propertyEmil Militzer
2023-04-25LibWeb: Start fleshing out Navigable::navigate()Aliaksandr Kalenik
Start implementation of https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigate Co-authored-by: Andreas Kling <kling@serenityos.org>
2023-04-25LibWeb: Add m_ongoing_navigation in NavigableAliaksandr Kalenik
2023-04-25LibWeb: Add HTML::Task::Source::NavigationAndTraversalAndreas Kling
2023-04-25LibWeb: Add ReferrerPolicy::EmptyStringAndreas Kling
One of the valid enum values for "referrer policy" is the empty string. Since we're using an enum for this, just add it as an enum value.
2023-04-25LibWeb: Add HistoryHandlingBehavior::PushAndreas Kling
Also add FIXMEs about removing no-longer-used enum values.
2023-04-25LibWeb: Add HTML::POSTResourceAliaksandr Kalenik
This is "POST resource" from the HTML spec.
2023-04-25LibWeb: Fix the update of the favicon during navigationEmil Militzer
The check on the currently active document for an existing favicon has been removed. It caused an issue during navigation because the active document will only be updated after the load and the favicon check has been executed against the old document.
2023-04-25LibWeb+WebContent: Make document background and Viewport transparentSigmund Lahn
This means iframes are transparent by default (as in firefox/chrome). Painting the outermost canvas background is moved to the PageHost.
2023-04-24LibWeb/Fetch: Pass recursive=false to manual navigation redirectAliaksandr Kalenik
Implement https://github.com/whatwg/fetch/commit/ca10f49748f2289433ce75dcf1f2fcf451f4f24f Fixes the issue I found while working on navigation: https://github.com/whatwg/fetch/issues/1629
2023-04-24LibWeb: Serialize element's IDs when serializing a11y treeJonah
2023-04-24AK: Add new failable `JsonArray::{append/set}` functionsCameron Youell
Move all old usages to the more explicit `JsonArray:must_{append/set}`
2023-04-24LibWeb: Implement "create a new browsing context and document"Aliaksandr Kalenik
Co-authored-by: Andreas Kling <kling@serenityos.org>
2023-04-24LibWeb: Implement the "top-level traversable" of a browsing contextAndreas Kling
2023-04-24LibWeb: Add updated version of "determine the origin" AO from HTML specAndreas Kling
The old version is still around since it has many users, so we can't remove it until everything has been updated to use the new version.
2023-04-24LibWeb: Implement Document::make_active()Aliaksandr Kalenik
Implementation of "make active" algorithm from the spec for Document. Co-authored-by: Andreas Kling <kling@serenityos.org>
2023-04-24LibWeb: Implement the HTMLMediaElement fastSeek methodTimothy Flynn
2023-04-24LibWeb: Fix grid size when intrinsically sizedmartinfalisse
This fixes a bug that was seen when a combination of the grid having been floated with `float: left` and a `minmax()` column size were used. The issue was that a grid track size should be considered intrinsically sized if both the min and max sizes are intrinsic, not just one of them.
2023-04-24LibWeb: Convert navigationId from DeprecatedString to StringAliaksandr Kalenik
2023-04-23LibWeb: Paint video timestamps using CSS/device pixel-aware scaled fontsTimothy Flynn
The timestamp text was very tiny on a HiDPI display.
2023-04-23LibWeb: Propagate LibVideo decoder errors to the HTMLMediaElementTimothy Flynn
2023-04-23LibWeb: Implement the HTMLMediaElement error attributeTimothy Flynn
2023-04-23LibWeb: Implement the MediaError IDL interfaceTimothy Flynn
2023-04-23LibWeb: Implement Node::navigable()Aliaksandr Kalenik
https://html.spec.whatwg.org/multipage/document-sequences.html#node-navigable
2023-04-23LibWeb: Add API for finding Navigable with a given active documentAndreas Kling
This will be used to look up a document's node navigable. It might be nice to have a direct pointer from Document to its Navigable, but at the moment I don't understand the algorithms well enough to maintain that linkage.
2023-04-23LibWeb: Implement getting the top-level traversable of a navigableAndreas Kling
2023-04-23LibWeb: Implement getting the traversable navigable of a navigableAndreas Kling
2023-04-22Browser+Ladybird+LibWeb: Port content filters to StringTimothy Flynn
2023-04-22Browser+Ladybird+LibWeb: Prevent infinite growth of content filtersTimothy Flynn
We never clear content filters on either end of the Browser-WebContent IPC connection. So when the filters change, we re-append all filters to the Vector holding them. This incidentally makes it impossible to remove a filter. Change both sides to clear their filter lists when receiving a new set of filters.
2023-04-21LibWeb: Implement integrity-metadata part of fetch algorithmSam Atkins
Specifically, this makes `<link>` elements with an `integrity` attribute actually work. Previously, we would load their resource, and then drop it on the floor without actually using it. The Subresource Integrity code is in `LibWeb/SRI`, since SRI is the name of the recommendation spec: https://www.w3.org/TR/SRI/ However, the Fetch spec links to the editor's draft, which varies significantly from the recommendation, and so that is what the code is based on and what the spec comments link to: https://w3c.github.io/webappsec-subresource-integrity/ Fixes #18408
2023-04-21LibWeb+Browser+Ladybird: Use JS::SafeFunction for EventLoop callbacksSam Atkins
This automatically protects captured objects from being GC'd before the callback runs.
2023-04-21LibWeb: Add FIXME: for new step 6 of Fetch's "main fetch"Sam Atkins
This step was added in this commit: https://github.com/whatwg/fetch/commit/2d78995db8dbbe1c9ab4a9c6765d7d6603216bff
2023-04-21LibWeb: Make WebSocket#send support typed arrays, Blob and DataViewLuke Wilde
Required by jigsawpuzzles.io, which particularly uses typed arrays.
2023-04-21LibWeb: Add XMLDocument stubLuke Wilde
Required by old versions of Pixi.js's XMLFormat bitmap font loader. https://github.com/pixijs/pixijs/blob/db824181dc3dfffa0951fb8579282ba8e654cb3b/packages/text-bitmap/src/formats/XMLFormat.ts#L16
2023-04-21LibWeb: Implement HTMLVideoElement representation closer to the specTimothy Flynn
The representation is used to indicate whether the layout node should paint a video frame, the video's poster, or a "transparent black" box.
2023-04-21LibWeb: Implement the HTMLVideoElement poster attributeTimothy Flynn
This will fetch the URL indicated by the poster attribute when it's set, changed, or removed. The spec doesn't say how to handle animated poster images, so we just grab the first frame of the image, which seems to match other implementations.
2023-04-21LibWeb: Implement the HTMLMediaElement show-poster flagTimothy Flynn
Note that this doesn't do much yet, as the HTMLVideoElement does not handle its poster attribute as of this commit.
2023-04-21LibWeb: Implement the HTMLMediaElement "potentially playing" conceptTimothy Flynn
2023-04-21LibWeb: Make HTMLMediaElement's attribute change handlers protectedTimothy Flynn
These will be need to be overridden by HTMLVideoElement. We also need to be sure to invoke HTMLMediaElement's base class's did_remove_attribute.
2023-04-21LibWeb: Add a getter for HTMLMediaElement's current playback positionTimothy Flynn
This will be needed by the layout node, which may change what is painted when the position of the frame image is not the same as the element's current time.
2023-04-21LibWeb: Track decoded video frame positions along with the frame imageTimothy Flynn
This will be needed by the layout node, which may change what is painted when the position of the frame image is not the same as the element's current time.
2023-04-20LibWeb: Use device pixels to translate NestedBrowsingContextPaintableAliaksandr Kalenik
Fix translation of iframes when pixel size is not 1.0.
2023-04-20LibWeb/Painting: Move-assign value in set_containing_line_box_fragmentLinus Groh
An Optional<Layout::LineBoxFragmentCoordinate> is 24 bytes, which isn't small enough to pass by value and then copy.
2023-04-20LibWeb/Painting: Remove redundant 'Painting::' namespace prefixesLinus Groh
2023-04-20LibWeb: Rename remaining paint_box variables to paintable_boxLinus Groh
These don't match the type name, which is confusing.