mirror of
https://github.com/servo/servo.git
synced 2025-08-10 07:55:33 +01:00
Auto merge of #25572 - pshaughn:atomnames, r=jdm
Make name content attributes consistently atoms and put them in rare_data for fast access <!-- Please describe your changes on the following line: --> All codepaths setting the name content attribute now use an atom, which is also stored in rare_data for direct lookup by a get_name method. Paralleling the get_name method, I added a get_id method, which makes some internal id-lookup cases nicer. A new test tests for a name setter on every HTML element type. In addition to its overt and upstreamable purpose of checking IDL property reflection semantics, for us this test also hits some Servo assertions that make sure the name is an atom in every case. If the test doesn't crash, even a failed test case still has the attribute as an atom rather than some other type. The failed cases are for elements that we have unimplemented or completely stubbed; I added a few missing name IDL properties to otherwise implemented elements. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #25570 and make progress on #25057 <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This commit is contained in:
commit
9c135f0e95
32 changed files with 270 additions and 652 deletions
|
@ -364131,6 +364131,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"html/dom/elements/name-content-attribute-and-property.html": [
|
||||
[
|
||||
"html/dom/elements/name-content-attribute-and-property.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"html/dom/elements/the-innertext-idl-attribute/dynamic-getter.html": [
|
||||
[
|
||||
"html/dom/elements/the-innertext-idl-attribute/dynamic-getter.html",
|
||||
|
@ -682833,6 +682839,10 @@
|
|||
"d781172bbadcc51c4b203200f1a0adfe50ae4246",
|
||||
"manual"
|
||||
],
|
||||
"html/dom/elements/name-content-attribute-and-property.html": [
|
||||
"bcfbd29c33c1e8e68c6f712ad7e2f3ded8cc6686",
|
||||
"testharness"
|
||||
],
|
||||
"html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001a.html": [
|
||||
"16a308a2f7792a142ed69505f33d111831a063f9",
|
||||
"reftest"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
[HTMLFieldSetElement.html]
|
||||
[name on HTMLFieldSetElement must enqueue an attributeChanged reaction when adding a new attribute]
|
||||
expected: FAIL
|
||||
|
||||
[name on HTMLFieldSetElement must enqueue an attributeChanged reaction when replacing an existing attribute]
|
||||
expected: FAIL
|
||||
|
|
@ -9,39 +9,21 @@
|
|||
[same-origin <frame name=>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[cross-origin <iframe name=initialvalue>]
|
||||
expected: FAIL
|
||||
|
||||
[cross-origin <embed name=initialvalue>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[same-origin <iframe name=>]
|
||||
expected: FAIL
|
||||
|
||||
[same-origin <embed>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[cross-origin <iframe>]
|
||||
expected: FAIL
|
||||
|
||||
[cross-origin <frame name=initialvalue>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[cross-origin <iframe name=>]
|
||||
expected: FAIL
|
||||
|
||||
[same-origin <object name=initialvalue>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[cross-origin <object name=initialvalue>]
|
||||
expected: TIMEOUT
|
||||
|
||||
[same-origin <iframe>]
|
||||
expected: FAIL
|
||||
|
||||
[same-origin <iframe name=initialvalue>]
|
||||
expected: FAIL
|
||||
|
||||
[same-origin <object name=>]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
[name-content-attribute-and-property.html]
|
||||
[embed element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
||||
|
||||
[frame element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
||||
|
||||
[map element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
||||
|
||||
[object element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
||||
|
||||
[param element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
||||
|
||||
[slot element\'s name property reflects its content attribute]
|
||||
expected: FAIL
|
|
@ -2235,9 +2235,6 @@
|
|||
[HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLOutputElement interface: attribute name]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLInputElement interface: createInput("url") must inherit property "reportValidity()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -3000,9 +2997,6 @@
|
|||
[HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -3408,9 +3402,6 @@
|
|||
[HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLFieldSetElement interface: attribute name]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLInputElement interface: createInput("time") must inherit property "reportValidity()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -4454,4 +4445,3 @@
|
|||
|
||||
[HTMLElement interface: document.createElement("noscript") must inherit property "onwebkittransitionend" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
[form.dir: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[form.dir: setAttribute() to undefined followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[form.dir: setAttribute() to 7 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1188,135 +1185,6 @@
|
|||
[fieldset.tabIndex: IDL set to -2147483648 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: typeof IDL attribute]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL get with DOM attribute unset]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to "" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to undefined followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to 7 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to 1.5 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to true followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to false followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "[object Object\]" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to NaN followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to -Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to "\\0" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to null followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "test-toString" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "test-valueOf" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to "" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to undefined followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to undefined followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 7 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 7 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 1.5 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 1.5 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to true followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to true followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to false followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to false followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "[object Object\]" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "[object Object\]" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to NaN followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to NaN followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to Infinity followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to -Infinity followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to -Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to "\\0" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to null followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to null followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "test-toString" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "test-toString" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "test-valueOf" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.itemScope: typeof IDL attribute]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -12261,135 +12129,6 @@
|
|||
[output.tabIndex: IDL set to -2147483648 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: typeof IDL attribute]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL get with DOM attribute unset]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to "" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to undefined followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to 7 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to 1.5 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to true followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to false followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "[object Object\]" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to NaN followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to -Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to "\\0" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to null followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "test-toString" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "test-valueOf" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to "" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to undefined followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to undefined followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 7 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 7 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 1.5 followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 1.5 followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to true followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to true followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to false followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to false followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "[object Object\]" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "[object Object\]" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to NaN followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to NaN followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to Infinity followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to -Infinity followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to -Infinity followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to "\\0" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to null followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to null followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "test-toString" followed by getAttribute()]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "test-toString" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "test-valueOf" followed by IDL get]
|
||||
expected: FAIL
|
||||
|
||||
[output.itemScope: typeof IDL attribute]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -16842,96 +16581,6 @@
|
|||
[fieldset.tabIndex: IDL set to -2147483648]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to ""]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to undefined]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to 7]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to true]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to false]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "[object Object\]"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to NaN]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to -Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to "\\0"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to null]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "test-toString"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to object "test-valueOf"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to ""]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to undefined]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 7]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to true]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to false]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "[object Object\]"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to NaN]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to -Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to "\\0"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to null]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "test-toString"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to object "test-valueOf"]
|
||||
expected: FAIL
|
||||
|
||||
[legend.dir: setAttribute() to ""]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -22830,96 +22479,6 @@
|
|||
[output.tabIndex: IDL set to -2147483648]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to ""]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to undefined]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to 7]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to true]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to false]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "[object Object\]"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to NaN]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to -Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to "\\0"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to null]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "test-toString"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to object "test-valueOf"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to ""]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo "]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to undefined]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 7]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to 1.5]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to true]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to false]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "[object Object\]"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to NaN]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to -Infinity]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to "\\0"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to null]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "test-toString"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to object "test-valueOf"]
|
||||
expected: FAIL
|
||||
|
||||
[progress.dir: setAttribute() to ""]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24135,9 +23694,6 @@
|
|||
[button.autofocus: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[button.accessKey: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24153,9 +23709,6 @@
|
|||
[form.accessKey: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[textarea.autofocus: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24231,8 +23784,6 @@
|
|||
[option.accessKey: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[select.accessKey: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
@ -24249,9 +23800,6 @@
|
|||
[textarea.autofocus: IDL set to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
[meter.accessKey: setAttribute() to "5%"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24513,9 +24061,6 @@
|
|||
[select.autocomplete: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[optgroup.dir: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24567,9 +24112,6 @@
|
|||
[form.dir: IDL set to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[textarea.accessKey: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24594,9 +24136,6 @@
|
|||
[input.accessKey: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[optgroup.dir: setAttribute() to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24672,9 +24211,6 @@
|
|||
[button.dir: IDL set to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[form.accessKey: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24687,9 +24223,6 @@
|
|||
[textarea.autocomplete: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: IDL set to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[button.dir: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24702,9 +24235,6 @@
|
|||
[textarea.dir: setAttribute() to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[output.name: setAttribute() to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[progress.accessKey: IDL set to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24816,9 +24346,6 @@
|
|||
[label.dir: IDL set to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
[legend.align: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -24837,9 +24364,6 @@
|
|||
[label.dir: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[fieldset.name: setAttribute() to ".5"]
|
||||
expected: FAIL
|
||||
|
||||
[meter.accessKey: setAttribute() to "+100"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[form-elements-nameditem-01.html]
|
||||
type: testharness
|
||||
[elements collection should include fieldsets]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Only certain HTML elements reflect the name content attribute as a property</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
function doesReflect(tagName) {
|
||||
var element = document.createElement(tagName);
|
||||
element.setAttribute("name", "foo");
|
||||
assert_equals(element.getAttribute("name"), "foo", "setAttribute should change content attribute");
|
||||
element.name = "bar";
|
||||
assert_equals(element.getAttribute("name"), "bar", "assignment to .name should change content attribute");
|
||||
}
|
||||
|
||||
function doesNotReflect(tagName) {
|
||||
var element = document.createElement(tagName);
|
||||
element.setAttribute("name", "foo");
|
||||
assert_equals(element.getAttribute("name"), "foo", "setAttribute should change content attribute");
|
||||
element.name = "bar";
|
||||
assert_equals(element.getAttribute("name"), "foo", "assignment to .name should not change content attribute");
|
||||
}
|
||||
|
||||
var nonReflectingTagNames = [
|
||||
"abbr", "acronym", "address", "area", "article", "aside", "audio",
|
||||
"b", "base", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body","br",
|
||||
"canvas", "caption", "center", "cite", "code", "col", "colgroup",
|
||||
"data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt",
|
||||
"em",
|
||||
"figcaption", "figure", "font", "footer", "frameset",
|
||||
"h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html",
|
||||
"i", "ins", "isindex",
|
||||
"kbd",
|
||||
"label", "legend", "li", "link", "listing",
|
||||
"main", "mark", "marquee", "meter", "multicol",
|
||||
"nav", "nextid", "nobr", "noframes", "noscript",
|
||||
"option",
|
||||
"p", "picture", "plaintext", "pre", "progress",
|
||||
"q",
|
||||
"rp", "rt", "ruby",
|
||||
"s", "samp", "script", "section", "small", "source", "spacer",
|
||||
"span", "strike", "strong", "style", "sub", "summary", "sup",
|
||||
"table", "tbody", "td", "template", "tfoot",
|
||||
"th", "thead", "time", "title", "tr", "tt", "track",
|
||||
"u", "ul",
|
||||
"var", "video",
|
||||
"wbr",
|
||||
"xmp",
|
||||
"unknown"
|
||||
];
|
||||
|
||||
var reflectingTagNames = [
|
||||
"a", "button", "embed",
|
||||
"fieldset", "form", "frame",
|
||||
"iframe", "img", "input",
|
||||
"map", "meta",
|
||||
"object", "output",
|
||||
"param",
|
||||
"select", "slot",
|
||||
"textarea",
|
||||
];
|
||||
|
||||
reflectingTagNames.forEach(function(tagName) {
|
||||
test(function() {
|
||||
doesReflect(tagName)
|
||||
}, tagName + " element's name property reflects its content attribute");
|
||||
});
|
||||
|
||||
nonReflectingTagNames.forEach(function(tagName) {
|
||||
test(function() {
|
||||
doesNotReflect(tagName)
|
||||
}, tagName + " element's name property does not reflect its content attribute");
|
||||
});
|
||||
</script>
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue