Issue #10491 add HTMLInputElement attributes that reflect content identically

it uses a new version of string-cache https://github.com/servo/string-cache/pull/148
This commit is contained in:
Arnaud Marant 2016-04-09 22:09:47 +02:00
parent bc2237ea2b
commit 9b8f183cba
24 changed files with 138 additions and 1400 deletions

View file

@ -27,7 +27,7 @@ serde = "0.7"
serde_macros = "0.7"
servo-skia = "0.20130412.0"
smallvec = "0.1"
string_cache = {version = "0.2.11", features = ["heap_size"]}
string_cache = {version = "0.2.12", features = ["heap_size"]}
time = "0.1.12"
unicode-script = { version = "0.1", features = ["harfbuzz"] }
url = {version = "0.5.7", features = ["heap_size"]}

View file

@ -76,7 +76,7 @@ serde = "0.7"
serde_json = "0.7"
serde_macros = "0.7"
smallvec = "0.1"
string_cache = {version = "0.2.11", features = ["heap_size"]}
string_cache = {version = "0.2.12", features = ["heap_size"]}
time = "0.1"
unicode-bidi = "0.2"
unicode-script = { version = "0.1", features = ["harfbuzz"] }

View file

@ -91,7 +91,7 @@ rustc-serialize = "0.3"
selectors = {version = "0.5", features = ["heap_size"]}
serde = "0.7"
smallvec = "0.1"
string_cache = {version = "0.2.11", features = ["heap_size", "unstable"]}
string_cache = {version = "0.2.12", features = ["heap_size", "unstable"]}
time = "0.1.12"
unicase = "1.0"
url = {version = "0.5.7", features = ["heap_size"]}

View file

@ -305,6 +305,25 @@ impl LayoutHTMLInputElementHelpers for LayoutJS<HTMLInputElement> {
}
impl HTMLInputElementMethods for HTMLInputElement {
// https://html.spec.whatwg.org/multipage/#attr-input-accept
make_getter!(Accept, "accept");
// https://html.spec.whatwg.org/multipage/#attr-input-accept
make_setter!(SetAccept, "accept");
// https://html.spec.whatwg.org/multipage/#attr-input-alt
make_getter!(Alt, "alt");
// https://html.spec.whatwg.org/multipage/#attr-input-alt
make_setter!(SetAlt, "alt");
// https://html.spec.whatwg.org/multipage/#attr-input-dirName
make_getter!(DirName, "dirname");
// https://html.spec.whatwg.org/multipage/#attr-input-dirName
make_setter!(SetDirName, "dirname");
// https://html.spec.whatwg.org/multipage/#dom-fe-disabled
make_bool_getter!(Disabled, "disabled");
@ -458,12 +477,54 @@ impl HTMLInputElementMethods for HTMLInputElement {
// https://html.spec.whatwg.org/multipage/#attr-fs-formnovalidate
make_bool_setter!(SetFormNoValidate, "formnovalidate");
// https://html.spec.whatwg.org/multipage/#attr-input-max
make_getter!(Max, "max");
// https://html.spec.whatwg.org/multipage/#attr-input-max
make_setter!(SetMax, "max");
// https://html.spec.whatwg.org/multipage/#dom-input-maxlength
make_int_getter!(MaxLength, "maxlength", DEFAULT_MAX_LENGTH);
// https://html.spec.whatwg.org/multipage/#dom-input-maxlength
make_limited_int_setter!(SetMaxLength, "maxlength", DEFAULT_MAX_LENGTH);
// https://html.spec.whatwg.org/multipage/#attr-input-min
make_getter!(Min, "min");
// https://html.spec.whatwg.org/multipage/#attr-input-min
make_setter!(SetMin, "min");
// https://html.spec.whatwg.org/multipage/#attr-input-multiple
make_bool_getter!(Multiple, "multiple");
// https://html.spec.whatwg.org/multipage/#attr-input-multiple
make_bool_setter!(SetMultiple, "multiple");
// https://html.spec.whatwg.org/multipage/#attr-input-pattern
make_getter!(Pattern, "pattern");
// https://html.spec.whatwg.org/multipage/#attr-input-pattern
make_setter!(SetPattern, "pattern");
// https://html.spec.whatwg.org/multipage/#attr-input-required
make_bool_getter!(Required, "required");
// https://html.spec.whatwg.org/multipage/#attr-input-required
make_bool_setter!(SetRequired, "required");
// https://html.spec.whatwg.org/multipage/#attr-input-src
make_getter!(Src, "src");
// https://html.spec.whatwg.org/multipage/#attr-input-src
make_setter!(SetSrc, "src");
// https://html.spec.whatwg.org/multipage/#attr-input-step
make_getter!(Step, "step");
// https://html.spec.whatwg.org/multipage/#attr-input-step
make_setter!(SetStep, "step");
// https://html.spec.whatwg.org/multipage/#dom-input-indeterminate
fn Indeterminate(&self) -> bool {
self.upcast::<Element>().state().contains(IN_INDETERMINATE_STATE)

View file

@ -5,13 +5,13 @@
// https://html.spec.whatwg.org/multipage/#htmlinputelement
interface HTMLInputElement : HTMLElement {
// attribute DOMString accept;
// attribute DOMString alt;
attribute DOMString accept;
attribute DOMString alt;
// attribute DOMString autocomplete;
// attribute boolean autofocus;
attribute boolean defaultChecked;
attribute boolean checked;
// attribute DOMString dirName;
attribute DOMString dirName;
attribute boolean disabled;
readonly attribute HTMLFormElement? form;
//readonly attribute FileList? files;
@ -24,21 +24,21 @@ interface HTMLInputElement : HTMLElement {
attribute boolean indeterminate;
// attribute DOMString inputMode;
//readonly attribute HTMLElement? list;
// attribute DOMString max;
attribute DOMString max;
[SetterThrows]
attribute long maxLength;
// attribute DOMString min;
attribute DOMString min;
// attribute long minLength;
// attribute boolean multiple;
attribute boolean multiple;
attribute DOMString name;
// attribute DOMString pattern;
attribute DOMString pattern;
attribute DOMString placeholder;
attribute boolean readOnly;
// attribute boolean required;
attribute boolean required;
[SetterThrows]
attribute unsigned long size;
// attribute DOMString src;
// attribute DOMString step;
attribute DOMString src;
attribute DOMString step;
attribute DOMString type;
attribute DOMString defaultValue;
[TreatNullAs=EmptyString, SetterThrows]

View file

@ -713,8 +713,8 @@ dependencies = [
"servo-fontconfig 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-skia 0.20130412.6 (registry+https://github.com/rust-lang/crates.io-index)",
"simd 0.1.0 (git+https://github.com/huonw/simd)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
@ -890,7 +890,7 @@ dependencies = [
"phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -1074,8 +1074,8 @@ dependencies = [
"serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1734,8 +1734,8 @@ dependencies = [
"script_traits 0.0.1",
"selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
"unicase 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1794,8 +1794,8 @@ dependencies = [
"heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"quickersort 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -1942,7 +1942,7 @@ source = "git+https://github.com/huonw/simd#03de1cd0a278ab902b4beb402d57505f3797
[[package]]
name = "smallvec"
version = "0.1.7"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -1956,7 +1956,7 @@ dependencies = [
[[package]]
name = "string_cache"
version = "0.2.11"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"debug_unreachable 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1989,8 +1989,8 @@ dependencies = [
"selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"style_traits 0.0.1",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
"url 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2007,7 +2007,7 @@ dependencies = [
"msg 0.0.1",
"plugins 0.0.1",
"selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
"url 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2196,8 +2196,8 @@ dependencies = [
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"url 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -2424,7 +2424,7 @@ dependencies = [
"phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
]

View file

@ -40,7 +40,7 @@ selectors = {version = "0.5", features = ["heap_size", "unstable"]}
serde = {version = "0.7", features = ["nightly"]}
serde_macros = "0.7"
smallvec = "0.1"
string_cache = {version = "0.2.11", features = ["heap_size"]}
string_cache = {version = "0.2.12", features = ["heap_size"]}
time = "0.1"
url = {version = "0.5.7", features = ["heap_size"]}

View file

@ -44,7 +44,7 @@ rustc-serialize = "0.3"
serde = "0.7"
serde_macros = "0.7"
smallvec = "0.1"
string_cache = {version = "0.2.11", features = ["heap_size"]}
string_cache = {version = "0.2.12", features = ["heap_size"]}
url = {version = "0.5.7", features = ["heap_size", "serde_serialization"]}
[target.x86_64-pc-windows-gnu.dependencies]