bors-servo
c44c6e8c11
Auto merge of #29646 - CYBAI:fix-classname-filter, r=jdm
...
Fix checking for empty set in getElementsByClassName
Because empty set with `.all(predicate)` will always return `true`, it will result in always filtering wrong elements when the classes is empty set.
Thus, we return earlier with `always_empty` HTMLCollection in the empty classes case so that we can avoid filtering on empty sets.
With adding the checking, we can fix the failures in `/dom/nodes/getElementsByClassName-empty-set.html`.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
- [x] There are tests for these changes
2023-04-24 07:55:25 +02:00
bors-servo
0b888c8644
Auto merge of #29644 - mrobinson:rename-establishes-containing-block, r=delan
...
Rename `ComputedValuesExt::establishes_containing_block`
This renames the helper method to be a bit more accurate. For elements with static, relative, and sticky positioning, their containing block is always formed by their nearest block container ancestor. This method is really dealing with style that means an element will establish a containing block for absolutely positioned descendants.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they do not change behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-04-23 20:25:01 +02:00
cybai
c77e4e4e69
Fix checking for empty set for getElementsByClassName
...
Because empty set with `.all(predicate)` will always return `true`, it
will result in always filtering wrong elements when the classes is empty
set.
Thus, we return earlier with `always_empty` HTMLCollection in the mpety
classes case so that we can avoid filtering on empty sets.
2023-04-21 15:21:53 +09:00
cybai
0f65bbd296
Throw HierarchyRequest error for Attr in pre-insert and replacechild
2023-04-21 15:07:22 +09:00
Martin Robinson
db194e74ad
Rename ComputedValuesExt::establishes_containing_block
...
This renames the helper method to be a bit more accurate. For elements
with static, relative, and sticky positioning, their containing block is
always formed by their nearest block container ancestor. This method is
really dealing with style that means an element will establish a
containing block for absolutely positioned descendants.
2023-04-20 11:49:28 +02:00
bors-servo
766917ef4f
Auto merge of #29631 - mrobinson:correct-positioned-block-axis-calculation, r=mrego
...
Fix calculation of block axis for abspos elements in Layout 2020
The calculation of the block axis positioning of absolutely positioned elements was using the inline size of the containing block instead of the block size.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-04-14 16:33:49 +02:00
Martin Robinson
c23f05583b
Fix calculation of block axis for abspos elements
...
The calculation of the block axis positioning of absolutely positioned
elements was using the inline size of the containing block instead of
the block size.
2023-04-14 11:17:26 +02:00
bors-servo
4251159513
Auto merge of #29627 - CYBAI:respect-headers-ct, r=mukilan
...
Respect MIME type from headers instead of caching it
Based on the spec,
> A [Request](https://fetch.spec.whatwg.org/#request ) object’s [MIME type](https://fetch.spec.whatwg.org/#concept-body-mime-type ) is to return the result of [extracting a MIME type](https://fetch.spec.whatwg.org/#concept-header-extract-mime-type ) from its [request](https://fetch.spec.whatwg.org/#concept-request-request )’s [header list](https://fetch.spec.whatwg.org/#concept-request-header-list ).
request and response should always return the MIME type from their header list. As we're currently caching the mime type directly, this PR will help to remove the caching field and always retrieve from headers instead.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
- [x] There are tests for these changes
2023-04-14 07:51:58 +02:00
cybai
c4882aab7e
Update steps comment to match latest (2023-04-14) spec
2023-04-14 14:32:28 +09:00
cybai
445c90e5c5
Respect MIME type from headers instead of caching it
2023-04-13 00:31:49 +09:00
Delan Azabani
73dcce12b6
Handle min/max sizes in non-replaced positioned boxes
2023-04-12 15:38:52 +08:00
Yutaro Ohno
f7449da485
Remove unnecessary steps from "multipart/form-data encoding algorithm"
...
The specifications for the "multipart/form-data encoding algorithm" has
changed [1], and the "_charset_" is not now handled here.
Remove no longer necessary steps from the "multipart/form-data encoding
algorithm".
Similar to the "text/plain encoding algorithm" case fixed by f0818aa3
(Remove unnecessary steps from "text/plain encoding algorithm").
[1]: https://github.com/whatwg/html/pull/3645
Signed-off-by: Yutaro Ohno <yutaro.ono.418@gmail.com>
2023-04-07 00:43:00 +09:00
Yutaro Ohno
f0818aa383
Remove unnecessary steps from "text/plain encoding algorithm"
...
For "text/plain encoding algorithm", the specification [1] has changed
[2] and "_charset_" is not now handled here. It's supposed to be handled
in "construct the form data set" algorithm, and we've already
implemented that [3]. So we now have extra steps for "text/plain
encoding" algorithm.
Remove no longer necessary steps from text/plain encoding algorithm so
that it meets the specification.
[1]: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#text/plain-encoding-algorithm
[2]: https://github.com/whatwg/html/pull/3645
[3]: https://github.com/servo/servo/pull/25217
Signed-off-by: Yutaro Ohno <yutaro.ono.418@gmail.com>
2023-04-05 20:02:31 +09:00
Martin Robinson
9e0b41ebc4
Add support for <iframe> elements for Layout 2020
...
This change adds support for the <iframe> element to Layout 2020. In
addition, certain aspects of the implementation are made the same
between both layout systems.
2023-04-04 17:49:24 +02:00
Yutaro Ohno
239776a270
Implement URL.canParse
...
Add an implementation of `URL.canParse` as a static method. See
[here][1] for the specification.
[1]: https://url.spec.whatwg.org/#dom-url-canparse
Signed-off-by: Yutaro Ohno <yutaro.ono.418@gmail.com>
2023-04-02 19:36:42 +09:00
Alex Touchet
8bdd322fae
Update user agent strings
2023-03-30 23:18:53 -07:00
bors-servo
e0f87cbba2
Auto merge of #29396 - delan:window-getter, r=jdm
...
HTML #named-access-on-the-window-object
This patch implements [named access on the window object](https://html.spec.whatwg.org/#named-access-on-the-window-object ) based on @pylbrecht’s and @yvt’s previous work (see also #27952 , #25562 , #21869 , #19904 ).
That work makes 130 tests pass, and I’ve made some additional changes to make [the test for the feature itself](https://wpt.live/webidl/ecmascript-binding/window-named-properties-object.html ) pass too, but I haven’t worked with mozjs before, so I have no idea if I’ve gone about my changes the Right Way.
In particular, this patch:
* [x] applies @pylbrecht’s patch (#27952 )
* [x] resolves conflicts related to #29079 and #28546 (5ae0ca48f8a74e4bae04f8bc9e50252a05e4c1e1)
* [x] applies @yvt’s patch to the segfault in getPrototypeIfOrdinary (1e24ffdec6e91784b76a8f02bda26e8de0420c94)
* [x] reverts the change introducing Untransplantable (76dc35a2b4ddd39f588b6c0b4e9bd46346888606), since #28534 was abandoned in favour of #28536
* [x] triages the unexpected WPT results, updating expectations as needed (see below)
* [x] fixes the failures in /webidl/ecmascript-binding/window-named-properties-object.html (3844f69ea9b591b766fee3537f640e7aae05bb11)
* [x] fixes the failures in the [[GetOwnProperty]] subtest (75c24e9c134c531f8fc893a185683ea2e609a47e)
* [x] fixes the failures in the [[DefineOwnProperty]] subtest (e4e7a14e514db75c3d6694fb1aaeb24d04c9ae81)
* [x] fixes the failures in the [[HasProperty]] subtest (75c24e9c134c531f8fc893a185683ea2e609a47e)
* [x] fixes the failures in the [[Get]] subtest (4bafb273d0d1d57589cede88ba2696b0e42920a9)
* [x] fixes the failures in the [[Set]] (direct) subtest (e4e7a14e514db75c3d6694fb1aaeb24d04c9ae81)
* [x] fixes the failures in the [[Delete]] subtest (4bafb273d0d1d57589cede88ba2696b0e42920a9)
* [x] fixes the failures in the [[OwnPropertyKeys]] subtest (afcd24a2973557509438833b8fe06a24377710f1)
* [x] resolves the todos and fixmes
* [x] Document: handle exposed objects ×3 (ed3e37bb22276031e0423dfa8005bc79ab673913)
* [x] Window::NamedGetter: document.get_elements_with_id() (618ef5744645bb14405d95177bf49aa3b98439dc)
* [x] get_own_property_descriptor: check for interactions with indexed access (b906faee59aa15f716662c223fc61758c4053299)
* [x] create trap: pass proper classp (618ef5744645bb14405d95177bf49aa3b98439dc)
<details><summary>131× tests that now pass</summary>
* **/webidl/ecmascript-binding/window-named-properties-object.html**
*directly relevant to this patch*
* **/FileAPI/Blob-methods-from-detached-frame.html**
done #29450 #29451
* **/cors/script-304.html**
* **/css/CSS2/abspos/adjacent-to-relpos-inline-in-inline-that-had-block.html**
* **/css/CSS2/abspos/adjacent-to-relpos-inline-that-had-block.html**
* **/css/CSS2/floats-clear/remove-block-before-self-collapsing-sibling-with-clearance.html**
* **/css/CSS2/floats/computed-float-position-absolute.html**
* **/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html**
* **/css/CSS2/normal-flow/block-in-inline-insert-018.html**
* **/css/CSS2/normal-flow/margin-collapse-through-percentage-padding.html**
* **/css/CSS2/positioning/abspos-change-in-inline-block.html**
* **/css/CSS2/positioning/abspos-width-change-inline-container-001.html**
* **/css/CSS2/positioning/detach-abspos-before-layout.html**
* **/css/CSS2/positioning/relpos-percentage-left-in-scrollable-2.html**
* **/css/CSS2/positioning/relpos-percentage-left-in-scrollable.html**
* **/css/CSS2/stacking-context/composite-change-after-scroll-preserves-stacking-order.html**
* **/css/CSS2/stacking-context/opacity-change-parent-stacking-context.html**
* **/css/CSS2/stacking-context/opacity-change-twice-stacking-context.html**
* **/css/CSS2/stacking-context/opacity-transition-change-parent-stacking-context.html**
* **/css/css-animations/animation-base-response-002.html**
* **/css/css-animations/style-animation-parsing.html**
* **/css/css-backgrounds/background-clip-color-repaint.html**
* **/css/css-backgrounds/background-image-gradient-currentcolor-conic-repaint.html**
* **/css/css-backgrounds/background-image-gradient-currentcolor-linear-repaint.html**
* **/css/css-backgrounds/background-image-gradient-currentcolor-radial-repaint.html**
* **/css/css-backgrounds/background-image-none-gradient-repaint.html**
* **/css/css-backgrounds/border-radius-dynamic-from-no-radius.html**
* **/css/css-backgrounds/child-move-reveals-parent-background.html**
* **/css/css-color/filters-under-will-change-opacity.html**
* **/css/css-flexbox/anonymous-flex-item-001.html**
* **/css/css-flexbox/anonymous-flex-item-003.html**
* **/css/css-flexbox/dynamic-bsize-change.html**
* **/css/css-flexbox/flex-aspect-ratio-img-row-016.html**
* **/css/cssom/at-namespace.html**
* **/css/cssom/computed-style-002.html**
* **/css/cssom/getComputedStyle-display-none-002.html**
* **/css/cssom/getComputedStyle-display-none-003.html**
* **/css/cssom/preferred-stylesheet-reversed-order.html**
* **/css/cssom-view/HTMLImageElement-x-and-y-ignore-transforms.html**
* **/css/cssom-view/pt-to-px-width.html**
* **/css/cssom-view/scroll-back-to-initial-position.html**
* **/css/css-text-decor/text-decoration-color-recalc-002.html**
* **/css/css-text-decor/text-decoration-line-grammar-error-color-dynamic-001.optional.html**
* **/css/css-text-decor/text-decoration-line-spelling-error-color-dynamic-001.optional.html**
* **/css/css-text/text-indent/percentage-value-intrinsic-size.html**
* **/css/css-text/white-space/display-contents-remove-whitespace-change.html**
* **/css/css-text/white-space/white-space-empty-text-sibling.html**
* **/css/css-transforms/change-perspective-property.html**
* **/css/css-transforms/change-scale-wide-range.html**
* **/css/css-transforms/change-transform-origin-property.html**
* **/css/css-transforms/dynamic-fixed-pos-cb-change.html**
* **/css/css-transforms/individual-transform/change-rotate-property.html**
* **/css/css-transforms/individual-transform/change-scale-property.html**
* **/css/css-transforms/paint-order-with-transform-change.html**
* **/css/css-transforms/size-change-under-backface-visibility-hidden.html**
* **/css/css-transforms/subpixel-transform-changes-001.html**
* **/css/css-transforms/subpixel-transform-changes-002.html**
* **/css/css-transforms/subpixel-transform-changes-003.html**
* **/css/css-transforms/subpixel-transform-changes-004.html**
* **/css/css-transitions/transition-reparented.html**
* **/css/css-ui/historical/moz-user-modify-01.html**
* **/css/css-ui/historical/user-modify-01.html**
* **/css/css-ui/historical/webkit-user-modify-01.html**
* **/css/css-ui/resize-change-margin.html**
* **/css/css-ui/text-overflow-change-color.html**
* **/css/css-ui/text-overflow-ellipsis-width-001.html**
* **/css/css-values/animations/line-height-lh-transition.html**
* **/css/css-values/calc-nesting.html**
* **/css/css-values/update-subpixel-rem-unit.html**
* **/css/css-values/viewport-units-modify.html**
* **/css/css-variables/css-variable-change-style-001.html**
* **/css/css-variables/css-variable-change-style-002.html**
* **/css/css-variables/variable-cycles.html**
* **/css/selectors/attribute-selectors/style-attribute-selector.html**
* **/css/selectors/i18n/lang-pseudo-class-disconnected.html**
* **/css/selectors/invalidation/attribute.html**
* **/css/selectors/invalidation/class-id-attr.html**
* **/css/selectors/invalidation/defined.html**
* **/css/selectors/invalidation/sheet-going-away-001.html**
* **/css/selectors/invalidation/sibling.html**
* **/css/selectors/missing-right-token.html**
* **/css/selectors/not-complex.html**
* **/css/selectors/not-specificity.html**
* **/css/selectors/nth-of-type-namespace.html**
* **/css/selectors/selectors-case-sensitive-001.html**
* **/css/selectors/visited-inheritance.html**
* **/custom-elements/CustomElementRegistry-constructor-and-callbacks-are-held-strongly.html**
* **/dom/events/event-global-is-still-set-when-coercing-beforeunload-result.html**
* **/dom/nodes/remove-and-adopt-thcrash.html**
* **/html/browsers/browsing-the-web/history-traversal/history-traversal-navigate-parent-while-child-loading.html**
* **/html/browsers/history/the-history-interface/history_back_cross_realm_method.html**
* **/html/browsers/history/the-history-interface/history_forward_cross_realm_method.html**
* **/html/browsers/history/the-history-interface/history_go_cross_realm_method.html**
* **/html/browsers/the-window-object/named-access-on-the-window-object/window-named-properties.html**
* **/html/dom/elements/images/bypass-cache-revalidation.html**
* **/html/rendering/non-replaced-elements/tables/table-ua-stylesheet.html**
* **/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-alt-crash-001.html**
* **/html/rendering/replaced-elements/embedded-content/change-src-while-not-displayed.html**
* **/html/rendering/replaced-elements/embedded-content/cross-domain-iframe-in-multicol.sub.html**
* **/html/rendering/replaced-elements/embedded-content/cross-domain-iframe.sub.html**
* **/html/rendering/replaced-elements/embedded-content/tall-cross-domain-iframe-in-scrolled.sub.html**
* **/html/rendering/widgets/the-select-element/select-invalidation.html**
* **/html/semantics/document-metadata/the-base-element/base_target_does_not_affect_iframe_src_navigation.html**
* **/html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html**
* **/html/semantics/embedded-content/the-embed-element/embed-document-under-content-visibility-focus.html**
* **/html/semantics/embedded-content/the-embed-element/embed-document-under-content-visibility-gbcr.html**
* **/html/semantics/embedded-content/the-iframe-element/iframe-network-error.sub.html**
* **/html/semantics/embedded-content/the-iframe-element/srcdoc-anchor.html**
* **/html/semantics/embedded-content/the-iframe-element/srcdoc-attribute-reset.html**
* **/html/semantics/embedded-content/the-img-element/image-compositing-change.html**
* **/html/semantics/embedded-content/the-img-element/image-compositing-large-scale-change.html**
* **/html/semantics/embedded-content/the-img-element/image-loading-lazy-clip-path.html**
* **/html/semantics/embedded-content/the-img-element/image-loading-lazy-zero-intersection-area.html**
* **/html/semantics/embedded-content/the-img-element/image-loading-subpixel-clip.html**
* **/html/semantics/forms/form-submission-0/form-double-submit-to-different-origin-frame.html**
* **/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html**
* **/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html**
* **/html/semantics/forms/the-button-element/button-willvalidate-readonly-attribute.html**
* **/html/semantics/forms/the-input-element/datetime-local-trailing-zeros.html**
* **/html/semantics/forms/the-input-element/radio-morphed.html**
* **/html/semantics/forms/the-progress-element/progress.html**
* **/html/semantics/forms/the-select-element/select-willvalidate-readonly-attribute.html**
* **/html/semantics/selectors/pseudo-classes/placeholder-shown-type-change.html**
* **/html/syntax/serializing-html-fragments/initial-linefeed-pre.html**
* **/html/webappapis/scripting/events/event-handler-processing-algorithm-error/frameset-element-synthetic-errorevent.html**
* **/html/webappapis/scripting/events/event-handler-processing-algorithm-error/frameset-element-synthetic-event.html**
* **/quirks/unitless-length/excluded-properties-001.html**
* **/quirks/unitless-length/excluded-properties-003.html**
* **/selection/caret/empty-elements.html**
* **/selection/contenteditable/cefalse-on-boundaries.html**
* **/selection/textcontrols/onselectionchange-content-attribute.html**
</details>
<details><summary>94× tests that improve but still fail in a way that’s clearly the subject of the test</summary>
* **/css/css-animations/animation-base-response-001.html**
* **/css/css-backgrounds/background-image-gradient-currentcolor-visited.html**
* **/css/css-backgrounds/inheritance.sub.html**
* **/css/css-backgrounds/local-attachment-content-box-scroll.html**
* **/css/css-color/canvas-change-opacity.html**
* **/css/css-color/color-initial-canvastext.html**
* **/css/css-flexbox/flex-aspect-ratio-img-column-010.html**
* **/css/css-flexbox/flex-aspect-ratio-img-row-004.html**
* **/css/css-fonts/parsing/font-face-src-format.html**
getter works but insertRule does nothing
* **/css/css-fonts/parsing/font-face-src-list.html**
as above
* **/css/css-fonts/parsing/font-face-src-local.html**
as above, but also delayed length change?
* **/css/css-fonts/parsing/font-face-src-tech.html**
as above
* **/css/css-text/white-space/trailing-space-before-br-001.html**
* **/css/css-transforms/3d-rendering-context-behavior.html**
failures are subject of test, but also blank page?
* **/css/css-transforms/individual-transform/change-translate-property.html**
* **/css/css-transforms/preserve-3d-flat-grouping-properties.html**
* **/css/css-transforms/transforms-support-calc.html**
* **/css/css-transitions/inherit-height-transition.html**
* **/css/css-ui/inheritance.html**
* **/css/css-ui/parsing/outline-width-computed.html**
failures are subject of test; https://drafts.csswg.org/css-values-4/#snap-a-length-as-a-border-width
* **/css/css-values/lh-unit-003.html**
* **/css/css-values/viewport-units-compute.html**
* **/css/css-values/viewport-units-keyframes.html**
* **/css/css-values/viewport-units-media-queries.html**
* **/css/css-values/viewport-units-writing-mode.html**
* **/css/cssom-view/elementsFromPoint-table.html**
* **/css/cssom-view/scroll-behavior-default-css.html**
* **/css/cssom-view/scroll-behavior-element.html**
* **/css/cssom-view/scroll-behavior-main-frame-root.html**
* **/css/cssom-view/scroll-behavior-main-frame-window.html**
* **/css/cssom-view/scroll-behavior-smooth-navigation.html**
* **/css/cssom-view/scroll-behavior-subframe-root.html**
* **/css/cssom/computed-style-003.html**
* **/css/cssom/computed-style-004.html**
* **/css/cssom/font-variant-shorthand-serialization.html**
* **/css/selectors/dir-selector-auto.html**
* **/css/selectors/has-argument-with-explicit-scope.html**
* **/css/selectors/has-basic.html**
* **/css/selectors/has-relative-argument.html**
* **/css/selectors/invalidation/attribute-or-elemental-selectors-in-has.html**
* **/css/selectors/invalidation/child-indexed-pseudo-classes-in-has.html**
* **/css/selectors/invalidation/dir-pseudo-class-in-has.html**
* **/css/selectors/invalidation/empty-pseudo-in-has.html**
* **/css/selectors/invalidation/has-in-adjacent-position.html**
* **/css/selectors/invalidation/has-in-ancestor-position.html**
* **/css/selectors/invalidation/has-in-parent-position.html**
* **/css/selectors/invalidation/has-in-sibling-position.html**
* **/css/selectors/invalidation/has-invalidation-after-removing-non-first-element.html**
* **/css/selectors/invalidation/has-invalidation-for-wiping-an-element.html**
* **/css/selectors/invalidation/has-sibling.html**
* **/css/selectors/invalidation/has-with-not.html**
* **/css/selectors/invalidation/has-with-pseudo-class.html**
* **/css/selectors/invalidation/input-pseudo-classes-in-has.html**
* **/css/selectors/invalidation/is-pseudo-containing-complex-in-has.html**
* **/css/selectors/invalidation/lang-pseudo-class-in-has.html**
* **/css/selectors/invalidation/not-pseudo-containing-complex-in-has.html**
* **/css/selectors/invalidation/typed-child-indexed-pseudo-classes-in-has.html**
* **/css/selectors/is-where-basic.html**
* **/css/selectors/is-where-not.html**
* **/html/rendering/non-replaced-elements/tables/form-in-tables.html**
* /html/rendering/replaced-elements/embedded-content-rendering-rules/canvas-update-
* **/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-attribute-changes.html**
* **/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-normal-descendant-change.html**
* **/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-remove.html**
* **/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow-aspect-ratio.html**
* **/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html**
* **/html/semantics/interactive-elements/the-dialog-element/inertness-with-modal-dialogs-and-iframes.html**
* **/html/semantics/popovers/popover-stacking.html**
* **/referrer-policy/generic/inheritance/popup-inheritance-form-submission.html**
* **/resource-timing/resource-reload-TAO.html**
* **/selection/bidi/modify.tentative.html**
* **/selection/contenteditable/modify.tentative.html**
* **/selection/textcontrols/selectionchange.html**
* **/css/CSS2/normal-flow/block-in-inline-client-rects-001.html**
* **/css/CSS2/positioning/relpos-percentage-top-in-scrollable.html**
* **/css/css-animations/computed-style-animation-parsing.html**
* **/css/css-variables/variables-substitute-guaranteed-invalid.html**
* **/css/cssom-view/elementsFromPoint-simple.html**
* **/css/cssom/CSSStyleSheet-modify-after-removal.html**
* **/css/cssom/getComputedStyle-display-none-001.html**
* **/css/selectors/focus-visible-script-focus-001.html**
* **/css/selectors/has-specificity.html**
* **/css/selectors/invalidation/is.html**
* **/css/selectors/invalidation/not-002.html**
* **/dom/events/EventListener-handleEvent-cross-realm.html**
* **/dom/traversal/TreeWalker-acceptNode-filter-cross-realm.html**
* **/html/browsers/the-window-object/window-properties.https.html**
* **/html/browsers/the-window-object/window-prototype-chain.html**
* **/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html**
* **/html/dom/aria-element-reflection.html**
* **/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas-update-with-border-object-fit.html**
* **/html/semantics/forms/form-submission-0/form-double-submit-multiple-targets.html**
* **/html/semantics/forms/the-input-element/show-picker-cross-origin-iframe.html**
* **/html/webappapis/scripting/events/compile-event-handler-lexical-scopes-form-owner.html**
* **/quirks/unitless-length/excluded-properties-002.html**
</details>
<details><summary>22× tests with failures that looked interesting</summary>
* 1× CRASH [expected ...]
* **/css/css-fonts/crash-large-grapheme-cluster.html**
crash is subject of test
* 6× FAIL [expected PASS] /... (reftest)
* **/css/css-flexbox/anonymous-flex-item-005.html**
old pass was spurious
* **/css/css-flexbox/anonymous-flex-item-006.html**
old pass was spurious
* **/css/css-text-decor/text-decoration-line-recalc.html**
old pass was spurious; ‘text-decoration’ shorthand unimplemented
* **/css/css-ui/appearance-auto-non-html-namespace-001.html**
old pass was spurious
* **/html/canvas/element/drawing-text-to-the-canvas/direction-inherit-rtl.html**
old pass was spurious
* **/html/canvas/element/drawing-text-to-the-canvas/direction-rtl.html**
old pass was spurious
* 13× TIMEOUT [expected ...]
* **/css/css-fonts/font-size-monospace-adjust.html**
timeout is subject of test; reftest runner bug with 1e10s transition?
* **/css/cssom-view/background-change-during-smooth-scroll.html**
timeout is subject of test
* **/css/selectors/invalidation/has-complexity.html**
timeout is subject of test
* **/css/selectors/invalidation/media-loading-pseudo-classes-in-has.html**
timeout is subject of test; :has() unimplemented
* **/fetch/stale-while-revalidate/stale-image.html**
timeout is subject of test
* **/html/browsers/browsing-the-web/history-traversal/history-traversal-navigates-multiple-frames.html**
timeout is subject of test
* **/html/rendering/widgets/appearance/appearance-animation-001.html**
timeout is subject of test; reftest runner bug with 1e10s animation?
* **/html/rendering/widgets/appearance/appearance-animation-002.html**
timeout is subject of test; reftest runner bug with 1e10s animation?
* **/html/rendering/widgets/appearance/appearance-transition-001.html**
timeout is subject of test; reftest runner bug with 1e10s transition?
* **/html/rendering/widgets/appearance/appearance-transition-002.html**
timeout is subject of test; reftest runner bug with 1e10s transition?
* **/html/rendering/widgets/appearance/appearance-transition-003.html**
timeout is subject of test; reftest runner bug with 1e10s transition?
* **/resource-timing/opaque-origin.html**
timeout is subject of test
* **/selection/textcontrols/selectionchange-bubble.html**
timeout is subject of test
* **/webidl/ecmascript-binding/invalid-this-value-cross-realm.html**
‘HTMLDocument’ unimplemented
</details>
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27949 (GitHub issue number if applicable)
<!-- Either: -->
- [x] There are tests for these changes (including but not limited to web-platform-tests/wpt#39211 ) OR
- [ ] These changes do not require tests because ___
2023-03-28 18:31:41 +02:00
bors-servo
db50d1c60a
Auto merge of #29546 - mrobinson:fix-build-warnings, r=jdm
...
Fix some build warnings
Change a use of `extern crate` to be simply `use`, which is what the compiler suggests. In addition, with the change, one of the uses is redundant. In addition, remove two unused `use` statements.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they fix some warnings.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-03-28 05:48:18 +02:00
bors-servo
11559eb8f8
Auto merge of #29465 - 2shiori17:issue-29388, r=jdm
...
Implement Headers.prototype.getSetCookie
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29388
<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-03-28 04:10:37 +02:00
Martin Robinson
7fdf806874
Fix some build warnings
2023-03-27 14:58:44 +02:00
2shiori17
b7d0451d56
Fix concept-header-list-get-decode-split
2023-03-26 20:07:12 +09:00
2shiori17
b6e4e44ccf
Fix return value of concept-header-list-get to Option<Vec<u8>>
2023-03-26 19:57:39 +09:00
2shiori17
e4a4f60c53
Fix concept-headers-append
2023-03-26 00:54:04 +09:00
Delan Azabani
557ce73f5f
add spec issue as todo in [[OwnPropertyKeys]] trap
2023-03-23 19:15:20 +08:00
Delan Azabani
c831a136b2
clarify and test interactions with indexed access
2023-03-23 18:07:50 +08:00
Delan Azabani
fb2acb0b02
clarify todos about exposed objects
2023-03-23 18:07:46 +08:00
Delan Azabani
b1f78d8a3d
fix attrs in descriptor for @@toStringTag property
2023-03-23 18:07:44 +08:00
Delan Azabani
dd905d8434
clean up spurious changes and todos with no action needed
2023-03-23 18:07:39 +08:00
Delan Azabani
65da7b668b
clean up lints and tidy errors
2023-03-23 18:07:36 +08:00
Delan Azabani
9a8a5bdbf7
make ownPropertyKeys trap return @@toStringTag key
...
This fixes the failures in the “[[OwnPropertyKeys]]” subtest.
2023-03-23 18:07:11 +08:00
Delan Azabani
bbaacb7b2d
make getOwnPropertyDescriptor trap accept @@toStringTag key
...
This fixes the failures in the “[[Get]]” and “[[Delete]]” subtests.
2023-03-23 18:07:08 +08:00
Delan Azabani
33387eb75a
make getOwnPropertyDescriptor trap accept integer indices
...
Several /webidl/ecmascript-binding/window-named-properties-object.html
subtests, including the “[[GetOwnProperty]]” and “[[HasProperty]]”
subtests, expect iframe.contentWindow.Window.prototype[0] to return an
element with id “0”.
This commit makes the getOwnPropertyDescriptor trap accept property
keys that are integer indices, by converting them to a DOMString just
like we would for a property key that is a JSString.
2023-03-23 18:07:05 +08:00
Delan Azabani
9a3d6969c9
migrate use of deprecated RUST_JS_{IS,TO}_STRING
2023-03-23 18:07:02 +08:00
Delan Azabani
8814e4bb4f
fix failures in [[DefineOwnProperty]] subtest
...
Calling throw_type_error in the [[DefineOwnProperty]] trap (and
returning false) makes the internal method throw a TypeError, which
means both Object#defineProperty and Reflect#defineProperty will throw
a TypeError, but we actually want the latter to return false.
This commit makes the trap set ObjectOpResult to a TypeError (and
return true), making the internal method return false per the spec [1]
and in turn allowing Reflect#defineProperty to return false.
[1] https://webidl.spec.whatwg.org/#named-properties-object-defineownproperty
2023-03-23 18:06:58 +08:00
Delan Azabani
1f74d4c75b
revert: Introduce Untransplantable
trait to indicate transplantability at the type level
...
(8f7b0cff87f0eab921e13e6990d76e12935e8675)
2023-03-23 18:06:17 +08:00
Delan Azabani
4c7f198ee2
apply yvt/servo/fix-named-window-getter
2023-03-23 18:02:35 +08:00
Delan Azabani
fd1de05592
apply pylbrecht/servo/named.window.getter ( closes #27952 )
2023-03-23 18:01:26 +08:00
bors-servo
d5b910ee86
Auto merge of #29384 - sagudev:idl, r=jdm
...
Update WebIDL.py
Update WebIDL.py to latest version from mozilla-central.
There were two major changes:
- [Rename legacy extended attributes in webidls](55dac83d9a
) [bug 1631581](https://bugzilla.mozilla.org/show_bug.cgi?id=1631581 )
- [removal of ReadableStream from WebIDL](https://phabricator.services.mozilla.com/D143074 ), which was solved with porting reverted removal patch (2801cc82b0
)
WebIDL.Parser now has `use_builtin_readable_streams` field by default set to `true` (to use SM readable stream implementation), which could help with #29088 .
My try build: https://github.com/sagudev/servo/actions/runs/4216638911
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-03-22 02:23:01 +01:00
Martin Robinson
6851b489f5
Fix test-tidy for Layout 2020
...
It seems this wasn't caught by CI when landing the build fix yesterday.
2023-03-21 10:34:22 +01:00
2shiori17
80a140e82f
Add comments for concept-headers-append
2023-03-21 17:15:57 +09:00
Martin Robinson
d71d4b61bf
Fix the Layout 2020 build
2023-03-20 16:56:03 +01:00
2shiori17
74ecc2bd64
Remove net from dependencies
2023-03-20 22:12:50 +09:00
Martin Robinson
6d4b7e7a22
Move hit testing information out of WebRender
...
Store hit testing information in a data structure that sits alongside
the display list in the compositor. This will allow the compositor to
store more information per-node. The data structure also takes care of
de-duplicating information between successive display list entries. In
the future, the data structure can be even more aggressive in producing
smaller side hit testing lists, if necessary.
2023-03-15 12:25:29 +01:00
2shiori17
68472fabf8
Fix dom-headers-get
2023-03-11 20:15:14 +09:00
2shiori17
7d1d387f3d
Fix header ordering
2023-03-11 20:05:32 +09:00
2shiori17
b5b6225850
Fix concept-headers-append
2023-03-11 17:32:38 +09:00
Martin Robinson
05dda4026b
Move more code into ClipScrollState during WebRender DL building
...
This change moves a bit more code into the `ClipScrollState` helper
during WR display list building as well as inlines
build_common_item_properties. This is all in preparation of
modifications to this code which will build a Compositor-side scroll
tree. It should not change any behavior.
2023-03-10 15:58:46 +01:00
Martin Robinson
2440f71f9a
Fix the layout 2020 build after euclid upgrade
...
The euclid upgrade included some backward incompatible changes to the
API. This changes updates a few function calls that used the old names.
2023-03-07 12:20:01 +01:00
2shiori17
ee1f241231
Implement concept-header-list-sort-and-combine
2023-03-06 23:34:04 +09:00
2shiori17
4ee3f575f6
Implement Headers.prototype.getSetCookie
2023-03-05 11:35:46 +09:00