8eae321ffe0edc1a72c3b404f9ee8dfdf76cee5a
[WebKit-https.git] / Source / WebCore / html / HTMLInputElement.idl
1 /*
2  * Copyright (C) 2006, 2010 Apple Inc. All rights reserved.
3  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4  * Copyright (C) 2012 Samsung Electronics. All rights reserved.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public License
17  * along with this library; see the file COPYING.LIB.  If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  */
21
22 [
23     ExportMacro=WEBCORE_EXPORT,
24     JSGenerateToNativeObject,
25 ] interface HTMLInputElement : HTMLElement {
26     [Reflect] attribute DOMString accept;
27     [Reflect] attribute DOMString alt;
28     attribute DOMString autocomplete;
29     [Reflect] attribute boolean autofocus;
30     [Reflect=checked] attribute boolean defaultChecked;
31     attribute boolean checked;
32     [Reflect] attribute DOMString dirName;
33     [Reflect] attribute boolean disabled;
34     readonly attribute HTMLFormElement form;
35     attribute FileList? files;
36     attribute USVString formAction;
37
38     attribute DOMString formEnctype;
39     attribute DOMString formMethod;
40
41     [Reflect] attribute boolean formNoValidate;
42     [Reflect] attribute DOMString formTarget;
43     attribute unsigned long height;
44     attribute boolean indeterminate;
45     [Conditional=DATALIST_ELEMENT] readonly attribute HTMLElement list;
46     [Reflect] attribute DOMString max;
47     [SetterMayThrowLegacyException] attribute long minLength;
48     [SetterMayThrowLegacyException] attribute long maxLength;
49     [Reflect] attribute DOMString min;
50     [Reflect] attribute boolean multiple;
51     [Reflect] attribute DOMString name;
52     [Reflect] attribute DOMString pattern;
53     [Reflect] attribute DOMString placeholder;
54     [Reflect] attribute boolean readOnly;
55     [Reflect] attribute boolean required;
56     [SetterMayThrowLegacyException] attribute unsigned long size; // Changed string -> long -> unsigned long
57     [Reflect, URL] attribute USVString src;
58     [Reflect] attribute DOMString step;
59     attribute DOMString type; // readonly dropped as part of DOM level 2
60     attribute DOMString defaultValue;
61     // See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085
62     [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString value;
63     [SetterMayThrowLegacyException] attribute Date? valueAsDate;
64     [SetterMayThrowLegacyException] attribute unrestricted double valueAsNumber;
65
66     [MayThrowLegacyException] void stepUp(optional long n = 1);
67     [MayThrowLegacyException] void stepDown(optional long n = 1);
68
69     attribute unsigned long width;
70     readonly attribute boolean willValidate;
71     readonly attribute ValidityState validity;
72     readonly attribute DOMString validationMessage;
73     boolean checkValidity();
74     void setCustomValidity(DOMString? error);
75
76     readonly attribute NodeList labels;
77
78     void select();
79     [Custom] attribute long selectionStart;
80     [Custom] attribute long selectionEnd;
81     [Custom] attribute DOMString selectionDirection;
82
83     [MayThrowLegacyException] void setRangeText(DOMString replacement);
84     [MayThrowLegacyException] void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional DOMString selectionMode);
85
86     [Custom] void setSelectionRange(long start, long end, optional DOMString direction);
87
88     // Non-standard attributes
89     [Reflect] attribute DOMString align;
90     [Reflect] attribute DOMString useMap;
91     [Reflect] attribute boolean incremental;
92
93     [Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE] attribute boolean autocorrect;
94
95     [Conditional=IOS_AUTOCORRECT_AND_AUTOCAPITALIZE, TreatNullAs=EmptyString] attribute DOMString autocapitalize;
96
97     // See http://www.w3.org/TR/html-media-capture/
98     [Conditional=MEDIA_CAPTURE, Reflect] attribute DOMString capture;
99 };