Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

selectors: Revert as many changes from upstream as possible #31365

Merged
merged 1 commit into from Feb 20, 2024

Conversation

mrobinson
Copy link
Member

This is part of the preparation for splitting stylo into a separate
crate. We have made various changes to selectors includings:

  1. Bumping the rust edition
  2. Fixing typos and updating links

In addition to reverting those changes, this PR pulls in some changes to
selectors we seem to have missed in the process of updates.


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • There are tests for these changes

@mrobinson mrobinson added the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
Copy link

🔨 Triggering try run (#7928855850) for Linux WPT layout-2020

Copy link

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

Flaky unexpected result (8)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-with-non-reserved-words.html (#16216)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/cssom-view/MediaQueryList-addListener-removeListener.html (#24569)
    • PASS [expected FAIL] subtest: listeners are called correct number of times
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • OK /html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html (#23849)
    • PASS [expected FAIL] subtest: The document for a standalone media file should have one child in the body.
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html (#28259)
    • TIMEOUT [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with URL fragments should be skipped. Test timed out
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: Basic File test (formdata event)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: backslash in value (formdata event)
Stable unexpected results that are known to be intermittent (17)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '450 460' over '500' assert_equals: Unexpected font on test element expected 487 but got 532
    • PASS [expected FAIL] subtest: Matching font-weight: '430' should prefer '350 399' over '340 398'
    • PASS [expected FAIL] subtest: Matching font-weight: '500' should prefer '450 460' over '400'
    • PASS [expected FAIL] subtest: Matching font-weight: '501' should prefer '503 520' over '500'
    • FAIL [expected PASS] subtest: Matching font-weight: '399' should prefer '400' over '450 460' assert_equals: Unexpected font on test element expected 487 but got 532
    • PASS [expected FAIL] subtest: Matching font-weight: '399' should prefer '500 501' over '502 510'
    • PASS [expected FAIL] subtest: Matching font-stretch: '90%' should prefer '90% 100%' over '50% 80%'
    • PASS [expected FAIL] subtest: Matching font-style: 'italic' should prefer 'oblique 40deg 50deg' over 'oblique 5deg 10deg'
    • PASS [expected FAIL] subtest: Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg'
    • And 4 more unexpected results...
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • PASS [expected FAIL] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank'
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • FAIL [expected TIMEOUT] subtest: origin referrer policy used to create the starting page assert_equals: Sanity check: opened window's referrer is set correctly expected "http://web-platform.test:8000/" but got ""
    • PASS [expected NOTRUN] subtest: no-referrer referrer policy used to create the starting page
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted assert_array_equals: Pages opened during history navigation expected property 1 to be 3 but got 2 (expected array [6, 3] got [6, 2])
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK [expected TIMEOUT] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • PASS [expected TIMEOUT] subtest: reparent-form-during-planned-navigation-task
  • OK /html/semantics/forms/historical.html (#28568)
    • FAIL [expected PASS] subtest: <input name=isindex> should not be supported assert_regexp_match: expected object "/?isindex=x$/" but got "about:blank"
  • 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/dynamic-markup-insertion/opening-the-input-stream/remove-initial-about-blankness.window.html (#28684)
    • FAIL [expected TIMEOUT] subtest: Double-check: without document.open(), Window reuse indeed happens assert_equals: expected (string) "Hello world!" but got (undefined) undefined
  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • FAIL [expected TIMEOUT] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document assert_equals: expected "/html/webappapis/scripting/events/resources/open-window.html" but got "blank"
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • TIMEOUT [expected FAIL] subtest: mime-type 16 : text/html;charset=�gbk Test timed out
    • NOTRUN [expected TIMEOUT] subtest: mime-type 17 : text/html;charset= gbk
  • OK [expected TIMEOUT] /webmessaging/with-ports/017.html (#24486)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, about:blank
  • 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 (10)
  • OK /_webgl/conformance2/renderbuffers/framebuffer-object-attachment.html
    • FAIL [expected PASS] subtest: WebGL test Fix out-of-tree builds #2: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Updated a cast in rust-mozjs #6: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Allow cairo to be placed anywhere or build it in-tree #7: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fixed an html-parsing crash caused by refactor #10: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Implemented a parser for a subset of css. #11: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Added explicit casts from ints to machine types #12: gl.getParameter(gl.STENCIL_BITS) >= 8 should be true. Was false. assert_true: gl.getParameter(gl.STENCIL_BITS) >= 8 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Added css selector matching and now render specified background colors #16: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fix borrowck errors and erros in layout positioning #17: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test build fails on ubuntu 12.04 "I need autoconf 2.13" #21: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fail to build on Mac OS X 10.7 #22: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • And 9 more unexpected results...
  • FAIL [expected PASS] /css/CSS2/selectors/attribute-token-selector-002.xht
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184a.xml
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184b.xml
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184c.xml
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184d.xml
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184e.xml
  • FAIL [expected PASS] /css/selectors/old-tests/css3-modsel-184f.xml
  • OK /dom/nodes/ParentNode-querySelector-All-xht.xht
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should not match anything. expected null but got Element node <div id="attr-whitespace-div2" class=""></div>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-begins-p1" class=" apple"></p>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-ends-p1" class="apple "></p>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-contains-p1" class=" apple banana orange "></p>
    • FAIL [expected PASS] subtest: Detached Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Detached Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should not match anything. expected null but got Element node <div id="attr-whitespace-div2" class=""></div>
    • And 22 more unexpected results...
  • OK /dom/nodes/ParentNode-querySelector-All.html
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should not match anything. expected null but got Element node <div id="attr-whitespace-div2" class=""></div>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute begins with selector, not matching class attribute with empty value: #attr-begins [class^=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-begins-p1" class=" apple"></p>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute ends with selector, not matching class attribute with empty value: #attr-ends [class$=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-ends-p1" class="apple "></p>
    • FAIL [expected PASS] subtest: Document.querySelectorAll: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Document.querySelector: Attribute contains selector, not matching class attribute with empty value: #attr-contains [class*=""] assert_equals: The method should not match anything. expected null but got Element node <p id="attr-contains-p1" class=" apple banana orange "></p>
    • FAIL [expected PASS] subtest: Detached Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should return the expected number of matches. expected 0 but got 1
    • FAIL [expected PASS] subtest: Detached Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""] assert_equals: The method should not match anything. expected null but got Element node <div id="attr-whitespace-div2" class=""></div>
    • And 22 more unexpected results...

Copy link

⚠️ Try run (#7928855850) failed.

@delan delan added the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
Copy link

🔨 Triggering try run (#7929516395) for Linux WPT layout-2020

@delan
Copy link
Member

delan commented Feb 16, 2024

(retrying due to #31364)

@mrobinson
Copy link
Member Author

I think we'll need to keep the changes from 29f6170 judging by the test results. I've added those back.

@mrobinson mrobinson added the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Feb 16, 2024
Copy link

🔨 Triggering try run (#7929692406) for Linux WPT layout-2020

Copy link

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

Flaky unexpected result (12)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-with-non-reserved-words.html (#16216)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected FAIL] /css/css-animations/animation-delay-010.html (#26573)
  • OK /css/cssom-view/matchMedia.html
    • PASS [expected FAIL] subtest: iframe.matchMedia("(width: 200px)") matches
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • FAIL [expected PASS] subtest: 0041 set in href="" targeting a frame and clicked assert_equals: expected "A" but got ""
    • FAIL [expected PASS] subtest: 0080 00FF set in href="" targeting a frame and clicked assert_equals: expected "�ÿ" but got ""
    • FAIL [expected PASS] subtest: 0080 00FF 0100 set in href="" targeting a frame and clicked assert_equals: expected "�ÿĀ" but got ""
    • FAIL [expected PASS] subtest: D83D DE0D set in href="" targeting a frame and clicked assert_equals: expected "😍" but got ""
    • FAIL [expected PASS] subtest: DE0D 0041 set in href="" targeting a frame and clicked assert_equals: expected "\ufffdA" but got ""
  • TIMEOUT [expected CRASH] /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
  • FAIL [expected PASS] /html/rendering/non-replaced-elements/the-page/iframe-scrolling-attribute-values.html
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • CRASH [expected PASS] /html/semantics/embedded-content/the-img-element/image-loading-lazy-subframe-detached-crash.html
  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • PASS [expected FAIL] subtest: multipart/form-data: \r\n in value (formdata event)
  • 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
  • TIMEOUT /resource-timing/test_resource_timing.https.html (#25216)
    • FAIL [expected PASS] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img) assert_equals: expected 10165248 but got 10165504
Stable unexpected results that are known to be intermittent (19)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • PASS [expected FAIL] subtest: Matching font-weight: '430' should prefer '420 440' over '450 460'
    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '450 460' over '500' assert_equals: Unexpected font on test element expected 487 but got 532
    • PASS [expected FAIL] subtest: Matching font-weight: '501' should prefer '503 520' over '500'
    • FAIL [expected PASS] subtest: Matching font-weight: '399' should prefer '400' over '450 460' assert_equals: Unexpected font on test element expected 487 but got 532
    • PASS [expected FAIL] subtest: Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal'
    • PASS [expected FAIL] subtest: Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg'
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg' assert_equals: Unexpected font on test element expected 487 but got 532
  • OK /css/cssom-view/scroll-behavior-smooth-navigation.html (#29564)
    • FAIL [expected PASS] subtest: Smooth scrolling while doing history navigation. assert_not_equals: Shouldn't be scrolled to top anymore. got disallowed value 0
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • PASS [expected FAIL] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src=''
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • FAIL [expected PASS] subtest: load event does not fire on window.open('about:blank') assert_unreached: load should not be fired Reached unreachable code
  • TIMEOUT /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • FAIL [expected TIMEOUT] subtest: origin referrer policy used to create the starting page assert_equals: Sanity check: opened window's referrer is set correctly expected "http://web-platform.test:8000/" but got ""
    • TIMEOUT [expected NOTRUN] subtest: no-referrer referrer policy used to create the starting page Test timed out
  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted assert_array_equals: Pages opened during history navigation lengths differ, expected array [6, 3] length 2, got [6, 2, 2] length 3
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
  • FAIL [expected PASS] /html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html (#30684)
  • OK [expected TIMEOUT] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • PASS [expected TIMEOUT] subtest: reparent-form-during-planned-navigation-task
  • OK [expected ERROR] /html/semantics/scripting-1/the-script-element/defer-script/async-script.html?reload (#29054)
  • OK [expected TIMEOUT] /html/webappapis/dynamic-markup-insertion/opening-the-input-stream/remove-initial-about-blankness.window.html (#28684)
    • FAIL [expected TIMEOUT] subtest: Double-check: without document.open(), Window reuse indeed happens assert_equals: expected (string) "Hello world!" but got (undefined) undefined
  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • FAIL [expected TIMEOUT] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document assert_equals: expected "/html/webappapis/scripting/events/resources/open-window.html" but got "blank"
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • TIMEOUT [expected FAIL] subtest: mime-type 16 : text/html;charset=�gbk Test timed out
    • NOTRUN [expected TIMEOUT] subtest: mime-type 17 : text/html;charset= gbk
  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
Stable unexpected results (1)
  • OK /_webgl/conformance2/renderbuffers/framebuffer-object-attachment.html
    • FAIL [expected PASS] subtest: WebGL test Fix out-of-tree builds #2: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Updated a cast in rust-mozjs #6: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Allow cairo to be placed anywhere or build it in-tree #7: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fixed an html-parsing crash caused by refactor #10: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Implemented a parser for a subset of css. #11: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Added explicit casts from ints to machine types #12: gl.getParameter(gl.STENCIL_BITS) >= 8 should be true. Was false. assert_true: gl.getParameter(gl.STENCIL_BITS) >= 8 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Added css selector matching and now render specified background colors #16: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fix borrowck errors and erros in layout positioning #17: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test build fails on ubuntu 12.04 "I need autoconf 2.13" #21: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 should be true. Was false. expected true got false
    • FAIL [expected PASS] subtest: WebGL test Fail to build on Mac OS X 10.7 #22: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. assert_true: gl.getParameter(gl.DEPTH_BITS) >= 16 should be true. Was false. expected true got false
    • And 9 more unexpected results...

@mrobinson mrobinson requested a review from delan February 16, 2024 12:16
@mrobinson mrobinson marked this pull request as ready for review February 16, 2024 12:16
@mrobinson
Copy link
Member Author

I think this is ready for review. The one failure is due to the new test expectation that has now landed in main.

Copy link

⚠️ Try run (#7929692406) failed.

@mrobinson mrobinson changed the title Revert as many changes to selectors from upstream as possible selectors: Revert as many changes from upstream as possible Feb 16, 2024
This is part of the preparation for splitting stylo into a separate
crate. We have made various changes to selectors includings:

 1. Bumping the rust edition
 2. Fixing typos and updating links

In addition to reverting those changes, this PR pulls in some changes to
selectors we seem to have missed in the process of updates.
@mrobinson mrobinson added the T-linux-wpt-2020 Do a try run of the WPT label Feb 17, 2024
@github-actions github-actions bot removed the T-linux-wpt-2020 Do a try run of the WPT label Feb 17, 2024
Copy link

🔨 Triggering try run (#7940775404) for Linux WPT

Copy link

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

Flaky unexpected result (17)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-with-non-reserved-words.html (#16216)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • TIMEOUT [expected PASS] /css/css-fonts/font-palette-non-ident-font-family.html
  • OK /css/cssom-view/MediaQueryList-addListener-removeListener.html (#24569)
    • PASS [expected FAIL] subtest: listeners are called correct number of times
  • OK /css/cssom-view/MediaQueryListEvent.html (#25275)
    • FAIL [expected PASS] subtest: argument of addListener assert_true: expected true got false
  • TIMEOUT /fetch/metadata/generated/element-img-environment-change.sub.html (#30111)
    • FAIL [expected TIMEOUT] subtest: sec-fetch-site - Not sent to non-trustworthy same-site destination, no attributes promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
    • TIMEOUT [expected NOTRUN] subtest: sec-fetch-site - Not sent to non-trustworthy cross-site destination, no attributes Test timed out
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • PASS [expected FAIL] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src=''
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • FAIL [expected PASS] subtest: 0041 set in href="" targeting a frame and clicked assert_equals: expected "A" but got ""
    • FAIL [expected PASS] subtest: 0080 00FF set in href="" targeting a frame and clicked assert_equals: expected "�ÿ" but got ""
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html (#28259)
    • TIMEOUT [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with "top" fragments should work. Test timed out
  • OK /html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html (#28259)
    • PASS [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with URL fragments should be skipped.
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Host element with delegatesFocus including no focusable descendants should be skipped Test timed out
    • NOTRUN [expected FAIL] subtest: Area element should support autofocus
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
    • 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
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: single quote in filename (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: Fulfillment handler on pending-then-fulfilled promise Test timed out
    • TIMEOUT [expected FAIL] subtest: Rejection handler on pending-then-rejected promise Test timed out
  • 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
  • OK /workers/dedicated-worker-from-blob-url.window.html (#22286)
    • PASS [expected FAIL] subtest: Creating a dedicated worker from a blob URL works immediately before revoking.
Stable unexpected results that are known to be intermittent (20)
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '450 460' over '500' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-weight: '399' should prefer '400' over '450 460' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg' assert_equals: Unexpected font on test element expected 487 but got 532
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg' assert_equals: Unexpected font on test element expected 487 but got 532
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/about-srcdoc-navigation-blocked.window.html (#31025)
  • TIMEOUT /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • FAIL [expected TIMEOUT] subtest: origin referrer policy used to create the starting page assert_equals: Sanity check: opened window's referrer is set correctly expected "http://web-platform.test:8000/" but got ""
    • TIMEOUT [expected NOTRUN] subtest: no-referrer referrer policy used to create the starting page Test timed out
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • PASS [expected FAIL] subtest: Same-origin navigation started from unload handler must be ignored
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted assert_array_equals: Pages opened during history navigation expected property 1 to be 3 but got 2 (expected array [6, 3] got [6, 2])
  • 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 OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
    • FAIL [expected TIMEOUT] subtest: Check that popups from a sandboxed iframe escape the sandbox if
      allow-popups-to-escape-sandbox is used assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
  • OK [expected TIMEOUT] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • PASS [expected TIMEOUT] subtest: reparent-form-during-planned-navigation-task
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: \r\n in value (formdata event)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: single quote in name (formdata event)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: characters not in encoding in name and value (formdata event)
  • 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/dynamic-markup-insertion/opening-the-input-stream/remove-initial-about-blankness.window.html (#28684)
    • FAIL [expected TIMEOUT] subtest: Double-check: without document.open(), Window reuse indeed happens assert_equals: expected (string) "Hello world!" but got (undefined) undefined
  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • FAIL [expected TIMEOUT] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document assert_equals: expected "/html/webappapis/scripting/events/resources/open-window.html" but got "blank"
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • TIMEOUT [expected FAIL] subtest: mime-type 16 : text/html;charset=�gbk Test timed out
    • NOTRUN [expected TIMEOUT] subtest: mime-type 17 : text/html;charset= gbk
  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
  • OK [expected TIMEOUT] /webmessaging/with-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:

Copy link

✨ Try run (#7940775404) succeeded.

@nicoburns
Copy link
Contributor

Are the plans to re-apply (any of) these changes upstream?

@mrobinson
Copy link
Member Author

Are the plans to re-apply (any of) these changes upstream?

We're trying to only revert changes that don't make sense to push upstream. In this case most of the changes are due to rust edition updates that are better managed according to the needs of Gecko. The rest we hope to upstream once we fully sync.

@delan delan added this pull request to the merge queue Feb 20, 2024
Merged via the queue into servo:main with commit 2fa7691 Feb 20, 2024
37 checks passed
delan pushed a commit to servo/stylo that referenced this pull request Feb 22, 2024
This builds successfully with:

$ cargo build --features servo

 (as of servo#31351, 31363, 31358, 31365)

This patch is up to date as of:

* servo/servo#31351
* servo/servo#31363
* servo/servo#31358
* servo/servo#31365
* servo/servo#31387
* servo/servo#31408
delan pushed a commit to servo/stylo that referenced this pull request Feb 22, 2024
This builds successfully with:

$ cargo build --features servo

 (as of servo#31351, 31363, 31358, 31365)

This patch is up to date as of:

* servo/servo#31351
* servo/servo#31363
* servo/servo#31358
* servo/servo#31365
* servo/servo#31387
* servo/servo#31408
mrobinson added a commit to servo/stylo that referenced this pull request Feb 23, 2024
This builds successfully with:

$ cargo build --features servo

 (as of servo#31351, 31363, 31358, 31365)

This patch is up to date as of:

* servo/servo#31351
* servo/servo#31363
* servo/servo#31358
* servo/servo#31365
* servo/servo#31387
* servo/servo#31408
delan pushed a commit to servo/stylo that referenced this pull request Feb 23, 2024
This builds successfully with:

$ cargo build --features servo

 (as of servo#31351, 31363, 31358, 31365)

This patch is up to date as of:

* servo/servo#31351
* servo/servo#31363
* servo/servo#31358
* servo/servo#31365
* servo/servo#31387
* servo/servo#31408
delan pushed a commit to servo/stylo that referenced this pull request Feb 23, 2024
This builds successfully with:

$ cargo build --features servo

 (as of servo#31351, 31363, 31358, 31365)

This patch is up to date as of:

* servo/servo#31351
* servo/servo#31363
* servo/servo#31358
* servo/servo#31365
* servo/servo#31387
* servo/servo#31408
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.

None yet

3 participants