diff options
-rw-r--r-- | components/layout/wrapper.rs | 4 | ||||
-rw-r--r-- | components/script/Cargo.toml | 1 | ||||
-rw-r--r-- | components/script/dom/htmlinputelement.rs | 9 | ||||
-rw-r--r-- | components/script/dom/htmltextareaelement.rs | 2 | ||||
-rw-r--r-- | components/script/lib.rs | 1 | ||||
-rw-r--r-- | components/script/textinput.rs | 17 | ||||
-rw-r--r-- | components/servo/Cargo.lock | 1 | ||||
-rw-r--r-- | ports/cef/Cargo.lock | 1 | ||||
-rw-r--r-- | ports/gonk/Cargo.lock | 1 |
9 files changed, 14 insertions, 23 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 2e22234e42b..86c370c0a83 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -1087,8 +1087,8 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> { } else { return None; }; - selection.map(|range| Range::new(ByteIndex(range.begin() as isize), - ByteIndex(range.length() as isize))) + selection.map(|range| Range::new(ByteIndex(range.start as isize), + ByteIndex(range.len() as isize))) } fn image_url(&self) -> Option<Url> { diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index f4cdde5a19f..30edcfea66c 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -49,7 +49,6 @@ offscreen_gl_context = "0.1.2" rand = "0.3" phf = "0.7.13" phf_macros = "0.7.13" -range = { path = "../range" } ref_filter_map = "1.0" ref_slice = "0.1.0" regex = "0.1.43" diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index a5bdacf44a4..e37d0ea4b9b 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -31,13 +31,13 @@ use dom::nodelist::NodeList; use dom::validation::Validatable; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; -use range::Range; use script_runtime::CommonScriptMsg; use script_runtime::ScriptThreadEventCategory::InputEvent; use script_thread::Runnable; use script_traits::ScriptMsg as ConstellationMsg; use std::borrow::ToOwned; use std::cell::Cell; +use std::ops::Range; use string_cache::Atom; use style::element_state::*; use textinput::KeyReaction::{DispatchInput, Nothing, RedrawSelection, TriggerDefaultAction}; @@ -245,12 +245,11 @@ impl LayoutHTMLInputElementHelpers for LayoutJS<HTMLInputElement> { let sel = textinput.get_absolute_selection_range(); // Translate indices from the raw value to indices in the replacement value. - let char_start = text[.. sel.begin()].chars().count(); - let char_count = text[sel.begin() .. sel.end()].chars().count(); + let char_start = text[.. sel.start].chars().count(); + let char_end = char_start + text[sel].chars().count(); let bytes_per_char = PASSWORD_REPLACEMENT_CHAR.len_utf8(); - Some(Range::new(char_start * bytes_per_char, - char_count * bytes_per_char)) + Some(char_start * bytes_per_char .. char_end * bytes_per_char) } InputType::InputText => Some(textinput.get_absolute_selection_range()), _ => None diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 739cb04eb15..0f764f12e7d 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -26,9 +26,9 @@ use dom::nodelist::NodeList; use dom::validation::Validatable; use dom::virtualmethods::VirtualMethods; use msg::constellation_msg::ConstellationChan; -use range::Range; use script_traits::ScriptMsg as ConstellationMsg; use std::cell::Cell; +use std::ops::Range; use string_cache::Atom; use style::element_state::*; use textinput::{KeyReaction, Lines, TextInput, SelectionDirection}; diff --git a/components/script/lib.rs b/components/script/lib.rs index 43d42d47a95..dde2063cfc3 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -59,7 +59,6 @@ extern crate phf; #[macro_use] extern crate profile_traits; extern crate rand; -extern crate range; extern crate ref_filter_map; extern crate ref_slice; extern crate regex; diff --git a/components/script/textinput.rs b/components/script/textinput.rs index ffd707c5d27..56e3fa98631 100644 --- a/components/script/textinput.rs +++ b/components/script/textinput.rs @@ -8,10 +8,10 @@ use clipboard_provider::ClipboardProvider; use dom::keyboardevent::{KeyboardEvent, key_value}; use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER}; use msg::constellation_msg::{Key, KeyModifiers}; -use range::Range; use std::borrow::ToOwned; use std::cmp::{max, min}; use std::default::Default; +use std::ops::Range; use std::usize; use util::str::DOMString; @@ -220,10 +220,12 @@ impl<T: ClipboardProvider> TextInput<T> { /// If there is no selection, returns an empty range at the insertion point. pub fn get_absolute_selection_range(&self) -> Range<usize> { match self.get_sorted_selection() { - Some((begin, _end)) => - Range::new(self.get_absolute_point_for_text_point(&begin), self.selection_len()), - None => - Range::new(self.get_absolute_insertion_point(), 0) + Some((begin, end)) => self.get_absolute_point_for_text_point(&begin) .. + self.get_absolute_point_for_text_point(&end), + None => { + let insertion_point = self.get_absolute_insertion_point(); + insertion_point .. insertion_point + } } } @@ -235,11 +237,6 @@ impl<T: ClipboardProvider> TextInput<T> { Some(text) } - /// The length of the selected text in UTF-8 bytes. - fn selection_len(&self) -> usize { - self.fold_selection_slices(0, |len, slice| *len += slice.len()) - } - /// The length of the selected text in UTF-16 code units. fn selection_utf16_len(&self) -> usize { self.fold_selection_slices(0usize, diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 72bb1f53f42..bf85110547f 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -1819,7 +1819,6 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index a8b2211b4e0..e7f5815fdbf 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -1687,7 +1687,6 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index 6be8e25b977..a45e072c261 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -1670,7 +1670,6 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", |