Skip to content

Detect body elements during layout#29699

Merged
bors-servo merged 1 commit intoservo:masterfrom
mrobinson:add-html-body-tag
May 4, 2023
Merged

Detect body elements during layout#29699
bors-servo merged 1 commit intoservo:masterfrom
mrobinson:add-html-body-tag

Conversation

@mrobinson
Copy link
Copy Markdown
Member

During layout it is often useful, for various specification reasons, to know if an element is the <body> element of an <html> element root. There are a couple places where a brittle heuristic is used to detect <body> elements. This information is going to be even more important to properly handle <html> elements that inherit their overflow property from their <body> children.

Implementing this properly requires updating the DOM wrapper interface. This check does reach up to the parent of thread-safe nodes, but this is essentially the same kind of operation that parent_style() does, so is ostensibly safe.

This change should not change any behavior and is just a preparation step for properly handle <body> overflow.


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • These changes do not require tests because it does not change behavior.

@mrobinson
Copy link
Copy Markdown
Member Author

@bors-servo try=wpt

@bors-servo
Copy link
Copy Markdown
Contributor

⌛ Trying commit ed57276 with merge 65f285d...

bors-servo added a commit that referenced this pull request May 2, 2023
Detect body elements during layout

During layout it is often useful, for various specification reasons, to know if an element is the `<body>` element of an `<html>` element root. There are a couple places where a brittle heuristic is used to detect `<body>` elements. This information is going to be even more important to properly handle `<html>` elements that inherit their overflow property from their `<body>` children.

Implementing this properly requires updating the DOM wrapper interface. This check does reach up to the parent of thread-safe nodes, but this is essentially the same kind of operation that `parent_style()` does, so is ostensibly safe.

This change should not change any behavior and is just a preparation step for properly handle `<body>` overflow.

<!-- 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 it does 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. -->
@github-actions
Copy link
Copy Markdown

github-actions bot commented May 2, 2023

Test results for linux-wpt-layout-2013 from try job (#4858424004):

Flaky unexpected result (16)
  • OK /_mozilla/mozilla/task_queue_throttling.any.html (#22519)
    • FAIL [expected PASS] subtest: Throttling the performance timeline task queue. assert_true: expected true got false
  • OK /css/css-text/white-space/trailing-space-position-001.html (#24585)
    • FAIL [expected PASS] subtest: CSS Test: Positions of trailing collapsible spaces 4 assert_equals: expected 0 but got -0
  • OK /css/css-transitions/properties-value-inherit-003.html (#26435)
    • FAIL [expected PASS] subtest: border-top-width length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "border-top-width:2s"
    • FAIL [expected PASS] subtest: border-right-width length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "border-right-width:2s"
    • FAIL [expected PASS] subtest: border-bottom-width length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "border-bottom-width:2s"
    • FAIL [expected PASS] subtest: border-left-width length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "border-left-width:2s"
    • FAIL [expected PASS] subtest: padding-bottom length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "padding-bottom:2s"
    • FAIL [expected PASS] subtest: padding-left length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "padding-left:2s"
    • FAIL [expected PASS] subtest: padding-right length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "padding-right:2s"
    • FAIL [expected PASS] subtest: padding-top length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "padding-top:2s"
    • FAIL [expected PASS] subtest: margin-bottom length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "margin-bottom:2s"
    • FAIL [expected PASS] subtest: margin-left length-em(em) / events assert_equals: Expected TransitionEnd events triggered on .transition expected "" but got "margin-left:2s"
    • And 19 more unexpected results...
  • OK /css/cssom-view/MediaQueryList-addListener-handleEvent.html (#24571)
    • FAIL [expected PASS] subtest: looks up handleEvent method on every event dispatch assert_equals: expected 1 but got 0
  • TIMEOUT [expected OK] /fetch/api/basic/keepalive.any.html (#29536)
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • PASS [expected TIMEOUT] subtest: no-referrer referrer policy used to create the starting page
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
  • TIMEOUT [expected OK] /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • TIMEOUT [expected PASS] subtest: Verifies that location navigations take precedence when following form submissions. Test timed out
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: Basic File test (formdata event)
  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html (#25805)
    • TIMEOUT [expected FAIL] subtest: Sanity check: this all works as expected with no promises involved Test timed out
    • TIMEOUT [expected FAIL] subtest: Fulfillment handler on fulfilled promise Test timed out
    • TIMEOUT [expected FAIL] subtest: Rejection handler on rejected promise Test timed out
  • OK [expected TIMEOUT] /html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html (#26371)
    • FAIL [expected TIMEOUT] subtest: delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire assert_array_equals: expected property 0 to be "InvalidStateError" but got "NotSupportedError" (expected array ["InvalidStateError"] got ["NotSupportedError"])
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • FAIL [expected TIMEOUT] subtest: mime-type 16 : text/html;charset=�gbk assert_equals: expected (string) "text/html" but got (undefined) undefined
    • TIMEOUT [expected NOTRUN] subtest: mime-type 17 : text/html;charset= gbk Test timed out
  • OK [expected TIMEOUT] /webaudio/the-audio-api/the-audiocontext-interface/audiocontext-not-fully-active.html (#27664)
  • TIMEOUT [expected OK] /webmessaging/with-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank Test timed out
  • OK [expected TIMEOUT] /webmessaging/with-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:
  • TIMEOUT [expected OK] /webmessaging/without-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank Test timed out
Stable unexpected results that are known to be intermittent (10)
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • FAIL [expected PASS] /css/css-text/white-space/trailing-other-space-separators-break-spaces-011.html (#25875)
  • OK /css/css-transitions/properties-value-inherit-002.html (#21486)
    • PASS [expected FAIL] subtest: max-height length(ex) / values
    • PASS [expected FAIL] subtest: max-height length(mm) / values
    • PASS [expected FAIL] subtest: max-height length(cm) / values
    • PASS [expected FAIL] subtest: max-height length(in) / values
    • PASS [expected FAIL] subtest: max-height percentage(%) / values
    • PASS [expected FAIL] subtest: max-width length(pt) / values
    • PASS [expected FAIL] subtest: max-width length(pc) / values
    • PASS [expected FAIL] subtest: max-width length(px) / values
    • PASS [expected FAIL] subtest: max-width length(em) / values
    • PASS [expected FAIL] subtest: max-width length(ex) / values
    • And 40 more unexpected results...
  • OK [expected TIMEOUT] /fetch/local-network-access/iframe.tentative.https.window.html (#29605)
    • FAIL [expected TIMEOUT] subtest: public to local, grandparent navigates: success. timeout adding grandchild
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • TIMEOUT [expected PASS] subtest: background-image sec-fetch-dest - Not sent to non-trustworthy same-origin destination Test timed out
    • TIMEOUT [expected PASS] subtest: background-image sec-fetch-site - HTTPS downgrade (header not sent) Test timed out
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • TIMEOUT [expected FAIL] subtest: Navigating to a different document with link click Test timed out
    • NOTRUN [expected FAIL] subtest: Navigating to a different document with form submission
  • OK /html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html (#29046)
  • TIMEOUT [expected OK] /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • NOTRUN [expected PASS] subtest: Check that rel=noopener with target=_self does a normal load
  • TIMEOUT [expected CRASH] /webmessaging/broadcastchannel/cross-partition.https.tentative.html (#29058)
  • TIMEOUT [expected OK] /webmessaging/without-ports/018.html (#24485)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, javascript: Test timed out
Stable unexpected results (1)
  • TIMEOUT [expected OK] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html
    • TIMEOUT [expected PASS] subtest: reparent-form-during-planned-navigation-task Test timed out

@bors-servo
Copy link
Copy Markdown
Contributor

💔 Test failed - checks-github

@mrobinson mrobinson force-pushed the add-html-body-tag branch 2 times, most recently from 5bafedd to 88d29a8 Compare May 3, 2023 14:05
}
}

impl<'dom, Node> Into<BaseFragmentInfo> for &NodeAndStyleInfo<Node>
Copy link
Copy Markdown
Member

@mukilan mukilan May 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The std doc recommends implementing From over Into. Just curious if we have made a deliberate choice to implement Into here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point I've converted this and the other Into implementation into From.


impl Tag {
/// Create a new Tag for a non-pseudo element. This is mainly used for
/// matching existing tags, since it does not accept an `info` argument.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Additional space at the beginning can be removed.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

}

/// Create a new Tag for a pseudo element. This is mainly used for
/// matching existing tags, since it does not accept an `info` argument.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Additional space at the beginning can be removed.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

During layout it is often useful, for various specification reasons, to
know if an element is the `<body>` element of an `<html>` element root. There
are a couple places where a brittle heuristic is used to detect `<body>`
elements. This information is going to be even more important to
properly handle `<html>` elements that inherit their overflow property from
their `<body>` children.

Implementing this properly requires updating the DOM wrapper interface.
This check does reach up to the parent of thread-safe nodes, but this is
essentially the same kind of operation that `parent_style()` does, so is
ostensibly safe.

This change should not change any behavior and is just a preparation
step for properly handle `<body>` overflow.
@mrobinson mrobinson force-pushed the add-html-body-tag branch from 88d29a8 to 72302e2 Compare May 4, 2023 08:47
@mukilan
Copy link
Copy Markdown
Member

mukilan commented May 4, 2023

@bors-servo r+

@bors-servo
Copy link
Copy Markdown
Contributor

📌 Commit 72302e2 has been approved by mukilan

@bors-servo
Copy link
Copy Markdown
Contributor

⌛ Testing commit 72302e2 with merge 4e37d07...

@github-actions
Copy link
Copy Markdown

github-actions bot commented May 4, 2023

Test results for linux-wpt-layout-2013 from try job (#4881254848):

Flaky unexpected result (19)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected OK] /fetch/api/basic/keepalive.any.html (#29536)
  • OK [expected TIMEOUT] /fetch/local-network-access/iframe.tentative.https.window.html (#29605)
    • FAIL [expected TIMEOUT] subtest: public to local, grandparent navigates: success. timeout adding grandchild
  • ERROR [expected TIMEOUT] /html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html (#28541)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank' assert_unreached: load should not be fired Reached unreachable code
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • PASS [expected FAIL] subtest: D83D DE0D set in href="" targeting a frame and clicked
    • PASS [expected FAIL] subtest: DE0D 0041 set in href="" targeting a frame and clicked
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/overlapping-navigations-and-traversals/nav-cancelation-2.sub.html
    • TIMEOUT [expected FAIL] subtest: grandparent cancels a pending navigation in a cross-origin grandchild Test timed out
  • OK /html/browsers/history/the-history-interface/traverse_the_history_1.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals from the same task
  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • TIMEOUT [expected FAIL] /html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html (#29224)
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used Test timed out
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • OK /html/semantics/forms/historical.html (#28568)
    • PASS [expected FAIL] subtest: <input name=isindex> should not be supported
  • OK /html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html (#29137)
    • PASS [expected FAIL] subtest: document.write in an imported module
  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html (#25805)
    • TIMEOUT [expected FAIL] subtest: Fulfillment handler on pending-then-fulfilled promise Test timed out
    • TIMEOUT [expected FAIL] subtest: Rejection handler on pending-then-rejected promise Test timed out
  • OK [expected TIMEOUT] /webaudio/the-audio-api/the-audiocontext-interface/audiocontext-not-fully-active.html (#27664)
  • OK [expected TIMEOUT] /webmessaging/with-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:
  • TIMEOUT [expected OK] /webmessaging/without-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank Test timed out
Stable unexpected results that are known to be intermittent (9)
  • FAIL [expected PASS] /css/css-text/white-space/trailing-other-space-separators-break-spaces-011.html (#25875)
  • OK [expected TIMEOUT] /fetch/api/redirect/redirect-keepalive.any.html (#29536)
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • FAIL [expected PASS] subtest: border-image sec-fetch-user - Not sent to non-trustworthy same-site destination assert_unreached: Reached unreachable code
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • PASS [expected TIMEOUT] subtest: no-referrer referrer policy used to create the starting page
  • OK [expected TIMEOUT] /html/browsers/history/the-history-interface/traverse-during-unload.html (#28688)
    • PASS [expected TIMEOUT] subtest: Traversing the history during unload
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
  • OK /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • FAIL [expected PASS] subtest: Check that rel=noopener with target=_self does a normal load this.openedWindow.findLink is not a function
  • OK [expected TIMEOUT] /html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html (#26371)
    • FAIL [expected TIMEOUT] subtest: delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire assert_array_equals: expected property 0 to be "InvalidStateError" but got "NotSupportedError" (expected array ["InvalidStateError"] got ["NotSupportedError"])
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • FAIL [expected TIMEOUT] subtest: mime-type 16 : text/html;charset=�gbk assert_equals: expected (string) "text/html" but got (undefined) undefined
    • TIMEOUT [expected NOTRUN] subtest: mime-type 17 : text/html;charset= gbk Test timed out

@bors-servo
Copy link
Copy Markdown
Contributor

☀️ Test successful - checks-github
Approved by: mukilan
Pushing 4e37d07 to master...

@bors-servo bors-servo merged commit 4e37d07 into servo:master May 4, 2023
@github-actions
Copy link
Copy Markdown

github-actions bot commented May 4, 2023

Test results for linux-wpt-layout-2020 from try job (#4885422084):

Flaky unexpected result (1)
  • OK /_mozilla/mozilla/task_queue_throttling.any.html (#22519)
    • FAIL [expected PASS] subtest: Throttling the performance timeline task queue. assert_true: expected true got false
Stable unexpected results that are known to be intermittent (7)
  • TIMEOUT [expected PASS] /_mozilla/css/iframe/stacking_context_position_a.html (#15678)
  • OK /_mozilla/mozilla/scrollBy.html (#21321)
    • FAIL [expected PASS] subtest: Ensure that the window.scrollBy function affects scroll position as expected assert_equals: expected 5000 but got 0
  • FAIL [expected PASS] /_mozilla/mozilla/scroll_root.html (#16603)
  • TIMEOUT [expected FAIL] /css/css-transforms/css-transforms-3d-on-anonymous-block-001.html (#18865)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-012.html (#26894)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-018.html (#22725)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-002.html (#23578)
Stable unexpected results (51)
  • TIMEOUT [expected PASS] /_mozilla/css/inline_block_stacking_context_a.html
  • TIMEOUT [expected PASS] /_mozilla/css/inline_stacking_context.html
  • OK /_mozilla/mozilla/element_parentOffset.html
    • PASS [expected FAIL] subtest: element_parentOffset
  • TIMEOUT [expected FAIL] /_mozilla/mozilla/text-overflow-ellipsis-stacking-context.html
  • CRASH [expected OK] /css/CSS2/linebox/needs-layout-transform.html
  • TIMEOUT [expected PASS] /css/css-transforms/perspective-svg-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/perspective-untransformable-no-stacking-context.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-button.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-pseudo-element.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-applies-to-002.xht
  • TIMEOUT [expected PASS] /css/css-transforms/transform-display-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-generated-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-image-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-inline-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-input-002.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-006.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-007.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-008.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-009.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-010.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-011.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-013.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-014.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-015.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-016.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-017.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-019.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-transformable-inline-block.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-caption-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tbody-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-td-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tfoot-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-th-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-thead-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-percent-height-child.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform3d-image-scale-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform3d-image-scale-002.html
  • CRASH [expected OK] /css/cssom-view/outer-svg.html
  • CRASH [expected ERROR] /css/cssom/caretPositionFromPoint-with-transformation.html
  • TIMEOUT [expected FAIL] /css/filter-effects/filter-cb-abspos-inline-002.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-cb-abspos-inline-003.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-region-transformed-child-001.html

@github-actions
Copy link
Copy Markdown

github-actions bot commented May 4, 2023

Test results for linux-wpt-layout-2020 from try job (#4885767073):

Flaky unexpected result (1)
  • OK /_mozilla/mozilla/task_queue_throttling.any.html (#22519)
    • FAIL [expected PASS] subtest: Throttling the performance timeline task queue. assert_true: expected true got false
Stable unexpected results that are known to be intermittent (7)
  • TIMEOUT [expected PASS] /_mozilla/css/iframe/stacking_context_position_a.html (#15678)
  • OK /_mozilla/mozilla/scrollBy.html (#21321)
    • FAIL [expected PASS] subtest: Ensure that the window.scrollBy function affects scroll position as expected assert_equals: expected 5000 but got 0
  • FAIL [expected PASS] /_mozilla/mozilla/scroll_root.html (#16603)
  • TIMEOUT [expected FAIL] /css/css-transforms/css-transforms-3d-on-anonymous-block-001.html (#18865)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-012.html (#26894)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-018.html (#22725)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-002.html (#23578)
Stable unexpected results (51)
  • TIMEOUT [expected PASS] /_mozilla/css/inline_block_stacking_context_a.html
  • TIMEOUT [expected PASS] /_mozilla/css/inline_stacking_context.html
  • OK /_mozilla/mozilla/element_parentOffset.html
    • PASS [expected FAIL] subtest: element_parentOffset
  • TIMEOUT [expected FAIL] /_mozilla/mozilla/text-overflow-ellipsis-stacking-context.html
  • CRASH [expected OK] /css/CSS2/linebox/needs-layout-transform.html
  • TIMEOUT [expected PASS] /css/css-transforms/perspective-svg-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/perspective-untransformable-no-stacking-context.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-button.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-pseudo-element.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-applies-to-002.xht
  • TIMEOUT [expected PASS] /css/css-transforms/transform-display-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-generated-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-image-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-inline-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-input-002.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-006.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-007.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-008.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-009.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-010.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-011.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-013.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-014.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-015.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-016.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-017.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-019.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-transformable-inline-block.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-caption-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tbody-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-td-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tfoot-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-th-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-thead-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-percent-height-child.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform3d-image-scale-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform3d-image-scale-002.html
  • CRASH [expected OK] /css/cssom-view/outer-svg.html
  • CRASH [expected ERROR] /css/cssom/caretPositionFromPoint-with-transformation.html
  • TIMEOUT [expected FAIL] /css/filter-effects/filter-cb-abspos-inline-002.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-cb-abspos-inline-003.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-region-transformed-child-001.html

@github-actions
Copy link
Copy Markdown

github-actions bot commented May 5, 2023

Test results for linux-wpt-layout-2020 from try job (#4890001583):

Flaky unexpected result (2)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • OK /css/cssom-view/MediaQueryListEvent.html (#25275)
    • FAIL [expected PASS] subtest: argument of addListener assert_true: expected true got false
Stable unexpected results that are known to be intermittent (7)
  • TIMEOUT [expected PASS] /_mozilla/css/iframe/stacking_context_position_a.html (#15678)
  • OK /_mozilla/mozilla/scrollBy.html (#21321)
    • FAIL [expected PASS] subtest: Ensure that the window.scrollBy function affects scroll position as expected assert_equals: expected 5000 but got 0
  • FAIL [expected PASS] /_mozilla/mozilla/scroll_root.html (#16603)
  • TIMEOUT [expected FAIL] /css/css-transforms/css-transforms-3d-on-anonymous-block-001.html (#18865)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-012.html (#26894)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-018.html (#22725)
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-002.html (#23578)
Stable unexpected results (51)
  • TIMEOUT [expected PASS] /_mozilla/css/inline_block_stacking_context_a.html
  • TIMEOUT [expected PASS] /_mozilla/css/inline_stacking_context.html
  • OK /_mozilla/mozilla/element_parentOffset.html
    • PASS [expected FAIL] subtest: element_parentOffset
  • TIMEOUT [expected FAIL] /_mozilla/mozilla/text-overflow-ellipsis-stacking-context.html
  • CRASH [expected OK] /css/CSS2/linebox/needs-layout-transform.html
  • TIMEOUT [expected PASS] /css/css-transforms/perspective-svg-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/perspective-untransformable-no-stacking-context.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-button.html
  • TIMEOUT [expected PASS] /css/css-transforms/preserve3d-pseudo-element.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-applies-to-002.xht
  • TIMEOUT [expected PASS] /css/css-transforms/transform-display-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-generated-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-image-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-inline-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-input-002.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-006.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-007.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-008.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-009.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-010.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-011.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-013.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-014.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-015.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-016.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-017.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-input-019.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-003.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-004.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-table-005.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-transformable-inline-block.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-caption-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tbody-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-td-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tfoot-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-th-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-thead-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-contains-fixed-position.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform-transformed-tr-percent-height-child.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform3d-image-scale-001.html
  • TIMEOUT [expected FAIL] /css/css-transforms/transform3d-image-scale-002.html
  • CRASH [expected OK] /css/cssom-view/outer-svg.html
  • CRASH [expected ERROR] /css/cssom/caretPositionFromPoint-with-transformation.html
  • TIMEOUT [expected FAIL] /css/filter-effects/filter-cb-abspos-inline-002.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-cb-abspos-inline-003.html
  • TIMEOUT [expected PASS] /css/filter-effects/filter-region-transformed-child-001.html

@mrobinson mrobinson deleted the add-html-body-tag branch July 21, 2023 09:40
Loirooriol added a commit to Loirooriol/servo that referenced this pull request Dec 10, 2025
These structs used to be different when they were added in servo#29699:
`BaseFragment` had a `debug_id` field, while `BaseFragmentInfo` didn't.
But this field was later removed in servo#35001, so the structs became
identical.

Therefore, this just unified them. I'm picking `BaseFragmentInfo` as the
name, since it was the most frequently used of the two.

Signed-off-by: Oriol Brufau <[email protected]>
Loirooriol added a commit to Loirooriol/servo that referenced this pull request Dec 10, 2025
These structs used to be different when they were added in servo#29699:
`BaseFragment` had a `debug_id` field, while `BaseFragmentInfo` didn't.
But this field was later removed in servo#35001, so the structs became
identical.

Therefore, this just unified them. I'm picking `BaseFragmentInfo` as the
name, since it was the most frequently used of the two.

Signed-off-by: Oriol Brufau <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Dec 10, 2025
These structs used to be different when they were added in #29699:
`BaseFragment` had a `debug_id` field, while `BaseFragmentInfo` didn't.
But this field was later removed in #35001, so the structs became
identical.

Therefore, this patch just unifies them. I'm picking `BaseFragmentInfo`
as the name, since it was the most frequently used of the two.

Testing: Not needed, no change in behavior

Signed-off-by: Oriol Brufau <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants