mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #13926 - pcwalton:iframe-frameborder, r=emilio
script: Fix issues relating to <iframe frameborder>. These changes implement the `frameBorder` attribute on `HTMLIFrameElement` and fix the syntax of the rule that implements this presentational hint in the presentational hint stylesheet. Improves google.com. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13926) <!-- Reviewable:end -->
This commit is contained in:
commit
b489ba0983
8 changed files with 42 additions and 134 deletions
|
@ -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::<Element>();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -133,7 +133,7 @@ hr[color], hr[noshade] { border-style: solid; }
|
|||
|
||||
|
||||
|
||||
iframe[frameborder=0], iframe[frameborder=no i] { border: none; }
|
||||
iframe[frameborder="0"], iframe[frameborder=no i] { border: none; }
|
||||
|
||||
applet[align=left i], embed[align=left i], iframe[align=left i], img[type=image i][align=left i], object[align=left i] {
|
||||
float: left;
|
||||
|
|
|
@ -1689,9 +1689,6 @@
|
|||
[HTMLIFrameElement interface: attribute scrolling]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLIFrameElement interface: attribute frameBorder]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLIFrameElement interface: attribute longDesc]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1916,6 +1916,18 @@
|
|||
"url": "/_mozilla/css/iframe/bg_color.html"
|
||||
}
|
||||
],
|
||||
"css/iframe/frameborder_a.html": [
|
||||
{
|
||||
"path": "css/iframe/frameborder_a.html",
|
||||
"references": [
|
||||
[
|
||||
"/_mozilla/css/iframe/frameborder_ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/_mozilla/css/iframe/frameborder_a.html"
|
||||
}
|
||||
],
|
||||
"css/iframe/hide_after_load.html": [
|
||||
{
|
||||
"path": "css/iframe/hide_after_load.html",
|
||||
|
@ -15764,6 +15776,18 @@
|
|||
"url": "/_mozilla/css/iframe/bg_color.html"
|
||||
}
|
||||
],
|
||||
"css/iframe/frameborder_a.html": [
|
||||
{
|
||||
"path": "css/iframe/frameborder_a.html",
|
||||
"references": [
|
||||
[
|
||||
"/_mozilla/css/iframe/frameborder_ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/_mozilla/css/iframe/frameborder_a.html"
|
||||
}
|
||||
],
|
||||
"css/iframe/hide_after_load.html": [
|
||||
{
|
||||
"path": "css/iframe/hide_after_load.html",
|
||||
|
|
6
tests/wpt/mozilla/tests/css/iframe/frameborder_a.html
Normal file
6
tests/wpt/mozilla/tests/css/iframe/frameborder_a.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="match" href="frameborder_ref.html">
|
||||
<iframe frameborder=0 src="data:text/html,%3Cspan%3EJust%20a%20simple%20little%20iframe.%3C%2Fspan%3E"></iframe>
|
||||
<iframe src="data:text/html,%3Cspan%3EJust%20a%20simple%20little%20iframe.%3C%2Fspan%3E"></iframe>
|
||||
|
5
tests/wpt/mozilla/tests/css/iframe/frameborder_ref.html
Normal file
5
tests/wpt/mozilla/tests/css/iframe/frameborder_ref.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<iframe style="border: none" src="data:text/html,%3Cspan%3EJust%20a%20simple%20little%20iframe.%3C%2Fspan%3E"></iframe>
|
||||
<iframe src="data:text/html,%3Cspan%3EJust%20a%20simple%20little%20iframe.%3C%2Fspan%3E"></iframe>
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue