ladybird/Libraries/LibWeb/HTML/HTMLTextAreaElement.idl
Tim Ledbetter db24440403 LibWeb: Allow keyboard input to alter email inputs
Previously, the`HTMLInputElement.selectinStart` and
`HTMLInputElement.selectionEnd` IDL setters, and the
`setRangeText()` IDL method were used when updating an input's value
on keyboard input. These methods can't be used for this purpose,
since selection doesn't apply to email type inputs. Therefore, this
change introduces internal-use only methods that don't check whether
selection applies to the given input.
2024-12-30 11:04:16 +01:00

44 lines
2.1 KiB
Text

#import <HTML/HTMLElement.idl>
#import <HTML/HTMLFormElement.idl>
// https://html.spec.whatwg.org/multipage/form-elements.html#htmltextareaelement
[Exposed=Window]
interface HTMLTextAreaElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Enumerated=Autocomplete, Reflect] attribute DOMString autocomplete;
[CEReactions] attribute unsigned long cols;
[CEReactions, Reflect=dirname] attribute DOMString dirName;
[CEReactions, Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement? form;
[CEReactions] attribute long maxLength;
[CEReactions] attribute long minLength;
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString placeholder;
[CEReactions, Reflect=readonly] attribute boolean readOnly;
[CEReactions, Reflect] attribute boolean required;
[CEReactions] attribute unsigned long rows;
[CEReactions, Reflect] attribute DOMString wrap;
readonly attribute DOMString type;
[CEReactions] attribute DOMString defaultValue;
[LegacyNullToEmptyString] attribute DOMString value;
readonly attribute unsigned long textLength;
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
undefined setCustomValidity(DOMString error);
readonly attribute NodeList labels;
undefined select();
[ImplementedAs=selection_start_binding] attribute unsigned long selectionStart;
[ImplementedAs=selection_end_binding] attribute unsigned long selectionEnd;
[ImplementedAs=selection_direction_binding] attribute DOMString selectionDirection;
[ImplementedAs=set_range_text_binding] undefined setRangeText(DOMString replacement);
[ImplementedAs=set_range_text_binding] undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
};