Auto merge of #10505 - amarant:10491-HTMLInputElement-attr, r=KiChjang

Issue #10491 add HTMLInputElement attributes that reflect content ide…

…ntically

it uses a new version of string-cache https://github.com/servo/string-cache/pull/148

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10505)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-04-12 05:58:16 +05:30
commit 61865f66b5
24 changed files with 138 additions and 1400 deletions

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]