Skip to content

Conversation

@simonwuelker
Copy link
Contributor

Additionally, this change allows custom elements to extend slot elements (which required adding the slot elements to a couple of lists) and adds doc comments that i added during debugging.


Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
@simonwuelker simonwuelker requested a review from gterzian as a code owner March 12, 2025 12:35
@simonwuelker simonwuelker added the T-linux-wpt Do a try run of the WPT label Mar 12, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Mar 12, 2025
@github-actions
Copy link

🔨 Triggering try run (#13811507169) for Linux (WPT)

@simonwuelker simonwuelker changed the title Set is value when constructing elements with the new operator Set is value when constructing custom elements with the new operator Mar 12, 2025
@github-actions
Copy link

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

Flaky unexpected result (25)
  • 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-conditional/container-queries/container-for-cue.html (#34528)
  • PASS [expected FAIL] /css/css-tables/table-cell-overflow-auto-scrolled.html (#35011)
  • FAIL [expected PASS] /css/css-text/text-spacing-trim/text-spacing-trim-quote-001.html?class=chws,vrl&amp;lang=zh-hans
  • OK /encoding/legacy-mb-japanese/euc-jp/eucjp-encode-form-errors-han.html?1-1000
    • FAIL [expected PASS] subtest: cjk U+4E02 丂 %26%2319970%3B

      assert_equals: expected "%26%2319970%3B" but got ""
      

    • FAIL [expected PASS] subtest: cjk U+4E04 丄 %26%2319972%3B

      assert_equals: expected (string) "%26%2319972%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E05 丅 %26%2319973%3B

      assert_equals: expected (string) "%26%2319973%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E06 丆 %26%2319974%3B

      assert_equals: expected (string) "%26%2319974%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E0C 丌 %26%2319980%3B

      assert_equals: expected (string) "%26%2319980%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E0F 丏 %26%2319983%3B

      assert_equals: expected (string) "%26%2319983%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E12 丒 %26%2319986%3B

      assert_equals: expected (string) "%26%2319986%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E13 专 %26%2319987%3B

      assert_equals: expected (string) "%26%2319987%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E1A 业 %26%2319994%3B

      assert_equals: expected (string) "%26%2319994%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: cjk U+4E1B 丛 %26%2319995%3B

      assert_equals: expected (string) "%26%2319995%3B" but got (undefined) undefined
      

    • And 390 more unexpected results...
  • OK /encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-csshiftjis.html?1001-2000
    • FAIL [expected PASS] subtest: U+528D 劍 %99%98

      assert_equals: expected "%99%98" but got "%8F%59"
      

    • FAIL [expected PASS] subtest: U+5291 劑 %99%9D

      assert_equals: expected "%99%9D" but got "%90%6D"
      

    • FAIL [expected PASS] subtest: U+5292 劒 %99%9A

      assert_equals: expected "%99%9A" but got "%98%BC"
      

    • FAIL [expected PASS] subtest: U+5294 劔 %99%99

      assert_equals: expected "%99%99" but got "%98%BA"
      

    • FAIL [expected PASS] subtest: U+529B 力 %97%CD

      assert_equals: expected "%97%CD" but got "%98%BB"
      

    • FAIL [expected PASS] subtest: U+529C 劜 %FA%85

      assert_equals: expected "%FA%85" but got "%8B%77"
      

    • FAIL [expected PASS] subtest: U+529F 功 %8C%F7

      assert_equals: expected "%8C%F7" but got "%8D%A1"
      

    • FAIL [expected PASS] subtest: U+52A0 加 %89%C1

      assert_equals: expected "%89%C1" but got "%89%EE"
      

    • FAIL [expected PASS] subtest: U+52A3 劣 %97%F2

      assert_equals: expected "%97%F2" but got "%98%B9"
      

    • FAIL [expected PASS] subtest: U+52A6 劦 %FA%86

      assert_equals: expected "%FA%86" but got "%98%B8"
      

    • And 190 more unexpected results...
  • OK /encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601.html?1-1000
    • FAIL [expected PASS] subtest: U+A1 ¡ %A2%AE

      assert_equals: expected "%A2%AE" but got ""
      

    • FAIL [expected PASS] subtest: U+A4 ¤ %A2%B4

      str is undefined
      

    • FAIL [expected PASS] subtest: U+A7 § %A1%D7

      str is undefined
      

    • FAIL [expected PASS] subtest: U+A8 ¨ %A1%A7

      str is undefined
      

    • FAIL [expected PASS] subtest: U+AA ª %A8%A3

      str is undefined
      

    • FAIL [expected PASS] subtest: U+AD ­ %A1%A9

      str is undefined
      

    • FAIL [expected PASS] subtest: U+AE ® %A2%E7

      str is undefined
      

    • FAIL [expected PASS] subtest: U+B0 ° %A1%C6

      str is undefined
      

    • FAIL [expected PASS] subtest: U+B1 ± %A1%BE

      str is undefined
      

    • FAIL [expected PASS] subtest: U+B2 ² %A9%F7

      str is undefined
      

    • And 390 more unexpected results...
  • OK /html/browsers/browsing-the-web/navigating-across-documents/008.html (#24456)
    • FAIL [expected PASS] subtest: Link with onclick form submit to javascript url and href navigation

      assert_equals: expected "href" but got "click"
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: link click
    • PASS [expected FAIL] subtest: form submission
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • FAIL [expected PASS] subtest: Navigating to a different document with link click

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1" but got "about:blank"
      

    • FAIL [expected PASS] subtest: Navigating to a different document with form submission

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1=" but got "about:blank"
      

  • 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 ""
      

  • 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/history/the-history-interface/traverse_the_history_4.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 5 but got 3 (expected array [6, 5] got [6, 3])
      

  • PASS [expected FAIL] /html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html (#30063)
  • ERROR [expected TIMEOUT] /html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html (#34119)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html (#33778)
    • FAIL [expected TIMEOUT] subtest: play() with loop set to true after playback ended

      this argument is not a finite floating-point value
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace-set-src.html (#32697)
    • PASS [expected FAIL] subtest: Navigating iframe loading='lazy' and then setting src: location.replace
  • OK /html/semantics/forms/form-submission-0/form-data-set-usv.html (#34934)
    • FAIL [expected PASS] subtest: Strings from form controls should be converted to Unicode scalar values in FormData

      Value is not an object.
      

  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: double quote in name (formdata event)
  • OK /html/semantics/scripting-1/the-script-element/execution-timing/077.html (#22139)
    • FAIL [expected PASS] subtest: adding several types of scripts through the DOM and removing some of them confuses scheduler

      assert_array_equals: expected property 1 to be "Script #1 ran" but got "Script #3 ran" (expected array ["Script #2 ran", "Script #1 ran", "Script #3 ran", "Script #4 ran"] got ["Script #2 ran", "Script #3 ran", "Script #4 ran", "Script #1 ran"])
      

  • OK /html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.worker.html (#33909)
    • FAIL [expected PASS] subtest: Revoking a blob URL immediately after calling import will not fail

      promise_test: Unhandled rejection with value: object "TypeError: Dynamic import failed"
      

  • TIMEOUT [expected OK] /mixed-content/gen/top.meta/unset/audio-tag.https.html (#35744)
    • TIMEOUT [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to cross-http origin and swap-scheme redirection from https context.

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and keep-scheme redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and no-redirect redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and swap-scheme redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-https origin and keep-scheme redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-https origin and no-redirect redirection from https context.
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventStart &gt; Original domContentLoadedEventStart
    • PASS [expected FAIL] subtest: Reload domInteractive &gt; Original domInteractive
    • PASS [expected FAIL] subtest: Reload fetchStart &gt; Original fetchStart
  • OK /resize-observer/change-layout-in-error.html (#32629)
    • PASS [expected FAIL] subtest: Changing layout in window error handler should not result in lifecyle loop when resize observer loop limit is reached.
  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (#29053)
    • TIMEOUT [expected PASS] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe

      Test timed out
      

Stable unexpected results that are known to be intermittent (14)
  • OK /FileAPI/url/url-with-fetch.any.worker.html (#21517)
    • PASS [expected FAIL] subtest: Revoke blob URL after calling fetch, fetch should succeed
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-user
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Cross-site
  • OK /html/browsers/browsing-the-web/navigating-across-documents/009.html (#24456)
    • FAIL [expected PASS] subtest: Link with onclick form submit to javascript url with document.write and href navigation

      assert_array_equals: expected property 1 to be "href" but got "click" (expected array ["write", "href"] got ["write", "click"])
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • FAIL [expected PASS] subtest: Check execution order from nested timeout

      assert_equals: Expected nested setTimeout to run second expected true but got false
      

    • FAIL [expected PASS] subtest: Check execution order on load handler

      assert_equals: Expected onload to run first expected false but got true
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html (#20768)
    • PASS [expected FAIL] subtest: Tests that a fragment navigation in the unload handler will not block the initial navigation
  • OK [expected ERROR] /html/canvas/element/manual/imagebitmap/createImageBitmap-colorSpaceConversion.html (#34151)
  • ERROR [expected TIMEOUT] /html/canvas/element/manual/imagebitmap/createImageBitmap-serializable.html (#34120)
  • CRASH [expected OK] /html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html (#34117)
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Host element with delegatesFocus should support autofocus

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Host element with delegatesFocus including no focusable descendants should be skipped
    • NOTRUN [expected FAIL] subtest: Area element should support autofocus
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • OK [expected TIMEOUT] /mixed-content/gen/top.http-rp/opt-in/audio-tag.https.html (#35744)
Stable unexpected results (1)
  • OK /custom-elements/reactions/customized-builtins/HTMLSlotElement.html
    • PASS [expected FAIL] subtest: name on HTMLSlotElement must enqueue an attributeChanged reaction when adding name content attribute
    • PASS [expected FAIL] subtest: name on HTMLSlotElement must enqueue an attributeChanged reaction when replacing an existing attribute

@github-actions
Copy link

⚠️ Try run (#13811507169) failed.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
@simonwuelker simonwuelker enabled auto-merge March 12, 2025 15:18
@simonwuelker simonwuelker added this pull request to the merge queue Mar 12, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 12, 2025
@simonwuelker simonwuelker added this pull request to the merge queue Mar 12, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 12, 2025
@simonwuelker simonwuelker added this pull request to the merge queue Mar 12, 2025
Merged via the queue into servo:main with commit b10c53b Mar 12, 2025
22 checks passed
@simonwuelker simonwuelker deleted the ce-construction branch March 12, 2025 19:35
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.

Operator new doesn't set is-value for custom elements

2 participants