diff --git a/components/script/dom/webidls/ElementCSSInlineStyle.webidl b/components/script/dom/webidls/ElementCSSInlineStyle.webidl index c71106f3201..3e5696c7e8d 100644 --- a/components/script/dom/webidls/ElementCSSInlineStyle.webidl +++ b/components/script/dom/webidls/ElementCSSInlineStyle.webidl @@ -6,5 +6,5 @@ [Exposed=Window] interface mixin ElementCSSInlineStyle { - [SameObject/*, PutForwards=cssText*/] readonly attribute CSSStyleDeclaration style; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; }; diff --git a/components/script/dom/webidls/HTMLAnchorElement.webidl b/components/script/dom/webidls/HTMLAnchorElement.webidl index f1597112820..f6e48281102 100644 --- a/components/script/dom/webidls/HTMLAnchorElement.webidl +++ b/components/script/dom/webidls/HTMLAnchorElement.webidl @@ -23,7 +23,7 @@ interface HTMLAnchorElement : HTMLElement { // attribute USVString ping; [CEReactions] attribute DOMString rel; - readonly attribute DOMTokenList relList; + [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; // [CEReactions] // attribute DOMString hreflang; // [CEReactions] diff --git a/components/script/dom/webidls/HTMLAreaElement.webidl b/components/script/dom/webidls/HTMLAreaElement.webidl index c0e5b27a3bb..f6c47e1b171 100644 --- a/components/script/dom/webidls/HTMLAreaElement.webidl +++ b/components/script/dom/webidls/HTMLAreaElement.webidl @@ -21,7 +21,7 @@ interface HTMLAreaElement : HTMLElement { // attribute USVString ping; // [CEReactions] // attribute DOMString rel; - readonly attribute DOMTokenList relList; + [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; // hreflang and type are not reflected }; //HTMLAreaElement includes HTMLHyperlinkElementUtils; diff --git a/components/script/dom/webidls/HTMLLinkElement.webidl b/components/script/dom/webidls/HTMLLinkElement.webidl index 0d04ba3f862..33a9119d56c 100644 --- a/components/script/dom/webidls/HTMLLinkElement.webidl +++ b/components/script/dom/webidls/HTMLLinkElement.webidl @@ -13,7 +13,7 @@ interface HTMLLinkElement : HTMLElement { attribute DOMString? crossOrigin; [CEReactions] attribute DOMString rel; - readonly attribute DOMTokenList relList; + [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; [CEReactions] attribute DOMString media; [CEReactions] diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 4ff61c1c047..d17219273c1 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -473142,7 +473142,7 @@ "testharness" ], "WebIDL/ecmascript-binding/put-forwards.html": [ - "d7cc389b1c88ec6f8c166115dbf45b4bc58b540b", + "83ec534b2b358d47cdc4498155dbbca565fc3883", "testharness" ], "WebIDL/ecmascript-binding/sequence-conversion.html": [ diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/put-forwards.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/put-forwards.html.ini index 1ac2d02d551..b3236e1ee55 100644 --- a/tests/wpt/metadata/WebIDL/ecmascript-binding/put-forwards.html.ini +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/put-forwards.html.ini @@ -1,20 +1,4 @@ [put-forwards.html] type: testharness - [Overriding getter of [PutForwards\] attribute] + [Setting form.relList to noreferrer is reflected in rel] expected: FAIL - - [Overriding setter of [PutForwards\] target attribute] - expected: FAIL - - [Overriding target of [PutForwards\] attribute] - expected: FAIL - - [Exception propagation from getter of [PutForwards\] attribute] - expected: FAIL - - [Exception propagation from setter of [PutForwards\] target attribute] - expected: FAIL - - [TypeError when getter of [PutForwards\] attribute returns non-object] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-style-parsing.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-style-parsing.html.ini index 561990dc135..2d64367e8f5 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/font-style-parsing.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/font-style-parsing.html.ini @@ -1,49 +1,3 @@ [font-style-parsing.html] - [Font-style (computed): 'oblique' followed by calc is valid even if it must be clamped (with computation)] - expected: FAIL - - [Font-style (computed): 'oblique' followed by calc is valid even if it must be clamped (no computation)] - expected: FAIL - - [Font-style (computed): 'oblique' followed by minimum -90 degree angle is valid] - expected: FAIL - - [Font-style (computed): 'italic' is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by positive angle in turns is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by fractional angle is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by positive angle in degrees is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by positive angle in gradians is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by positive angle in radians is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by zero degrees is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by calc is valid] - expected: FAIL - [Font-style (computed): 'oblique' followed by calc is valid even if it mixes units (with computation)] expected: FAIL - - [Font-style (computed): 'oblique' followed by positive angle is valid] - expected: FAIL - - [Font-style (computed): 'oblique' is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by maxumum 90 degree angle is valid] - expected: FAIL - - [Font-style (computed): 'oblique' followed by negative angle is valid] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom/idlharness.html.ini b/tests/wpt/metadata/css/cssom/idlharness.html.ini index 4c18dc71370..e872a40f5ef 100644 --- a/tests/wpt/metadata/css/cssom/idlharness.html.ini +++ b/tests/wpt/metadata/css/cssom/idlharness.html.ini @@ -467,9 +467,6 @@ [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "parentStyleSheet" with the proper type] expected: FAIL - [HTMLElement interface: attribute style] - expected: FAIL - [CSSStyleDeclaration interface: attribute parentRule] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/attributes.html.ini b/tests/wpt/metadata/dom/nodes/attributes.html.ini index c04bd404470..b3d17b82df7 100644 --- a/tests/wpt/metadata/dom/nodes/attributes.html.ini +++ b/tests/wpt/metadata/dom/nodes/attributes.html.ini @@ -3,6 +3,4 @@ [When qualifiedName does not match the QName production, an INVALID_CHARACTER_ERR exception is to be thrown.] expected: FAIL - [Toggling element with inline style should make inline style disappear] - expected: FAIL diff --git a/tests/wpt/metadata/html/dom/idlharness.https.html.ini b/tests/wpt/metadata/html/dom/idlharness.https.html.ini index 9e4822fb22f..09d03e3c69c 100644 --- a/tests/wpt/metadata/html/dom/idlharness.https.html.ini +++ b/tests/wpt/metadata/html/dom/idlharness.https.html.ini @@ -1932,9 +1932,6 @@ [HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type] expected: FAIL - [HTMLAreaElement interface: attribute relList] - expected: FAIL - [HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type] expected: FAIL @@ -2526,9 +2523,6 @@ [HTMLMeterElement interface: attribute low] expected: FAIL - [HTMLLinkElement interface: attribute relList] - expected: FAIL - [HTMLEmbedElement interface: attribute height] expected: FAIL @@ -3915,9 +3909,6 @@ [HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type] expected: FAIL - [HTMLAnchorElement interface: attribute relList] - expected: FAIL - [HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html index d7cc389b1c8..83ec534b2b3 100644 --- a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html @@ -115,6 +115,7 @@ test(() => { }); }, "TypeError when getter of [PutForwards] attribute returns non-object"); + test(() => { var element = document.createElement("div"); @@ -128,4 +129,20 @@ test(() => { assert_equals(element.style, element_style); assert_equals(element.style.cssText, null); }, "Does not throw when setter of [PutForwards] attribute returns false"); + +function test_token_list(elementName, attribute, target, value) { + test(() => { + var element=document.createElement(elementName); + assert_true(element[attribute] instanceof DOMTokenList,"The attribute is a DOMTokenList"); + element[attribute]=value; + assert_equals(element.getAttribute(target),value,"Setting the attribute is reflected in the target"); + element[attribute]=""; + assert_equals(element.getAttribute(target),"","Clearing the attribute is reflected in the target"); + },"Setting "+elementName+"."+attribute+" to "+value+" is reflected in "+target) +} + +test_token_list("a","relList","rel","noreferrer"); +test_token_list("area","relList","rel","noreferrer"); +test_token_list("form","relList","rel","noreferrer"); +test_token_list("link","relList","rel","stylesheet");