diff --git a/dom/ranges/tentative/OpaqueRange-basic.html b/dom/ranges/tentative/OpaqueRange-basic.html
index ab7fbf26f3cca8..fe734e5c1508aa 100644
--- a/dom/ranges/tentative/OpaqueRange-basic.html
+++ b/dom/ranges/tentative/OpaqueRange-basic.html
@@ -6,29 +6,29 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(0, 5);
+ const range = textarea.createValueRange(0, 5);
assert_true(range instanceof OpaqueRange, "|range| should be an instance of OpaqueRange.");
assert_true(range instanceof AbstractRange, "|range| should also be an instance of AbstractRange.");
assert_false(range instanceof Range, "|range| should not be an instance of Range.");
-}, "Tests getValueRange returns OpaqueRange that extends AbstractRange.");
+}, "Tests createValueRange returns OpaqueRange that extends AbstractRange.");
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(1, 4);
+ const range = textarea.createValueRange(1, 4);
assert_equals(range.startContainer, null, "startContainer should be null.");
assert_equals(range.endContainer, null, "endContainer should be null.");
assert_equals(range.startOffset, 1);
assert_equals(range.endOffset, 4);
assert_false(range.collapsed);
-}, "OpaqueRange handles getValueRange correctly.");
+}, "OpaqueRange handles createValueRange correctly.");
test(() => {
document.body.innerHTML = '';
const input = document.body.firstElementChild;
- const range = input.getValueRange(0, 0);
+ const range = input.createValueRange(0, 0);
assert_equals(range.startOffset, 0);
assert_equals(range.endOffset, 0);
diff --git a/dom/ranges/tentative/OpaqueRange-disconnect.html b/dom/ranges/tentative/OpaqueRange-disconnect.html
index 733918df321249..c38effffab5f60 100644
--- a/dom/ranges/tentative/OpaqueRange-disconnect.html
+++ b/dom/ranges/tentative/OpaqueRange-disconnect.html
@@ -6,7 +6,7 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(1, 4);
+ const range = textarea.createValueRange(1, 4);
range.disconnect();
@@ -23,7 +23,7 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(1, 4);
+ const range = textarea.createValueRange(1, 4);
range.disconnect();
range.disconnect();
@@ -35,7 +35,7 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(1, 4);
+ const range = textarea.createValueRange(1, 4);
range.disconnect();
textarea.value = "World!";
@@ -47,8 +47,8 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range1 = textarea.getValueRange(0, 3);
- const range2 = textarea.getValueRange(2, 5);
+ const range1 = textarea.createValueRange(0, 3);
+ const range2 = textarea.createValueRange(2, 5);
range1.disconnect();
@@ -63,10 +63,10 @@
test(() => {
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range = textarea.getValueRange(1, 4);
+ const range = textarea.createValueRange(1, 4);
range.disconnect();
- const newRange = textarea.getValueRange(0, 5);
+ const newRange = textarea.createValueRange(0, 5);
assert_equals(newRange.startOffset, 0);
assert_equals(newRange.endOffset, 5);
assert_false(newRange.collapsed);
diff --git a/dom/ranges/tentative/OpaqueRange-geometry-basic.html b/dom/ranges/tentative/OpaqueRange-geometry-basic.html
index d29d5f035fb3e4..efe0d6590af316 100644
--- a/dom/ranges/tentative/OpaqueRange-geometry-basic.html
+++ b/dom/ranges/tentative/OpaqueRange-geometry-basic.html
@@ -28,7 +28,7 @@
return element;
}
function setupOpaqueRange(element, startOffset, endOffset){
- return element.getValueRange(startOffset, endOffset);
+ return element.createValueRange(startOffset, endOffset);
}
function assert_rect_inside(inner, outer, msg = '') {
@@ -101,11 +101,11 @@
}, `Full selection bounding box inside element (${controlType})`);
test(() => {
- // Backwards offsets are auto-collapsed by getValueRange; caret geometry applies.
+ // Backwards offsets are auto-collapsed by createValueRange; caret geometry applies.
document.body.innerHTML = controlType === 'input' ? ''
: '';
const element = document.body.firstElementChild;
- const range = element.getValueRange(3, 1);
+ const range = element.createValueRange(3, 1);
assert_true(range.collapsed, 'collapsed');
const caretRect = range.getBoundingClientRect();
assert_approx_equals(caretRect.width, 0, 0.05, 'caret width should be 0');
diff --git a/dom/ranges/tentative/OpaqueRange-geometry-complexity-and-visibility.html b/dom/ranges/tentative/OpaqueRange-geometry-complexity-and-visibility.html
index 34bdf2d9af3e4e..fd74fdb074a0ad 100644
--- a/dom/ranges/tentative/OpaqueRange-geometry-complexity-and-visibility.html
+++ b/dom/ranges/tentative/OpaqueRange-geometry-complexity-and-visibility.html
@@ -46,7 +46,7 @@
test(() => {
const mixed = 'abc \u0645\u0631\u062D\u0628\u0627 def'; // abc مرحبا def.
const element = setupControl(controlType, mixed);
- const range = element.getValueRange(0, mixed.length);
+ const range = element.createValueRange(0, mixed.length);
const boundingRect = rect(range, element, 'Bidirectional text full selection inside: ');
assert_greater_than(boundingRect.width, 0);
assert_greater_than(boundingRect.height, 0);
@@ -59,13 +59,13 @@
const value = '\ud83c\udf20A\ud83c\udf20'; // 🌠A🌠 in UTF-16.
const element = setupControl(controlType, value);
- const fullRects = Array.from(element.getValueRange(0, value.length).getClientRects());
+ const fullRects = Array.from(element.createValueRange(0, value.length).getClientRects());
assert_greater_than_equal(fullRects.length, 1, 'full selection has rects');
const fullWidth = fullRects[0].width;
- const wHalf1 = Array.from(element.getValueRange(0, 1).getClientRects())[0]?.width ?? 0;
- const wHalf2 = Array.from(element.getValueRange(1, 2).getClientRects())[0]?.width ?? 0;
- const wPair = Array.from(element.getValueRange(0, 2).getClientRects())[0]?.width ?? 0;
+ const wHalf1 = Array.from(element.createValueRange(0, 1).getClientRects())[0]?.width ?? 0;
+ const wHalf2 = Array.from(element.createValueRange(1, 2).getClientRects())[0]?.width ?? 0;
+ const wPair = Array.from(element.createValueRange(0, 2).getClientRects())[0]?.width ?? 0;
assert_greater_than(wPair, 0, 'pair width greater than 0');
assert_greater_than_equal(wPair + 0.05, Math.max(wHalf1, wHalf2), 'full pair width greater than or equal to any single code-unit slice');
@@ -79,7 +79,7 @@
: '';
const hidden = document.getElementById('test');
hidden.focus();
- const range = hidden.getValueRange(2, 2);
+ const range = hidden.createValueRange(2, 2);
const caretRect = rect(range, hidden, 'hidden caret inside: ');
assert_greater_than(caretRect.height, 0, 'caret height greater than 0');
assert_approx_equals(caretRect.width, 0, 0.05, 'caret width should be 0');
diff --git a/dom/ranges/tentative/OpaqueRange-geometry-multiline-and-mutations.html b/dom/ranges/tentative/OpaqueRange-geometry-multiline-and-mutations.html
index 808428575f0f43..c5659a0b47c968 100644
--- a/dom/ranges/tentative/OpaqueRange-geometry-multiline-and-mutations.html
+++ b/dom/ranges/tentative/OpaqueRange-geometry-multiline-and-mutations.html
@@ -45,7 +45,7 @@
// Partial selection spanning a hard newline produces non-zero geometry and at least one client rect.
const textareaElement = setupControl('textarea', 'first line\nSECOND LINE\nthird');
const firstLine = 'first line';
- const range = textareaElement.getValueRange(firstLine.length - 4, firstLine.length + 5);
+ const range = textareaElement.createValueRange(firstLine.length - 4, firstLine.length + 5);
const boundingRect = rect(range, textareaElement, 'Bounding box inside: ');
assert_greater_than(boundingRect.width, 0);
assert_greater_than(boundingRect.height, 0);
@@ -55,7 +55,7 @@
test(() => {
// Selection that spans a blank line should still produce non-zero geometry.
const textareaElement = setupControl('textarea', 'line1\n\nline3');
- const range = textareaElement.getValueRange(0, textareaElement.value.length);
+ const range = textareaElement.createValueRange(0, textareaElement.value.length);
const boundingRect = rect(range, textareaElement, 'Bounding box inside: ');
assert_greater_than(boundingRect.height, 0);
assert_greater_than(boundingRect.width, 0);
@@ -66,7 +66,7 @@
const textareaElement = setupControl('textarea', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 abcdefghijklmnopqrstuvwxyz');
textareaElement.style.whiteSpace = 'pre-wrap';
textareaElement.style.width = '160px';
- const range = textareaElement.getValueRange(0, textareaElement.value.length);
+ const range = textareaElement.createValueRange(0, textareaElement.value.length);
const boundingRect = rect(range, textareaElement, 'Bounding box inside: ');
assert_greater_than_equal(range.getClientRects().length, 2, 'soft wrap multiple rects');
}, 'Soft-wrapped long single line (textarea)');
@@ -75,8 +75,8 @@
// Caret before newline and start of next line have non-decreasing y and expected x ordering.
const value = '123456\n789012';
const textareaElement = setupControl('textarea', value);
- const caretBeforeNewlineRect = rect(textareaElement.getValueRange(6, 6), textareaElement, 'caret before newline inside: ');
- const caretNextLineRect = rect(textareaElement.getValueRange(7, 7), textareaElement, 'caret next line inside: ');
+ const caretBeforeNewlineRect = rect(textareaElement.createValueRange(6, 6), textareaElement, 'caret before newline inside: ');
+ const caretNextLineRect = rect(textareaElement.createValueRange(7, 7), textareaElement, 'caret next line inside: ');
// Allow caret before newline to be aligned or slightly (sub-pixel) to the right.
assert_greater_than_equal(caretBeforeNewlineRect.x + 0.5, caretNextLineRect.x, 'caret before newline at or to the right (epsilon) of next line start');
assert_less_than_equal(caretBeforeNewlineRect.y, caretNextLineRect.y, 'next line lower or equal y');
@@ -85,7 +85,7 @@
test(() => {
// Live insert/delete operations adjust selection left/width as expected (grow/shift/shrink).
const inputElement = setupControl('input', 'ABCDE');
- const range = inputElement.getValueRange(1, 3);
+ const range = inputElement.createValueRange(1, 3);
const leftBeforeInsertion = rect(range, inputElement).left;
inputElement.setRangeText('ZZ', 0, 0);
@@ -111,7 +111,7 @@
test(() => {
// Interior deletion shrinks width; insertion before selection shifts selection right in textarea.
const textareaElement = setupControl('textarea', 'ABCDE');
- const range = textareaElement.getValueRange(1, 4);
+ const range = textareaElement.createValueRange(1, 4);
const widthBeforeDeletion = rect(range, textareaElement).width;
textareaElement.setRangeText('', 2, 3);
assert_less_than(rect(range, textareaElement).width, widthBeforeDeletion, 'textarea interior deletion shrinks width');
@@ -124,7 +124,7 @@
test(() => {
// Inserting text inside selection increases its width.
const element = setupControl(controlType, 'ABCDE');
- const range = element.getValueRange(1, 4);
+ const range = element.createValueRange(1, 4);
const widthBeforeInsertion = rect(range, element).width;
element.setRangeText('ZZ', 2, 2);
assert_greater_than(rect(range, element).width, widthBeforeInsertion, 'insertion inside expands width');
@@ -133,7 +133,7 @@
test(() => {
// Deleting full selection collapses to a caret.
const element = setupControl(controlType, 'ABCDE');
- const range = element.getValueRange(1, 4);
+ const range = element.createValueRange(1, 4);
assert_greater_than(rect(range, element).width, 0, 'pre width greater than 0');
element.setRangeText('', 1, 4);
assert_true(range.collapsed, 'collapsed after deletion');
@@ -144,7 +144,7 @@
test(() => {
// Shrink near end clamps range end; subsequent insertion at end does not auto-extend.
const element = setupControl(controlType, 'HelloWorld');
- const range = element.getValueRange(0, element.value.length);
+ const range = element.createValueRange(0, element.value.length);
element.setRangeText('', 7, 10);
const endAfterShrink = range.endOffset;
assert_equals(endAfterShrink, element.value.length, 'end clamped after shrink');
@@ -155,7 +155,7 @@
test(() => {
// Tail deletion clamps end offset while remaining selection geometry stays non-zero.
const element = setupControl(controlType, 'HelloWorld');
- const range = element.getValueRange(0, element.value.length);
+ const range = element.createValueRange(0, element.value.length);
element.setRangeText('', 5, 10);
assert_equals(element.value, 'Hello', 'value shrunk to Hello');
assert_equals(range.endOffset, element.value.length, 'end offset clamped to new value length');
@@ -167,7 +167,7 @@
test(() => {
// Deleting selected text collapses to a caret with zero width.
const inputElement = setupControl('input', 'ABCDE');
- const range = inputElement.getValueRange(1, 4);
+ const range = inputElement.createValueRange(1, 4);
inputElement.setRangeText('', 1, 4);
assert_true(range.collapsed, 'collapsed after deletion');
assert_approx_equals(rect(range, inputElement).width, 0, 0.05, 'width should be 0');
diff --git a/dom/ranges/tentative/OpaqueRange-interactive-basic.html b/dom/ranges/tentative/OpaqueRange-interactive-basic.html
index 8f5761af3c98b9..35d76f715f42a0 100644
--- a/dom/ranges/tentative/OpaqueRange-interactive-basic.html
+++ b/dom/ranges/tentative/OpaqueRange-interactive-basic.html
@@ -43,7 +43,7 @@
].forEach(({ name, init, exp }) => {
promise_test(async t => {
const element = setup(control, init.value);
- const range = element.getValueRange(init.s, init.e);
+ const range = element.createValueRange(init.s, init.e);
element.setSelectionRange(init.caret, init.caret);
await typeKeys(element, init.ins);
assert_equals(range.startOffset, exp.s, 'startOffset');
@@ -59,7 +59,7 @@
].forEach(({ name, init, exp }) => {
promise_test(async t => {
const element = setup(control, init.value);
- const range = element.getValueRange(init.s, init.e);
+ const range = element.createValueRange(init.s, init.e);
element.setSelectionRange(init.a, init.b);
await typeKeys(element, init.text);
assert_equals(range.startOffset, exp.s);
@@ -83,7 +83,7 @@
].forEach(({ name, init, exp }) => {
promise_test(async t => {
const element = setup(control, init.value);
- const range = element.getValueRange(init.s, init.e);
+ const range = element.createValueRange(init.s, init.e);
element.setSelectionRange(init.caret, init.caret);
await typeKeys(element, init.key);
assert_equals(element.value, exp.value);
diff --git a/dom/ranges/tentative/OpaqueRange-interactive-overlap-and-selection.html b/dom/ranges/tentative/OpaqueRange-interactive-overlap-and-selection.html
index b960e233175699..40ffd5ac18c75b 100644
--- a/dom/ranges/tentative/OpaqueRange-interactive-overlap-and-selection.html
+++ b/dom/ranges/tentative/OpaqueRange-interactive-overlap-and-selection.html
@@ -36,7 +36,7 @@
].forEach(tc => {
promise_test(async t => {
const element = setup(control, tc.init.value);
- const range = element.getValueRange(tc.init.rangeStart, tc.init.rangeEnd);
+ const range = element.createValueRange(tc.init.rangeStart, tc.init.rangeEnd);
element.setSelectionRange(tc.init.selA, tc.init.selB);
if (tc.init.key) {
await typeKeys(element, tc.init.key);
@@ -59,7 +59,7 @@
].forEach(tc => {
promise_test(async t => {
const element = setup(control, tc.init.value);
- const range = element.getValueRange(tc.init.rangeStart, tc.init.rangeEnd);
+ const range = element.createValueRange(tc.init.rangeStart, tc.init.rangeEnd);
element.setSelectionRange(tc.init.selA, tc.init.selB);
await typeKeys(element, tc.init.key);
assert_equals(element.value, tc.expect.value, 'post-delete value');
@@ -73,7 +73,7 @@
promise_test(async t => {
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(2, 4);
+ const range = element.createValueRange(2, 4);
element.setSelectionRange(1, 1);
await typeKeys(element, KEY_DELETE);
assert_equals(element.value, 'ACDE');
diff --git a/dom/ranges/tentative/OpaqueRange-offset.html b/dom/ranges/tentative/OpaqueRange-offset.html
index 7d2fb891972c19..2ebc621cf4dda3 100644
--- a/dom/ranges/tentative/OpaqueRange-offset.html
+++ b/dom/ranges/tentative/OpaqueRange-offset.html
@@ -18,32 +18,32 @@
const element = setupControl(control, "A");
[[0, 0, true], [0, 1, false], [1, 1, true]].forEach(([start, end, collapsed]) => {
- const range = element.getValueRange(start, end);
+ const range = element.createValueRange(start, end);
assert_equals(range.startOffset, start, `[${start}, ${end}] startOffset`);
assert_equals(range.endOffset, end, `[${start}, ${end}] endOffset`);
assert_equals(range.collapsed, collapsed, `[${start}, ${end}] collapsed`);
});
- }, `getValueRange with single character in ${control}.`);
+ }, `createValueRange with single character in ${control}.`);
test(() => {
const element = setupControl(control, "");
- const range = element.getValueRange(0, 0);
+ const range = element.createValueRange(0, 0);
assert_equals(range.startOffset, 0);
assert_equals(range.endOffset, 0);
assert_true(range.collapsed);
- }, `getValueRange with empty control in ${control}.`);
+ }, `createValueRange with empty control in ${control}.`);
test(() => {
const element = setupControl(control, "Hello World");
[[0, 5, false], [5, 6, false], [6, 11, false], [11, 11, true]].forEach(([start, end, collapsed]) => {
- const range = element.getValueRange(start, end);
+ const range = element.createValueRange(start, end);
assert_equals(range.startOffset, start, `[${start}, ${end}] startOffset`);
assert_equals(range.endOffset, end, `[${start}, ${end}] endOffset`);
assert_equals(range.collapsed, collapsed, `[${start}, ${end}] collapsed`);
});
- }, `getValueRange boundary positions in ${control}.`);
+ }, `createValueRange boundary positions in ${control}.`);
test(() => {
const testCases = [
@@ -67,13 +67,13 @@
testCases.forEach(testCase => {
const element = setupControl(control, testCase.text);
testCase.ranges.forEach(([start, end, collapsed]) => {
- const range = element.getValueRange(start, end);
+ const range = element.createValueRange(start, end);
assert_equals(range.startOffset, start, `[${start}, ${end}] startOffset`);
assert_equals(range.endOffset, end, `[${start}, ${end}] endOffset`);
assert_equals(range.collapsed, collapsed, `[${start}, ${end}] collapsed`);
});
});
- }, `getValueRange with Unicode characters in ${control}.`);
+ }, `createValueRange with Unicode characters in ${control}.`);
});
@@ -83,11 +83,11 @@
const textarea = document.body.firstElementChild;
// Whitespace is preserved in textarea.value.
- const range = textarea.getValueRange(0, textarea.value.length);
+ const range = textarea.createValueRange(0, textarea.value.length);
assert_equals(range.startOffset, 0);
assert_equals(range.endOffset, textarea.value.length);
assert_false(range.collapsed);
-}, "getValueRange on textarea with whitespace in light DOM.");
+}, "createValueRange on textarea with whitespace in light DOM.");
test(() => {
document.body.innerHTML = '';
@@ -105,12 +105,12 @@
textarea.append(document.createTextNode("Some rendered content"));
textarea.append(document.createTextNode("Some more rendered content"));
- // getValueRange uses element.value, which includes text nodes but ignores element children.
- const range = textarea.getValueRange(0, textarea.value.length);
+ // createValueRange uses element.value, which includes text nodes but ignores element children.
+ const range = textarea.createValueRange(0, textarea.value.length);
assert_equals(range.startOffset, 0);
assert_equals(range.endOffset, textarea.value.length);
assert_false(range.collapsed);
-}, "getValueRange works correctly with weirdly formed light DOM structure.");
+}, "createValueRange works correctly with weirdly formed light DOM structure.");
test(() => {
// Test input with child nodes (which shouldn't exist but might)
@@ -121,11 +121,11 @@
input.appendChild(document.createTextNode("Ignored"));
input.appendChild(document.createElement("span")).textContent = "AlsoIgnored";
- const range = input.getValueRange(0, input.value.length);
+ const range = input.createValueRange(0, input.value.length);
// Input.value is unaffected by child nodes.
assert_equals(range.startOffset, 0);
assert_equals(range.endOffset, 8); // "Original".length
assert_false(range.collapsed);
-}, "getValueRange ignores malformed input child nodes.");
+}, "createValueRange ignores malformed input child nodes.");
diff --git a/dom/ranges/tentative/OpaqueRange-programmatic-updates.html b/dom/ranges/tentative/OpaqueRange-programmatic-updates.html
index 718c4380ef35a9..f03c345a047472 100644
--- a/dom/ranges/tentative/OpaqueRange-programmatic-updates.html
+++ b/dom/ranges/tentative/OpaqueRange-programmatic-updates.html
@@ -51,7 +51,7 @@
// OpaqueRange: full .value replacement (shorter) collapses to [0,0].
let element = setup(control, 'ABCDEFG');
- let range = element.getValueRange(2, 5);
+ let range = element.createValueRange(2, 5);
element.value = 'XY';
assert_equals(range.startOffset, 0, 'OpaqueRange shorter: start collapsed to 0');
assert_equals(range.endOffset, 0, 'OpaqueRange shorter: end collapsed to 0');
@@ -65,7 +65,7 @@
// OpaqueRange: full .value replacement (longer) collapses to [0,0].
element = setup(control, 'ABC');
- range = element.getValueRange(1, 3);
+ range = element.createValueRange(1, 3);
element.value = 'ABCDEFGHIJKLMNOP';
assert_equals(range.startOffset, 0, 'OpaqueRange longer: start collapsed to 0');
assert_equals(range.endOffset, 0, 'OpaqueRange longer: end collapsed to 0');
@@ -81,7 +81,7 @@
// OpaqueRange: same scenario.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(0, 5);
+ const range = element.createValueRange(0, 5);
element.value = 'VWXYZ';
assert_equals(range.startOffset, 0, 'OpaqueRange whole-old: start collapsed to 0');
assert_equals(range.endOffset, 0, 'OpaqueRange whole-old: end collapsed to 0');
@@ -97,7 +97,7 @@
// OpaqueRange: same scenario.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(1, 4);
+ const range = element.createValueRange(1, 4);
element.value = 'VWXYZ';
assert_equals(range.startOffset, 0, 'OpaqueRange equal-length: start collapsed to 0');
assert_equals(range.endOffset, 0, 'OpaqueRange equal-length: end collapsed to 0');
@@ -114,7 +114,7 @@
// OpaqueRange: same replace via setRangeText.
const element = setup(control, '0123456789');
- const range = element.getValueRange(2, 8);
+ const range = element.createValueRange(2, 8);
element.setRangeText('XX', 3, 7);
assert_equals(element.value, '012XX789', 'OpaqueRange value reflects setRangeText replace');
assert_equals(range.startOffset, 2, 'OpaqueRange start unchanged before replaced segment');
@@ -130,7 +130,7 @@
// OpaqueRange: setting same value (no-op); range unchanged.
const element = setup(control, 'HELLO');
- const range = element.getValueRange(1, 4);
+ const range = element.createValueRange(1, 4);
element.value = 'HELLO';
assert_equals(range.startOffset, 1, 'OpaqueRange start unchanged on no-op');
assert_equals(range.endOffset, 4, 'OpaqueRange end unchanged on no-op');
@@ -147,7 +147,7 @@
// OpaqueRange: same insert via setRangeText.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(2, 4);
+ const range = element.createValueRange(2, 4);
element.setRangeText('Q', 1, 1);
assert_equals(element.value, 'AQBCDE', 'OpaqueRange value after insertion before range');
assert_equals(range.startOffset, 3, 'OpaqueRange start +1');
@@ -165,7 +165,7 @@
// OpaqueRange: same delete via setRangeText.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(1, 5);
+ const range = element.createValueRange(1, 5);
element.setRangeText('', 2, 3);
assert_equals(element.value, 'ABDE', 'OpaqueRange value after interior deletion');
assert_equals(range.startOffset, 1, 'OpaqueRange start unchanged');
@@ -183,7 +183,7 @@
// OpaqueRange: same replacement via setRangeText.
const element = setup(control, 'ABCDEFGHIJ');
- const range = element.getValueRange(7, 10);
+ const range = element.createValueRange(7, 10);
element.setRangeText('Z', 2, 5);
assert_equals(element.value, 'ABZFGHIJ', 'OpaqueRange value after before-range shrink');
assert_equals(range.startOffset, 5, 'OpaqueRange start -2');
@@ -201,7 +201,7 @@
// OpaqueRange: same replacement via setRangeText.
const element = setup(control, 'ABCDEFGHIJ');
- const range = element.getValueRange(2, 5);
+ const range = element.createValueRange(2, 5);
element.setRangeText('WXYZ', 7, 9);
assert_equals(element.value, 'ABCDEFGWXYZJ', 'OpaqueRange value after after-range grow');
assert_equals(range.startOffset, 2, 'OpaqueRange start unchanged');
@@ -219,7 +219,7 @@
// OpaqueRange: same replacement via setRangeText.
const element = setup(control, 'ABCDEFG');
- const range = element.getValueRange(2, 5);
+ const range = element.createValueRange(2, 5);
element.setRangeText('Q', 1, 6);
assert_equals(element.value, 'AQG', 'OpaqueRange value after superset replacement');
assert_equals(range.startOffset, 1, 'OpaqueRange collapsed to change start');
@@ -238,7 +238,7 @@
// OpaqueRange: same insertion via setRangeText.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(2, 4);
+ const range = element.createValueRange(2, 4);
element.setRangeText('QQ', 2, 2);
assert_equals(element.value, 'ABQQCDE', 'OpaqueRange value after insert at start boundary');
assert_equals(range.startOffset, 2, 'OpaqueRange start unchanged at boundary');
@@ -256,7 +256,7 @@
// OpaqueRange: same insertion via setRangeText.
const element = setup(control, 'ABCDE');
- const range = element.getValueRange(2, 4);
+ const range = element.createValueRange(2, 4);
element.setRangeText('QQ', 4, 4);
assert_equals(element.value, 'ABCDQQE', 'OpaqueRange value after insert at end boundary');
assert_equals(range.startOffset, 2, 'OpaqueRange start unchanged');
@@ -273,7 +273,7 @@
// OpaqueRange: same replacement via setRangeText.
const element = setup(control, 'A😀BC');
- const range = element.getValueRange(1, 4);
+ const range = element.createValueRange(1, 4);
element.setRangeText('🙂🙂', 1, 3);
assert_equals(range.startOffset, 1, 'OpaqueRange start unchanged inside growth');
assert_equals(range.endOffset, 6, 'OpaqueRange end +2 code units');
@@ -291,7 +291,7 @@
// OpaqueRange: same edits via setRangeText.
const element = setup(control, '012345');
- const range = element.getValueRange(2, 5);
+ const range = element.createValueRange(2, 5);
element.setRangeText('XX', 3, 4);
element.setRangeText('', 3, 5);
assert_equals(element.value, '01245', 'OpaqueRange final value after chained edits');
diff --git a/dom/ranges/tentative/OpaqueRange-range-updates.html b/dom/ranges/tentative/OpaqueRange-range-updates.html
index f078c2225fbb05..35879f00482e0d 100644
--- a/dom/ranges/tentative/OpaqueRange-range-updates.html
+++ b/dom/ranges/tentative/OpaqueRange-range-updates.html
@@ -7,14 +7,14 @@
document.body.innerHTML = '';
const textarea = document.body.firstElementChild;
- const range1 = textarea.getValueRange(0, 5);
+ const range1 = textarea.createValueRange(0, 5);
assert_equals(range1.startOffset, 0);
assert_equals(range1.endOffset, 5);
- const range2 = textarea.getValueRange(6, 11);
+ const range2 = textarea.createValueRange(6, 11);
assert_equals(range2.startOffset, 6);
assert_equals(range2.endOffset, 11);
-}, "getValueRange creates independent ranges on same element.");
+}, "createValueRange creates independent ranges on same element.");
test(() => {
document.body.innerHTML = '';
@@ -22,7 +22,7 @@
const textarea = document.body.children[1];
// Get range on .
- const inputRange = input.getValueRange(0, 4);
+ const inputRange = input.createValueRange(0, 4);
// Opaque range: containers are null.
assert_equals(inputRange.startContainer, null);
assert_equals(inputRange.endContainer, null);
@@ -30,12 +30,12 @@
assert_equals(inputRange.endOffset, 4);
// Get range on