1/*
2 * Copyright (C) 2006, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4 * Copyright (C) 2011 Motorola Mobility, Inc. 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
22interface HTMLTextAreaElement : HTMLElement {
23    [Reflect] attribute boolean autofocus;
24    attribute long cols;
25    [Reflect] attribute DOMString dirName;
26    [Reflect] attribute boolean disabled;
27    [ImplementedAs=formOwner] readonly attribute HTMLFormElement form;
28    [RaisesException=Setter] attribute long maxLength;
29    [Reflect] attribute DOMString name;
30    [Reflect] attribute DOMString placeholder;
31    [Reflect] attribute boolean readOnly;
32    [Reflect] attribute boolean required;
33    attribute long rows;
34    [Reflect] attribute DOMString wrap;
35    [RuntimeEnabled=InputModeAttribute, Reflect] attribute DOMString inputMode;
36
37    readonly attribute DOMString type;
38    attribute DOMString defaultValue;
39    [TreatNullAs=NullString] attribute DOMString value;
40    readonly attribute unsigned long textLength;
41
42    readonly attribute boolean willValidate;
43    readonly attribute ValidityState validity;
44    readonly attribute DOMString validationMessage;
45    boolean checkValidity();
46    void setCustomValidity([TreatUndefinedAs=NullString] DOMString? error);
47
48    readonly attribute NodeList labels;
49
50    void select();
51    attribute long selectionStart;
52    attribute long selectionEnd;
53    attribute DOMString selectionDirection;
54
55    [RaisesException] void setRangeText(DOMString replacement);
56    [RaisesException] void setRangeText(DOMString replacement,
57                        unsigned long start,
58                        unsigned long end,
59                        optional DOMString selectionMode = null);
60
61    void setSelectionRange([Default=Undefined] optional long start,
62                           [Default=Undefined] optional long end,
63                           optional DOMString direction);
64};
65