mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Resets selection in textinput when its content is changed.
Adds a wpt test as well.
This commit is contained in:
parent
6c5bfca53e
commit
0b593759df
3 changed files with 29 additions and 1 deletions
|
@ -497,6 +497,7 @@ impl<T: ClipboardProvider> TextInput<T> {
|
||||||
};
|
};
|
||||||
self.edit_point.line = min(self.edit_point.line, self.lines.len() - 1);
|
self.edit_point.line = min(self.edit_point.line, self.lines.len() - 1);
|
||||||
self.edit_point.index = min(self.edit_point.index, self.current_line_length());
|
self.edit_point.index = min(self.edit_point.index, self.current_line_length());
|
||||||
|
self.selection_begin = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_absolute_insertion_point(&self) -> usize {
|
pub fn get_absolute_insertion_point(&self) -> usize {
|
||||||
|
|
|
@ -34784,7 +34784,16 @@
|
||||||
},
|
},
|
||||||
"local_changes": {
|
"local_changes": {
|
||||||
"deleted": [],
|
"deleted": [],
|
||||||
"items": {},
|
"items": {
|
||||||
|
"testharness": {
|
||||||
|
"html/semantics/forms/textfieldselection/selection-after-content-change.html": [
|
||||||
|
{
|
||||||
|
"path": "html/semantics/forms/textfieldselection/selection-after-content-change.html",
|
||||||
|
"url": "/html/semantics/forms/textfieldselection/selection-after-content-change.html"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"reftest_nodes": {}
|
"reftest_nodes": {}
|
||||||
},
|
},
|
||||||
"reftest_nodes": {
|
"reftest_nodes": {
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Selection indices after content change</title>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
var input = document.createElement("input");
|
||||||
|
input.focus();
|
||||||
|
input.value = "something something something dark side";
|
||||||
|
input.setSelectionRange(4,20);
|
||||||
|
assert_equals(input.selectionStart, 4);
|
||||||
|
assert_equals(input.selectionEnd, 20);
|
||||||
|
input.value = "It's a trap!";
|
||||||
|
assert_equals(input.selectionStart, input.value.length);
|
||||||
|
assert_equals(input.selectionEnd, input.value.length);
|
||||||
|
}, "Selection indices after reseting content");
|
||||||
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue