mirror of
https://github.com/servo/servo.git
synced 2025-06-08 00:23:30 +00:00
Fix delete_char when selection range is empty
An empty selection range should be treated the same as no selection. Fixes browserhtml/browserhtml#930.
This commit is contained in:
parent
f2f05869d6
commit
db2c1841cb
2 changed files with 9 additions and 2 deletions
|
@ -20,7 +20,7 @@ pub enum Selection {
|
|||
NotSelected
|
||||
}
|
||||
|
||||
#[derive(JSTraceable, Copy, Clone, HeapSizeOf)]
|
||||
#[derive(JSTraceable, Copy, Clone, HeapSizeOf, PartialEq)]
|
||||
pub struct TextPoint {
|
||||
/// 0-based line number
|
||||
pub line: usize,
|
||||
|
@ -123,7 +123,7 @@ impl<T: ClipboardProvider> TextInput<T> {
|
|||
|
||||
/// Remove a character at the current editing point
|
||||
pub fn delete_char(&mut self, dir: Direction) {
|
||||
if self.selection_begin.is_none() {
|
||||
if self.selection_begin.is_none() || self.selection_begin == Some(self.edit_point) {
|
||||
self.adjust_horizontal_by_one(dir, Selection::Selected);
|
||||
}
|
||||
self.replace_selection(DOMString::new());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue