diff --git a/source b/source index b2fe9a497c3..9debaf45650 100644 --- a/source +++ b/source @@ -3251,6 +3251,15 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
ShadowRoot interfaceText interfaceRange interfaceOpaqueRange interface, and its
+ start container,
+ start offset,
+ end container,
+ end offset,
+ associated element, and
+ disconnect() methodOpaqueRange createValueRange(unsigned long start, unsigned long end);
undefined showPicker();
@@ -48740,7 +48750,8 @@ interface HTMLInputElement : HTMLElement {
selectionEnd, and
selectionDirection, IDL attributes, the
setRangeText() and
- setSelectionRange() methods, the
+ setSelectionRange(), and
+ createValueRange() methods, the
stepUp() and
stepDown() methods, and the
input and
@@ -49764,6 +49775,30 @@ interface HTMLInputElement : HTMLElement {
createValueRange()
+ value content attribute, if there is
one, or the empty string otherwise, and then run the current value sanitization
algorithm, if one is defined.
+
+ If the element supports opaque ranges and this operation changes its value, then run the opaque range full replacement + steps with the element, the old value's length, and the new value's + length.
type attribute's
- current state defines one.
+ current state defines one. If the element supports opaque ranges and its value changed, then run the opaque range full replacement
+ steps with the element, the old value's length, and the new value's
+ length.
Each input element can be mutable. Except where
@@ -50022,6 +50065,13 @@ interface HTMLInputElement : HTMLElement {
copy.
The input HTML element removing steps, given
+ removedNode and oldParent, are: if removedNode supports
+ opaque ranges, then disconnect all associated OpaqueRanges from
+ removedNode.
The activation behavior for input elements element, given
event, are these steps:
none".
+
+ If previouslySelectable is true and nowSelectable is false, then + disconnect all associated OpaqueRanges from this element.
Invoke the value sanitization algorithm, if the element's type attribute's current state defines one.
If the element's value is different + from oldValue, and the element supports opaque ranges, then run + the opaque range full replacement steps with the element, + oldValue's length, and the current value's length.
If the element's value (after applying the
value sanitization algorithm) is different from oldValue, and the
element has a text entry cursor position,
@@ -55386,6 +55445,9 @@ You cannot submit this form when the field is incorrect.
data-x="dom-Event-composed">composed attributes initialized to true. The corresponding
change event, if any, will be fired when the control loses focus.
Before queuing that task, if the element supports opaque ranges, then run the + opaque range replacement steps with the element, the edit's code unit offset, the + number of code units removed, and the number of code units inserted.
Examples of a user changing the element's HTMLTextAreaElement : HTMLElement {
undefined setRangeText(DOMString replacement);
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);
+ [NewObject] OpaqueRange createValueRange(unsigned long start, unsigned long end);
};
HTMLTextAreaElement.
Before queuing that task, if the element supports opaque ranges, then run the + opaque range replacement steps with the element, the edit's code unit offset, the + number of code units removed, and the number of code units inserted.
@@ -57704,11 +57770,21 @@ interface HTMLTextAreaElement : HTMLElement { value flag from node to copy. +The textarea HTML element removing steps, given
+ removedNode and oldParent, are to disconnect all associated
+ OpaqueRanges from removedNode.
The children changed steps for textarea elements must, if the
element's dirty value flag is false, set the element's
raw value to its child text
- content.
Set this element's raw value to the new value.
Set this element's dirty value flag to - true.
Set this element's dirty value flag to true.
If this changes the element's API value, + and the element supports opaque ranges, then run the opaque range full + replacement steps with this element, the length of + oldAPIValue, and the length of the element's new API value.
If the new API value is different from
oldAPIValue, then move the text entry
@@ -61926,6 +62011,24 @@ MIT Room 32-G524
+
+ Returns an Throws a " Throws an " If start is greater than end, the range is collapsed to
+ start. Let new end be the sum of start and new length. Let deleted count be max(0, end minus start). If this element supports opaque ranges, then run the opaque range
+ replacement steps with this element, start, deleted count, and
+ new length. Run the appropriate set of substeps from the following list: A Each element that supports opaque ranges has a set of associated
+ OpaqueRanges, which is a set of For an element that supports opaque ranges, the opaque range internal
+ container is the internal node representing the element's relevant value text. The opaque range full replacement steps, given an element
+ element, an integer oldLength, and an integer newLength, are to
+ run the opaque range replacement steps with element, 0,
+ oldLength, and newLength. The opaque range replacement steps, given an element element,
+ a non-negative integer offset, a non-negative integer count, and a
+ non-negative integer insertedLength, are: For each For each For each For each These updates operate on UTF-16 code unit indices. The opaque range disconnect steps, given an element element and an
+ To disconnect all associated OpaqueRanges from an element element that
+ supports opaque ranges, run the The If this element is an Let length be the length of this element's relevant value. If start is greater than length, then throw an
+ " If end is greater than length, then throw an
+ " If start is greater than end, then set end to
+ start. Let range be a new Set range's associated
+ element to this element. Append range to this element's set of
+ associated OpaqueRanges. Return range. The range = element.createValueRange(start, end)OpaqueRange object representing the portion of the element's relevant value from start to
+ end.NotSupportedError" DOMException if the
+ element does not support opaque ranges.IndexSizeError" DOMException if
+ start or end is greater than the length of the relevant value.textarea element, or an input element whose type attribute is in the Text, Search,
+ Telephone, URL, or Password state, supports opaque ranges.OpaqueRange objects, initially
+ empty.
+
+
+ OpaqueRange in element's set of associated
+ OpaqueRanges whose start offset is greater than offset but less
+ than or equal to offset plus count, set its start offset to
+ offset.OpaqueRange in element's set of associated
+ OpaqueRanges whose end offset is greater than offset but less
+ than or equal to offset plus count, set its end offset to
+ offset.OpaqueRange in element's set of associated
+ OpaqueRanges whose start offset is greater than offset plus
+ count, increase its start offset by insertedLength and
+ decrease it by count.OpaqueRange in element's set of associated
+ OpaqueRanges whose end offset is greater than offset plus
+ count, increase its end offset by insertedLength and
+ decrease it by count.OpaqueRange range, are to remove
+ range from element's set of associated OpaqueRanges.disconnect() method steps on all items in
+ element's set of associated OpaqueRanges.createValueRange(start,
+ end) method, when invoked, must run the following steps:
+
+ input element, and createValueRange() does not apply to this element, then throw a
+ "NotSupportedError" DOMException.IndexSizeError" DOMException.IndexSizeError" DOMException.OpaqueRange with start container
+ and end container set to this element's opaque range internal container,
+ start offset start, and end offset end.setRangeText() method uses the
following enumeration: