Implement the HTMLScriptElement.src setter

Fixes #1113.
This commit is contained in:
Matt Brubeck 2014-12-04 12:55:25 -08:00
parent b8444f96f8
commit cddc6923d4
9 changed files with 5 additions and 85 deletions

View file

@ -28,6 +28,7 @@ use encoding::types::{Encoding, DecodeReplace};
use servo_net::resource_task::load_whole_resource;
use servo_util::str::{DOMString, HTML_SPACE_CHARACTERS, StaticStringVec};
use std::cell::Cell;
use string_cache::Atom;
use url::UrlParser;
#[dom_struct]
@ -302,10 +303,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLScriptElement> {
}
impl<'a> HTMLScriptElementMethods for JSRef<'a, HTMLScriptElement> {
fn Src(self) -> DOMString {
let element: JSRef<Element> = ElementCast::from_ref(self);
element.get_url_attribute(&atom!("src"))
}
make_url_getter!(Src)
make_setter!(SetSrc, "src")
// http://www.whatwg.org/html/#dom-script-text
fn Text(self) -> DOMString {

View file

@ -5,8 +5,7 @@
// http://www.whatwg.org/html/#htmlscriptelement
interface HTMLScriptElement : HTMLElement {
// attribute DOMString src;
readonly attribute DOMString src;
attribute DOMString src;
// attribute DOMString type;
// attribute DOMString charset;
// attribute boolean async;

View file

@ -6090,9 +6090,6 @@
[HTMLScriptElement interface object length]
expected: FAIL
[HTMLScriptElement interface: attribute src]
expected: FAIL
[HTMLScriptElement interface: attribute type]
expected: FAIL

View file

@ -1386,105 +1386,54 @@
[script.src: setAttribute() to object "test-valueOf" followed by IDL get]
expected: FAIL
[script.src: IDL set to "" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to "" followed by IDL get]
expected: FAIL
[script.src: IDL set to " foo " followed by getAttribute()]
expected: FAIL
[script.src: IDL set to " foo " followed by IDL get]
expected: FAIL
[script.src: IDL set to "http://site.example/" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to "http://site.example/" followed by IDL get]
expected: FAIL
[script.src: IDL set to "//site.example/path???@#l" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to "//site.example/path???@#l" followed by IDL get]
expected: FAIL
[script.src: 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 " followed by getAttribute()]
expected: FAIL
[script.src: 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 " followed by IDL get]
expected: FAIL
[script.src: IDL set to undefined followed by getAttribute()]
expected: FAIL
[script.src: IDL set to undefined followed by IDL get]
expected: FAIL
[script.src: IDL set to 7 followed by getAttribute()]
expected: FAIL
[script.src: IDL set to 7 followed by IDL get]
expected: FAIL
[script.src: IDL set to 1.5 followed by getAttribute()]
expected: FAIL
[script.src: IDL set to 1.5 followed by IDL get]
expected: FAIL
[script.src: IDL set to true followed by getAttribute()]
expected: FAIL
[script.src: IDL set to true followed by IDL get]
expected: FAIL
[script.src: IDL set to false followed by getAttribute()]
expected: FAIL
[script.src: IDL set to false followed by IDL get]
expected: FAIL
[script.src: IDL set to object "[object Object\]" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to object "[object Object\]" followed by IDL get]
expected: FAIL
[script.src: IDL set to NaN followed by getAttribute()]
expected: FAIL
[script.src: IDL set to NaN followed by IDL get]
expected: FAIL
[script.src: IDL set to Infinity followed by getAttribute()]
expected: FAIL
[script.src: IDL set to Infinity followed by IDL get]
expected: FAIL
[script.src: IDL set to -Infinity followed by getAttribute()]
expected: FAIL
[script.src: IDL set to -Infinity followed by IDL get]
expected: FAIL
[script.src: IDL set to "\\0" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to "\\0" followed by IDL get]
expected: FAIL
[script.src: IDL set to null followed by getAttribute()]
expected: FAIL
[script.src: IDL set to null followed by IDL get]
expected: FAIL
[script.src: IDL set to object "test-toString" followed by getAttribute()]
expected: FAIL
[script.src: IDL set to object "test-toString" followed by IDL get]
expected: FAIL

View file

@ -1,5 +0,0 @@
[095.html]
type: testharness
[ scheduler: slow-loading script added from defer blocking load event]
expected: FAIL

View file

@ -1,5 +0,0 @@
[105.html]
type: testharness
[ scheduler: adding async attribute at runtime]
expected: FAIL

View file

@ -1,5 +0,0 @@
[123.html]
type: testharness
[scheduler: altering the type attribute and adding/removing external script with async=false ]
expected: FAIL

View file

@ -1,5 +0,0 @@
[126.html]
type: testharness
[scheduler: altering the type attribute and changing script data external script async=false ]
expected: FAIL

View file

@ -1,5 +0,0 @@
[146.html]
type: testharness
[scheduler: SVG script adding src attribute ]
expected: FAIL