1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 16:35:08 +00:00
Commit graph

6775 commits

Author SHA1 Message Date
Shannon Booth
f3e5335096 LibWeb: Port CSSKeyframeRules interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
15334a68df LibWeb: Port CSSKeyframesRules interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
826374d04b LibWeb: Port Path2D interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
e8d592ded2 LibWeb: Port WebGLRenderingContext IDL from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
cf733d309e LibWeb: Port CSSConditionRule interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
ff45874d4e LibWeb: Port MediaList interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
72f54eca26 LibWeb: Port History interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
7b79324548 LibWeb: Port Range interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
9f047819a5 LibWeb: Port Selection interface from DeprecatedString to String 2023-08-29 10:05:02 +02:00
Shannon Booth
901220c588 LibWeb: Port Storage interface from DeprecatedString to String
Which ends up bubbling all the way up to the Browser storage model.
2023-08-29 10:05:02 +02:00
Andrew Kaster
6cfe19e5be LibWeb: Update Navigable::navigate() to the current state of the spec
A few parameters and step renumberings have happened since we first
implemented this algorithm.
2023-08-29 09:39:57 +02:00
Andrew Kaster
cf1f14f58c LibWeb: Make to_history_handling_behavior conversion helper public
While we're here, assert that we're not doing this conversion when the
NavigationHistoryBehavior is still "auto", as the
HistoryHandlingBehavior enum is supposed to represent a "resolved"
behavior.
2023-08-29 09:39:57 +02:00
Andrew Kaster
0ed67fc0ce LibWeb: Add virtual to check if a Navigable is a top level traversable
This avoids some AK::is casting when we need to check this property in
upcoming algorithms.
2023-08-29 09:39:57 +02:00
Andrew Kaster
0c85a7cebc LibWeb: Add DocumentState about base url member 2023-08-29 09:39:57 +02:00
Andrew Kaster
5f0fb84379 LibWeb: Stub out determine_the_creation_sandboxing_flags 2023-08-29 09:39:57 +02:00
Andrew Kaster
a565021147 LibWeb: De-duplicate definition of url_matches_about_blank
We don't need two static methods for this.
2023-08-29 09:39:57 +02:00
Andrew Kaster
a83668d838 LibWeb: Move XHR::FormDataEntry to its own header
This avoids a circular dependency in a future commit
2023-08-29 09:39:57 +02:00
Andrew Kaster
d97b09693e LibWeb: Convert SandboxingFlagSet into a enum class
Instead of having a nested enum within a struct, use the macro
AK_ENUM_BITWISE_OPERATORS to add all the convienent has_flag free
functions and such for ease of use.
2023-08-29 09:39:57 +02:00
Andi Gallo
4a124333c8 LibWeb: Add back undistributable space when adjusting table width
If the table used width has to be adjusted because of a cell with
percentage width, add back the undistributable space due to border
spacing. This is consistent with the width distribution algorithm, which
sets aside the undistributable space and the behavior of other browsers.
2023-08-29 09:19:55 +02:00
Andreas Kling
ae3958f640 LibWeb: Remove incorrect hack in build_paint_tree()
If a paintable already has a parent when we're building a paint tree,
that's a bug we should catch, not something that needs a workaround.
2023-08-28 23:36:22 +02:00
Andreas Kling
ad1853cbf5 LibWeb: Remove unnecessary layout node detach in DOM::Node::finalize()
Manually detaching the layout node is not necessary since both the DOM
and the layout tree is garbage collected anyway.
2023-08-28 23:36:22 +02:00
Andreas Kling
b3a885755c LibWeb: Detach the paint tree in Document::tear_down_the_layout_tree()
Otherwise, someone may try to paint the paint tree after the layout tree
has been torn down. This could in theory be possible in the future, but
until we've completely severed the paint tree's dependency on the layout
tree, this is not safe as the layout tree is no longer in a valid state.
2023-08-28 23:36:22 +02:00
Andreas Kling
edec5a157c LibWeb: Add missing TreeNode::visit_edges() in Paintable::visit_edges() 2023-08-28 23:36:22 +02:00
Andreas Kling
6238860c6d LibWeb: Simplify PaintableBox::enclosing_stacking_context() 2023-08-28 23:36:22 +02:00
Andrew Kaster
6e64bf5464 LibWeb: Remove outdated old_queue_global_event_with_document
The FIXME here describes an old constraint on JS Interpreters which no
longer holds. It hails from a time when we had the global object and
JS realm attached to the document.
2023-08-28 12:57:05 +02:00
Andreas Kling
2a86bd8c91 LibWeb: Fire the fail callback on SharedImageRequest when they fail
This fixes an issue where failed image loads would delay the document
load event forever.
2023-08-28 10:19:46 +02:00
Andrew Kaster
b1f06e42ce LibWeb: Implement navigation.{traverseTo, back, forward}
The proper abstract operations on Navigable and TraversableNavigable are
not quite ready to call from Navigation. With this commit all of the
user-facing APIs of Navigation are in place, and the stage should be set
to implement the parts of the navigation and traversal AOs that need to
interact with the Navigation object.
2023-08-28 09:47:11 +02:00
Andrew Kaster
03eae09619 LibWeb: Implement snapshotting source snapshot params per the spec 2023-08-28 09:47:11 +02:00
Andrew Kaster
798a1b2751 LibWeb: Implement navigation.reload()
This has the same issue as navigate(), in that we currently cannot
guarantee that there is a valid navigable on every fully loaded
document.
2023-08-28 09:47:11 +02:00
Aliaksandr Kalenik
b66f65dc9e LibWeb: Define if identifier represent area or line during layout [GFC]
This fixes regression introduced in
c03e025a32 by assuming that it is
possible to determine whether identifier stands for line or area
during parsing.
2023-08-28 09:19:41 +02:00
Luke Wilde
af2886449a LibWeb: Implement PerformanceObserver 2023-08-27 23:27:44 +02:00
Kemal Zebari
3151099b21 LibWeb/Fetch: Use parsed referrer's origin in Request::construct_impl 2023-08-27 15:44:21 -04:00
Shannon Booth
b0eea51335 LibWeb: Port DOMTokenList from DeprecatedString to String 2023-08-27 05:34:54 +02:00
Shannon Booth
d706f9f241 LibWeb: Port HTMLSelectElement from DeprecatedString to String 2023-08-27 05:34:54 +02:00
Shannon Booth
d5409a056a LibWeb: Port HTMLCollection from DeprecatedString to String 2023-08-27 05:34:54 +02:00
Shannon Booth
ebdfe2e863 LibWeb: Port DocumentType from DeprecatedString to String 2023-08-27 05:34:54 +02:00
Shannon Booth
9117bcfd61 LibWeb: Port DOMImplementation from DeprecatedString to String 2023-08-27 05:34:54 +02:00
Shannon Booth
d8ae02ef59 LibWeb: Add spec comments to DOMImplementation 2023-08-27 05:34:54 +02:00
Aliaksandr Kalenik
d3d67857b2 LibWeb: Use containing block width to measure fit-content width in GFC
When the grid layout gets to
`resolve_items_box_metrics(GridDimension::Column)`, we've already
determined the width of each column. However, the widths of the
individual grid items themselves haven't been set. Rather than using
`get_available_space_for_item()`, which returns an indefinite size if
an item's width/height hasn't been set, we should use the already
known track width as the available size to calculate the fit-content
width.
2023-08-27 05:11:55 +02:00
Kemal Zebari
4533794c32 LibWeb/Fetch: Use origins in Cross-Origin-Embedder-Policy algorithm 2023-08-26 18:44:21 -04:00
MacDue
71baa8c31a LibWeb: Add CSSPixels::nearest_value_for(FloatingPoint)
This is intended to annotate conversions from unknown floating-point
values to CSSPixels, and make it more obvious the fp value will be
rounded to the nearest fixed-point value.
2023-08-26 23:53:45 +02:00
MacDue
360c0eb509 LibWeb: Remove implicit conversion from float and double to CSSPixels
In general it is not safe to convert any arbitrary floating-point value
to CSSPixels. CSSPixels has a resolution of 0.015625, which for small
values (e.g. scale factors between 0 and 1), can produce bad results
if converted to CSSPixels then scaled back up. In the worst case values
can underflow to zero and produce incorrect results.
2023-08-26 23:53:45 +02:00
Timothy Flynn
7df48756d6 LibWeb: Use SystemColor::button_text for ButtonText CSS values 2023-08-26 19:24:22 +02:00
Aliaksandr Kalenik
0060fe3095 LibWeb: Account for float intrusions in list marker x offset 2023-08-26 19:07:56 +02:00
Sam Atkins
240ec9aeed LibWeb: Treat invalid StyleValues that included var() as unset
This means StyleComputer::resolve_unresolved_style_value() always
returns a value, so we can change its return type.

However, it does still return an UnresolvedStyleValue sometimes, so we
can't remove those checks from the user code.
2023-08-26 15:33:45 +01:00
Shannon Booth
f115e44066 LibWeb: Implement value attribute of RadioNodeList 2023-08-26 13:51:18 +02:00
Shannon Booth
708263790a LibWeb: Implement LiveNodeList::first_matching
This function returns the first element which matches both the filter
for the LiveNodeList collection itself, and a further filter that is
supplied as an argument to this function.
2023-08-26 13:51:18 +02:00
Shannon Booth
191c87f1cd LibWeb: Handle 'default' value state for input elements
For buttons and the hidden state the value IDL call must return the
empty string if there is no value, and the elements value attribute
otherwise.
2023-08-26 13:51:18 +02:00
Shannon Booth
0f374afc8f LibWeb: Handle radio/checkbox default-or-on value attribute state
If the value attribute is missing, these input elements should be
returning 'on' as their value in their IDL.
2023-08-26 13:51:18 +02:00
Shannon Booth
fc4fd6cb02 LibWeb: Fix empty value attribute for 'file' input returning fakepath
It should be returning the empty string for this case.
2023-08-26 13:51:18 +02:00