Auto merge of #10035 - saurvs:master, r=jdm

Resets selection in textinput when its content is changed.

Fixes https://github.com/servo/servo/issues/10005.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10035)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-03-17 01:32:58 +05:30
commit 909ff4446a
3 changed files with 29 additions and 1 deletions

View file

@ -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.index = min(self.edit_point.index, self.current_line_length());
self.selection_begin = None;
}
pub fn get_absolute_insertion_point(&self) -> usize {

View file

@ -34784,7 +34784,16 @@
},
"local_changes": {
"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": {

View file

@ -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>