From f83e1a34dcd043a2c575bab51f145b2366d26cd0 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 25 Oct 2016 18:42:45 -0700 Subject: [PATCH] script: Implement the `frameBorder` attribute on `HTMLIFrameElement`. google.com uses this for the "set Google as your home page" popup. --- components/script/dom/htmliframeelement.rs | 5 + .../dom/webidls/HTMLIFrameElement.webidl | 2 +- .../wpt/metadata/html/dom/interfaces.html.ini | 3 - .../html/dom/reflection-embedded.html.ini | 129 ------------------ 4 files changed, 6 insertions(+), 133 deletions(-) diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index cd18f86ee6a..963f7f83165 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -544,6 +544,11 @@ impl HTMLIFrameElementMethods for HTMLIFrameElement { // https://html.spec.whatwg.org/multipage/#dom-dim-height make_dimension_setter!(SetHeight, "height"); + // https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:attr-iframe-frameborder + make_getter!(FrameBorder, "frameborder"); + // https://html.spec.whatwg.org/multipage/#other-elements,-attributes-and-apis:attr-iframe-frameborder + make_setter!(SetFrameBorder, "frameborder"); + // check-tidy: no specs after this line fn SetMozprivatebrowsing(&self, value: bool) { let element = self.upcast::(); diff --git a/components/script/dom/webidls/HTMLIFrameElement.webidl b/components/script/dom/webidls/HTMLIFrameElement.webidl index ced089391d2..d12935c7811 100644 --- a/components/script/dom/webidls/HTMLIFrameElement.webidl +++ b/components/script/dom/webidls/HTMLIFrameElement.webidl @@ -23,7 +23,7 @@ interface HTMLIFrameElement : HTMLElement { partial interface HTMLIFrameElement { // attribute DOMString align; // attribute DOMString scrolling; - // attribute DOMString frameBorder; + attribute DOMString frameBorder; // attribute DOMString longDesc; //[TreatNullAs=EmptyString] attribute DOMString marginHeight; diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index 67181fad83d..d9e3bda0495 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -1689,9 +1689,6 @@ [HTMLIFrameElement interface: attribute scrolling] expected: FAIL - [HTMLIFrameElement interface: attribute frameBorder] - expected: FAIL - [HTMLIFrameElement interface: attribute longDesc] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/reflection-embedded.html.ini b/tests/wpt/metadata/html/dom/reflection-embedded.html.ini index 9086f7a8d02..a7016569e17 100644 --- a/tests/wpt/metadata/html/dom/reflection-embedded.html.ini +++ b/tests/wpt/metadata/html/dom/reflection-embedded.html.ini @@ -2445,135 +2445,6 @@ [iframe.scrolling: IDL set to object "test-valueOf" followed by IDL get] expected: FAIL - [iframe.frameBorder: typeof IDL attribute] - expected: FAIL - - [iframe.frameBorder: IDL get with DOM attribute unset] - expected: FAIL - - [iframe.frameBorder: setAttribute() to "" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: 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 - - [iframe.frameBorder: setAttribute() to undefined followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to 7 followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to 1.5 followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to true followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to false followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to object "[object Object\]" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to NaN followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to Infinity followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to -Infinity followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to "\\0" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to null followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to object "test-toString" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: setAttribute() to object "test-valueOf" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to "" followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: 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 - - [iframe.frameBorder: IDL set to undefined followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to undefined followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to 7 followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to 7 followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to 1.5 followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to 1.5 followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to true followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to true followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to false followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to false followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to object "[object Object\]" followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to object "[object Object\]" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to NaN followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to NaN followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to Infinity followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to Infinity followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to -Infinity followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to -Infinity followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to "\\0" followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to null followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to null followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to object "test-toString" followed by getAttribute()] - expected: FAIL - - [iframe.frameBorder: IDL set to object "test-toString" followed by IDL get] - expected: FAIL - - [iframe.frameBorder: IDL set to object "test-valueOf" followed by IDL get] - expected: FAIL - [iframe.longDesc: typeof IDL attribute] expected: FAIL