ladybird/Tests/LibWeb/Text/input
Sam Atkins 7daf5cdaff LibWeb: Invalidate layout if pseudo-element style changes
Pseudo-elements' style is only computed while building the layout tree.
This meant that previously, they would not have their style recomputed
in some cases. (Such as when :hover is applied to an ancestor.)

Now, when recomputing an element's style, we also return a full
invalidation if one or more pseudo-elements would exist either before or
after style recomputation.

This heuristic produces some false positives, but no false negatives.
Because pseudo-elements' style is computed during layout building, any
computation done here is then thrown away. So this approach minimises
the amount of wasted style computation. Plus it's simple, until we have
data on what approach would be faster.

This fixes the Acid2 nose becoming blue when the .nose div is hovered.
2024-07-30 09:45:45 +02:00
..
canvas LibWeb: Parse fill and stroke values 2024-07-26 09:14:09 +01:00
Crypto LibWeb: Implement PBKDF2 deriveBits for SubtleCrypto 2024-04-04 21:00:40 +02:00
css LibWeb: Invalidate layout if pseudo-element style changes 2024-07-30 09:45:45 +02:00
DOM LibWeb/DOM: Implement Node.lookupPrefix 2024-07-28 00:51:55 +01:00
Editing LibWeb: Fix crashing after input into empty contenteditable 2024-02-24 08:09:01 +01:00
Encoding LibWeb: Add TextEncoder encodeInto 2023-10-29 21:44:53 +01:00
Fetch Tests/LibWeb: Move existing Fetch tests in under the Fetch folder 2024-07-23 09:02:21 +02:00
FileAPI LibWeb: Implement Blob::bytes() 2024-07-26 10:21:32 +02:00
geometry LibWeb/Geometry: Make DOMRect doubles unrestricted 2024-07-01 21:30:52 +01:00
hit_testing LibWeb: Always check paintable boxes children during hit-testing 2024-03-05 15:43:17 +01:00
HTML LibWeb: Don't proceed with Element.click() on disabled form controls 2024-07-26 14:25:04 +02:00
IntersectionObserver LibWeb: Do not include box's own scroll offset in get_client_rects() 2024-03-22 12:13:59 +01:00
Messaging LibWeb: Ignore MessagePort.start() on already-closed port 2024-03-12 16:30:39 +01:00
MutationObserver LibWeb: Fix null pointer dereference in DOM::Node::remove() 2023-11-20 20:50:53 +01:00
navigation LibWeb: Do not destroy document until whole subtree completed unloading 2024-04-20 10:22:14 +02:00
PerformanceObserver LibWeb: Implement PerformanceObserver.supportedEntryTypes 2024-04-03 07:55:51 +02:00
ResizeObserver LibWeb: Null layout and paintable pointers of removed DOM::Node 2024-02-20 10:55:10 +01:00
ShadowDOM LibWeb: Inherit CSS variables across shadow boundaries 2024-07-25 21:38:32 +02:00
Streams LibWeb: Implement min option for ReadableStreamBYOBReader.read() 2024-07-11 11:55:15 +02:00
SVG LibWeb/SVG: Ensure SVG transform has an inverse before using it 2024-07-22 09:13:25 +02:00
UIEvents Tests/LibWeb: Add test for MouseEvent and WheelEvent bubbling 2024-07-16 21:10:16 +03:00
URL LibWeb: Implement URL.parse 2024-05-13 09:21:12 +02:00
Wasm LibWeb: Add a basic test for [EnforceRange] 2024-03-30 21:21:23 +01:00
WebAnimations LibWeb: Parse easing values manually 2024-06-16 07:12:46 +02:00
WebAudio LibWeb: Implement BaseAudioContext.createGain 2024-05-28 08:06:09 +02:00
Worker LibWeb: Set correct prototype for WorkerLocation 2024-07-28 21:40:30 +02:00
XHR LibWeb: Handle non-object JSON in XMLHttpRequest response 2024-05-04 14:11:10 +02:00
XHTML LibWeb: Execute the correct script in XMLDocumentBuilder::element_end() 2024-07-25 15:05:28 +02:00
XML LibWeb: Generate a simple error page when XML decode/parse fails 2024-04-19 11:44:32 +02:00
abortsignal-abort.html LibWeb: Implement AbortSignal.abort() 2024-02-21 10:34:44 +01:00
abortsignal-any.html LibWeb: Implement AbortSignal.any() 2024-03-12 09:31:41 +01:00
abortsignal-timeout.html LibWeb: Mark abort event as trusted before dispatching it 2024-03-12 09:31:41 +01:00
all-window-properties.html Tests/LibWeb: Add test that dumps all global JS constructors 2024-06-28 17:10:52 +02:00
anchor-element-with-javascript-url-href.html LibWeb: Remove exit for javascript urls in anchor activation_behavior() 2023-11-25 16:33:54 +01:00
append-child-must-update-layout-tree.html LibWeb: Invalidate the layout tree on DOM node insertion 2023-06-06 09:06:27 +02:00
Attr-cloneNode.html LibWeb/Tests: Port two DOM cloneNode() test cases to text tests 2023-08-21 13:51:12 +02:00
background-position-xy.html LibWeb: Create EdgeStyleValue for BackgroundPositionXY with no offset 2023-07-17 14:53:52 +01:00
basic.html Tests/LibWeb: Use the include.js helper in "basic.html" 2023-05-28 22:03:57 +02:00
body-background-color-red.css LibWeb: Forward media attribute from link element to loaded style sheet 2023-06-11 06:05:03 +02:00
border-radius-div-containing-iframe-with-border-radius-svg.html LibWeb: Do not shrink the CPU painter's corner clipping vector 2024-03-10 00:39:49 +01:00
clipboard.html Revert "LibWeb: Allow bypassing transient activation checks for tests" 2024-02-25 12:35:49 -05:00
close-non-modal-dialog.html LibWeb: Implement HTMLDialogElement::close() for non-modal dialogs 2024-02-14 22:20:44 -05:00
cookie.html LibWeb: Convert the cookie test page to a text test 2024-01-10 23:26:40 +01:00
createBitmap.html LibWeb: Convert callers of ImageCodecPlugin to the async API 2024-04-23 12:32:04 -06:00
document-adopted-style-sheets.html LibWeb: Implement adoptedStyleSheets attribute for Document 2024-03-08 16:31:21 +01:00
document-scrollingElement-quirks-mode.html LibWeb: Implement document.scrollingElement 2024-02-15 22:51:15 -05:00
document-scrollingElement.html LibWeb: Implement document.scrollingElement 2024-02-15 22:51:15 -05:00
DOMTokenList-supports.html LibWeb: Flesh out DOMTokenList::supports() implementation 2024-05-16 20:31:23 +02:00
element-get-bounding-client-rect-css-transform.html LibWeb: Apply transform origin in Element::get_client_rects() 2024-03-07 00:28:29 +01:00
element-get-bounding-client-rect-scroll-offset.html LibWeb: Account for scroll offset in Element::get_client_rects() 2024-03-17 13:32:04 +01:00
element-get-client-rects.html LibWeb: Follow the spec more precisely in Element::getClientRects() 2024-01-30 14:50:25 +01:00
Element-offsetParent-of-iframe.html LibWeb: Don't crash in offset_parent() if no ancestor element found 2024-02-29 21:54:53 -05:00
element-scroll-event.html LibWeb: Fire "scroll" events on DOM elements 2024-04-23 11:00:35 +02:00
element-scrollby-event.html LibWeb: Implement Element::scroll(HTML::ScrollToOptions) 2024-05-07 17:21:52 -06:00
Element-scrollby-negative-scroll-offset-crash.html LibWeb: Clamp paintable box maximum scroll offset to 0 2024-07-22 09:13:25 +02:00
Element-toggleAttribute-invalid-name.html LibWeb/DOM: Check if name is valid in Element.toggleAttribute 2024-07-25 06:46:28 +02:00
failed-img-should-not-delay-load-event-forever.html LibWeb: Fire the fail callback on SharedImageRequest when they fail 2023-08-28 10:19:46 +02:00
favicon-in-inactive-document.html LibWeb: Skip HTMLLinkElement resource fetching for documents without BC 2024-04-25 09:31:01 +02:00
fieldset-elements.html LibWeb: Add fieldset elements property 2023-12-10 08:07:41 -05:00
focus-contenteditable.html LibWeb: Allow HTMLElement with contenteditable=true to be focusable 2024-02-24 00:19:55 +01:00
focus-events.html LibWeb: Emit "focusin" and "focusout" events 2024-02-25 10:17:25 +01:00
form-method-dialog.html Tests/LibWeb: Verify dialog return value is correct in dialog test 2024-02-16 17:21:48 -05:00
form-requestSubmit.html LibWeb: Implement HTMLFormElement.requestSubmit() 2024-02-16 17:21:48 -05:00
get-bounding-client-rect-display-none.html LibWeb: Add null check for get_client_rects() on non paintable elements 2024-04-24 18:04:28 +02:00
get-bounding-client-rect.html LibWeb: Prevent calling test() twice 2023-12-22 16:49:06 +01:00
global-performance-property.html LibWeb: Handle scenario when Window property setter is called on global 2024-02-25 12:55:30 +01:00
html-form-controls-collection.html LibWeb: Support RadioNodeList named items in HTMLFormControlsCollection 2023-12-23 20:53:11 +01:00
html-parser-text-in-table-hoisting.html LibWeb: Make HTML parser flush all pending tokens in "in table text" 2023-07-03 11:50:58 +02:00
HTMLLinkElement-disabled.html LibWeb: Unset stylesheet properties when removing from a StyleSheetList 2024-04-16 07:41:33 +02:00
HTMLLinkElement-explicitly-enabled-alternative-stylesheets.html LibWeb: Support loading alternative style sheets 2024-04-17 07:12:44 +02:00
idl-handling-of-null-attribute.html LibWeb: Support [Reflect] on IDL String attributes that may return null 2023-09-05 20:36:09 -04:00
iframe-load-event-for-xml-src.html Tests/LibWeb: Add a test for iframe load event when src has xml type 2024-04-18 08:10:05 +00:00
include.js LibWeb: Add some async/animation test utilities 2024-03-30 19:26:58 +01:00
input-blur.html LibWeb: Focus the document element when unfocusing an element 2023-12-04 01:33:57 +01:00
input-click-to-unfocus.html LibWeb: Run the unfocusing steps when a click does not focus anything 2023-12-04 01:33:57 +01:00
input-commit-on-unfocus.html LibWeb: Fire a change event on input elements in the focus update steps 2023-12-04 01:33:57 +01:00
input-commit.html LibWeb: Fire the change event synchronously when committing changes 2023-12-04 01:33:57 +01:00
input-date.html LibWeb: Add input element valueAsDate property 2024-01-06 09:59:30 -07:00
input-element-file-value.html LibWeb: Fix empty value attribute for 'file' input returning fakepath 2023-08-26 13:51:18 +02:00
input-file-accept.html Ladybird+LibWeb+WebContent: Parse the <input type=file> accept attribute 2024-03-16 08:42:33 +01:00
input-file.html LibWeb: Set the MIME type when creating an <input> element's File list 2024-03-14 10:10:33 +01:00
input-image.html LibWeb: Begin implementing the HTMLInputElement 'image' type state 2024-02-19 11:07:30 +01:00
input-maxlength.html LibWeb: Add input and textarea minlength and maxlength support 2024-03-03 10:02:30 -05:00
input-number.html LibWeb: Add input stepUp and stepDown functions 2023-12-07 16:46:28 -05:00
input-readonly.html LibWeb: Add textarea readonly support 2024-02-27 18:03:20 -05:00
input-value.html LibWeb: Fully implement the HTMLInputElement value setter and getter 2024-02-18 18:44:45 +01:00
internals.html LibWeb: Add a simple internals objects only available during testing 2023-08-06 15:26:34 +02:00
interpolation-longhand-properties.html LibWeb: Begin adding a longhand properties test 2024-03-03 19:50:25 +01:00
invalid-transform-interpolation-does-not-crash.html LibWeb: Prevent transform interpolations from failing 2024-03-06 07:45:56 +01:00
link-element-media-attribute.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
link-element-onload-attribute.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
link-element-rel-preload-load-event.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
link-element-search.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
link_as.html LibWeb: Added HTMLLinkElement.as Tests 2024-06-13 07:58:11 +02:00
module-script-in-head.html LibWeb/Tests: Add test for a <script type=module> inside <head> 2023-10-31 18:09:14 +01:00
namespace-object-prototype.html IDLGenerators: Set namespace object prototype to Object.prototype 2024-04-26 20:02:42 +02:00
no-window-resize-on-load.html LibWeb: Don't fire resize event until document actually resizes once 2024-07-10 10:27:31 +02:00
object-with-unsupported-type-in-data-attribute.html LibWeb: Run <object> fallback steps if data type is not supported 2024-04-16 13:47:38 +02:00
output-value.html LibWeb: Add output element value 2023-12-09 21:50:17 +01:00
overflow-with-zero-sized-box.html LibWeb: Avoid division by zero when calculating scrollbar rect 2024-03-17 12:54:02 +01:00
parse-document-from-string-in-fetch-callback.html LibWeb: Add test when networking task is interrupted by networking task 2024-04-13 12:07:33 +02:00
ProcessingInstruction-cloneNode.html LibWeb/Tests: Port two DOM cloneNode() test cases to text tests 2023-08-21 13:51:12 +02:00
radio-node-list.html LibWeb: Implement value attribute of RadioNodeList 2023-08-26 13:51:18 +02:00
request-animation-frame-order.html LibWeb: Make request-animation-frame-order test async 2024-03-30 19:26:58 +01:00
resize-scrollable-box.html LibWeb: Clamp scroll offset into valid range after relayout 2024-02-22 07:35:30 +01:00
resolve-css-overflow-effective-value.html LibWeb: Resolve effective overflow-x and overflow-y according to spec 2024-02-06 08:39:06 +01:00
sameobject-behavior-for-htmlcollection-properties.html LibWeb/Tests: Port HTMLCollection [[SameObject]] test to a text test 2023-08-21 13:51:12 +02:00
script-src-set-after-insertion.html LibWeb: Prepare script when src is set the first time 2024-07-09 20:30:27 +01:00
script-src-set-after-insertion.js LibWeb: Prepare script when src is set the first time 2024-07-09 20:30:27 +01:00
scripted-dom-insertion-during-html-parse.html LibWeb+WebContent+headless-browser: Support async text tests 2023-09-15 08:52:25 +02:00
scroll-into-view-center.html LibWeb: Implement scrollIntoView with 'center' block position 2024-05-19 07:22:17 +02:00
scroll-into-view-end.html LibWeb: Fix not working Element::scroll_an_element_into_view() 2023-12-19 10:45:07 +01:00
scroll-into-view-start.html LibWeb: Fix not working Element::scroll_an_element_into_view() 2023-12-19 10:45:07 +01:00
scroll-left-and-top-on-colgroup.html LibWeb: Return a scroll offset of 0 for colgroup elements 2023-11-23 13:06:48 +01:00
scroll-to-fragment.html LibWeb: Scroll to the "start" in Document::scroll_to_fragment() 2023-12-19 20:59:52 +01:00
scroll-window-using-wheel-event.html LibWeb: Ignore mousewheel events in ViewportPaintable 2024-04-18 12:27:24 +02:00
select-options-limit.html LibWeb: Add support for indexed setter of HTMLOptionsCollection 2024-07-16 10:59:59 +01:00
select.html LibWeb: Add select selected options collection getter 2024-04-09 09:23:57 +02:00
Selection-setBaseAndExtent-without-common-root.html LibWeb: Don't try to set selection with anchor/focus in different roots 2024-07-20 06:41:25 +02:00
selectionchange-event.html LibWeb: Emit "selectionchange" event on document 2024-02-25 10:17:25 +01:00
set-selection-inside-shadow-root.html LibWeb: Update Range::set_base_and_extent() to the latest spec text 2024-07-04 14:38:56 +02:00
set-timeout-with-no-active-script.html LibWeb: Fix setTimeout() when there's no active script 2023-09-15 08:53:21 +02:00
setInterval.html Tests/LibWeb: Add basic tests for setTimeout and setInterval 2023-09-26 19:42:59 +02:00
setTimeout.html Tests/LibWeb: Add basic tests for setTimeout and setInterval 2023-09-26 19:42:59 +02:00
setting-display-none-should-nuke-subtree.html LibWeb: Detach stale layout nodes from DOM during layout tree build 2023-08-01 09:19:41 +02:00
shadow-root-adopted-style-sheets.html LibWeb: Apply shadow root style sheets in StyleComputer 2024-03-09 16:13:32 +01:00
shadow-root-style-sheets.html LibWeb: Add style sheets to the shadow root if applicable 2024-03-09 16:13:32 +01:00
show-non-modal-dialog.html LibWeb: Implement HTMLDialogElement::show() 2024-02-14 22:20:44 -05:00
table-cell-without-table-ancestor.html LibWeb: Don't assume HTMLTableCellElement always has table ancestor 2024-03-11 18:29:10 +01:00
textarea-maxlength.html LibWeb: Add input and textarea minlength and maxlength support 2024-03-03 10:02:30 -05:00
textarea-readonly.html LibWeb: Add textarea readonly support 2024-02-27 18:03:20 -05:00
textarea-selection-start-selection-end.html LibWeb: Partially implement <textarea>'s selectionStart and selectionEnd 2024-03-16 13:11:57 +01:00
textarea-value.html LibWeb: Use the <textarea>'s API value, not its raw value, where needed 2024-03-16 13:11:57 +01:00
title-with-meta-title.html LibWeb: Implement Document's supported property names closer to the spec 2024-03-29 08:52:01 -04:00
title.html LibWeb/HTML: Implement text attribute in HTMLTitleElement 2023-12-02 10:35:43 +01:00
unclosed-body-element.html LibWeb: Use an infallible method to add attributes to nodes 2024-07-30 09:41:35 +02:00
unclosed-html-element.html LibWeb: Append attributes to the correct element 2024-07-30 09:41:35 +02:00
url-search-params-iterator-iterator.html LibWeb: Don't override prototype on generated iterator prototypes 2023-06-08 10:05:56 +02:00
valid.css LibWeb: Fire "load" and "error" events for rel=preload link loads 2023-06-06 09:06:27 +02:00
video-canceled-load.html LibWeb: Track fetching-related tasks in FetchController for cancellation 2024-03-23 13:45:35 +01:00
video-failed-load.html LibWeb: Correctly categorize Fetch responses as network errors 2024-01-18 23:10:56 +01:00
video-gc.html LibWeb: Stop the video decoder thread when the video element is GC'd 2024-04-26 09:49:11 +02:00
wheel-events-consumed-by-scrollable-should-not-be-propagated-to-body-2.html LibWeb: Skip page scrolling for wheel events consumed by scrollable box 2024-03-17 09:33:16 +01:00
wheel-events-consumed-by-scrollable-should-not-be-propagated-to-body.html LibWeb: Skip page scrolling for wheel events consumed by scrollable box 2024-02-29 13:18:57 +01:00
window-event-property-setter.html LibWeb: Add special handling for WindowProxy in [Replaceable] setters 2024-02-24 08:05:55 +01:00
window-proxy-numeric-own-property.html LibWeb: Implement basic support for window[number] 2023-07-25 15:45:44 +02:00
window-proxy-property-inline-cache.html LibWeb: Don't cache property accesses on WindowProxy 2023-07-11 00:14:50 +02:00
window-scroll-while-parsing.html LibWeb: Update layout before looking at overflow in window.scroll() 2024-01-19 09:16:54 +01:00
window-scrollTo.html LibWeb: Limit scroll position by overflow area in Window::scroll() 2023-12-24 23:22:35 +01:00