diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index cd476a47f2b..4b417a2bfaa 100755 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -8,6 +8,7 @@ use dom::attr::Attr; use dom::bindings::cell::DomRefCell; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::FileListBinding::FileListMethods; +use dom::bindings::codegen::Bindings::HTMLFormElementBinding::SelectionMode; use dom::bindings::codegen::Bindings::HTMLInputElementBinding; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::KeyboardEventBinding::KeyboardEventMethods; @@ -188,7 +189,6 @@ pub struct HTMLInputElement { input_type: Cell, checked_changed: Cell, placeholder: DomRefCell, - value_changed: Cell, size: Cell, maxlength: Cell, minlength: Cell, @@ -244,7 +244,6 @@ impl HTMLInputElement { input_type: Cell::new(Default::default()), placeholder: DomRefCell::new(DOMString::new()), checked_changed: Cell::new(false), - value_changed: Cell::new(false), maxlength: Cell::new(DEFAULT_MAX_LENGTH), minlength: Cell::new(DEFAULT_MIN_LENGTH), size: Cell::new(DEFAULT_INPUT_SIZE), @@ -442,6 +441,10 @@ impl TextControl for HTMLInputElement { } } } + + fn set_dirty_value_flag(&self, value: bool) { + self.value_dirty.set(value) + } } impl HTMLInputElementMethods for HTMLInputElement { @@ -581,7 +584,6 @@ impl HTMLInputElementMethods for HTMLInputElement { } } - self.value_changed.set(true); self.upcast::().dirty(NodeDamage::OtherNodeDamage); Ok(()) } @@ -751,6 +753,19 @@ impl HTMLInputElementMethods for HTMLInputElement { self.set_dom_selection_range(start, end, direction) } + // https://html.spec.whatwg.org/multipage/#dom-textarea/input-setrangetext + fn SetRangeText(&self, replacement: DOMString) -> ErrorResult { + // defined in TextControl trait + self.set_dom_range_text(replacement, None, None, Default::default()) + } + + // https://html.spec.whatwg.org/multipage/#dom-textarea/input-setrangetext + fn SetRangeText_(&self, replacement: DOMString, start: u32, end: u32, + selection_mode: SelectionMode) -> ErrorResult { + // defined in TextControl trait + self.set_dom_range_text(replacement, Some(start), Some(end), selection_mode) + } + // Select the files based on filepaths passed in, // enabled by dom.htmlinputelement.select_files.enabled, // used for test purpose. @@ -931,7 +946,6 @@ impl HTMLInputElement { self.SetValue(self.DefaultValue()) .expect("Failed to reset input value to default."); self.value_dirty.set(false); - self.value_changed.set(false); self.upcast::().dirty(NodeDamage::OtherNodeDamage); } @@ -1213,7 +1227,7 @@ impl VirtualMethods for HTMLInputElement { self.update_placeholder_shown_state(); }, - &local_name!("value") if !self.value_changed.get() => { + &local_name!("value") if !self.value_dirty.get() => { let value = mutation.new_value(attr).map(|value| (**value).to_owned()); self.textinput.borrow_mut().set_content( value.map_or(DOMString::new(), DOMString::from)); @@ -1356,7 +1370,7 @@ impl VirtualMethods for HTMLInputElement { keyevent.MetaKey()); }, DispatchInput => { - self.value_changed.set(true); + self.value_dirty.set(true); self.update_placeholder_shown_state(); self.upcast::().dirty(NodeDamage::OtherNodeDamage); event.mark_as_handled(); diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index b2e78e083c0..90574c9967a 100755 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -5,6 +5,7 @@ use dom::attr::Attr; use dom::bindings::cell::DomRefCell; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; +use dom::bindings::codegen::Bindings::HTMLFormElementBinding::SelectionMode; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; @@ -44,7 +45,7 @@ pub struct HTMLTextAreaElement { textinput: DomRefCell>, placeholder: DomRefCell, // https://html.spec.whatwg.org/multipage/#concept-textarea-dirty - value_changed: Cell, + value_dirty: Cell, form_owner: MutNullableDom, } @@ -122,7 +123,7 @@ impl HTMLTextAreaElement { placeholder: DomRefCell::new(DOMString::new()), textinput: DomRefCell::new(TextInput::new( Lines::Multiple, DOMString::new(), chan, None, None, SelectionDirection::None)), - value_changed: Cell::new(false), + value_dirty: Cell::new(false), form_owner: Default::default(), } } @@ -156,6 +157,10 @@ impl TextControl for HTMLTextAreaElement { fn has_selectable_text(&self) -> bool { true } + + fn set_dirty_value_flag(&self, value: bool) { + self.value_dirty.set(value) + } } impl HTMLTextAreaElementMethods for HTMLTextAreaElement { @@ -231,7 +236,7 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { // if the element's dirty value flag is false, then the element's // raw value must be set to the value of the element's textContent IDL attribute - if !self.value_changed.get() { + if !self.value_dirty.get() { self.reset(); } } @@ -253,7 +258,7 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { textinput.set_content(value); // Step 3 - self.value_changed.set(true); + self.value_dirty.set(true); if old_value != textinput.get_content() { // Step 4 @@ -309,6 +314,19 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { fn SetSelectionRange(&self, start: u32, end: u32, direction: Option) -> ErrorResult { self.set_dom_selection_range(start, end, direction) } + + // https://html.spec.whatwg.org/multipage/#dom-textarea/input-setrangetext + fn SetRangeText(&self, replacement: DOMString) -> ErrorResult { + // defined in TextControl trait + self.set_dom_range_text(replacement, None, None, Default::default()) + } + + // https://html.spec.whatwg.org/multipage/#dom-textarea/input-setrangetext + fn SetRangeText_(&self, replacement: DOMString, start: u32, end: u32, + selection_mode: SelectionMode) -> ErrorResult { + // defined in TextControl trait + self.set_dom_range_text(replacement, Some(start), Some(end), selection_mode) + } } @@ -316,7 +334,7 @@ impl HTMLTextAreaElement { pub fn reset(&self) { // https://html.spec.whatwg.org/multipage/#the-textarea-element:concept-form-reset-control self.SetValue(self.DefaultValue()); - self.value_changed.set(false); + self.value_dirty.set(false); } } @@ -409,7 +427,7 @@ impl VirtualMethods for HTMLTextAreaElement { if let Some(ref s) = self.super_type() { s.children_changed(mutation); } - if !self.value_changed.get() { + if !self.value_dirty.get() { self.reset(); } } @@ -432,7 +450,7 @@ impl VirtualMethods for HTMLTextAreaElement { match action { KeyReaction::TriggerDefaultAction => (), KeyReaction::DispatchInput => { - self.value_changed.set(true); + self.value_dirty.set(true); self.update_placeholder_shown_state(); self.upcast::().dirty(NodeDamage::OtherNodeDamage); event.mark_as_handled(); diff --git a/components/script/dom/textcontrol.rs b/components/script/dom/textcontrol.rs index 85211a7990d..342b081621d 100644 --- a/components/script/dom/textcontrol.rs +++ b/components/script/dom/textcontrol.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::cell::DomRefCell; +use dom::bindings::codegen::Bindings::HTMLFormElementBinding::SelectionMode; use dom::bindings::conversions::DerivedFrom; use dom::bindings::error::{Error, ErrorResult}; use dom::bindings::str::DOMString; @@ -10,12 +11,13 @@ use dom::event::{EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::node::{Node, NodeDamage, window_from_node}; use script_traits::ScriptToConstellationChan; -use textinput::{SelectionDirection, TextInput}; +use textinput::{SelectionDirection, SelectionState, TextInput}; pub trait TextControl: DerivedFrom + DerivedFrom { fn textinput(&self) -> &DomRefCell>; fn selection_api_applies(&self) -> bool; fn has_selectable_text(&self) -> bool; + fn set_dirty_value_flag(&self, value: bool); // https://html.spec.whatwg.org/multipage/#dom-textarea/input-select fn dom_select(&self) { @@ -25,7 +27,7 @@ pub trait TextControl: DerivedFrom + DerivedFrom { } // Step 2 - self.set_selection_range(Some(0), Some(u32::max_value()), None); + self.set_selection_range(Some(0), Some(u32::max_value()), None, None); } // https://html.spec.whatwg.org/multipage/#dom-textarea/input-selectionstart @@ -57,7 +59,7 @@ pub trait TextControl: DerivedFrom + DerivedFrom { } // Step 4 - self.set_selection_range(start, Some(end), Some(self.selection_direction())); + self.set_selection_range(start, Some(end), Some(self.selection_direction()), None); Ok(()) } @@ -80,7 +82,7 @@ pub trait TextControl: DerivedFrom + DerivedFrom { } // Step 2 - self.set_selection_range(Some(self.selection_start()), end, Some(self.selection_direction())); + self.set_selection_range(Some(self.selection_start()), end, Some(self.selection_direction()), None); Ok(()) } @@ -105,7 +107,8 @@ pub trait TextControl: DerivedFrom + DerivedFrom { self.set_selection_range( Some(self.selection_start()), Some(self.selection_end()), - direction.map(|d| SelectionDirection::from(d)) + direction.map(|d| SelectionDirection::from(d)), + None ); Ok(()) } @@ -118,7 +121,116 @@ pub trait TextControl: DerivedFrom + DerivedFrom { } // Step 2 - self.set_selection_range(Some(start), Some(end), direction.map(|d| SelectionDirection::from(d))); + self.set_selection_range(Some(start), Some(end), direction.map(|d| SelectionDirection::from(d)), None); + Ok(()) + } + + // https://html.spec.whatwg.org/multipage/#dom-textarea/input-setrangetext + fn set_dom_range_text(&self, replacement: DOMString, start: Option, end: Option, + selection_mode: SelectionMode) -> ErrorResult { + // Step 1 + if !self.selection_api_applies() { + return Err(Error::InvalidState); + } + + // Step 2 + self.set_dirty_value_flag(true); + + // Step 3 + let mut start = start.unwrap_or_else(|| self.selection_start()); + let mut end = end.unwrap_or_else(|| self.selection_end()); + + // Step 4 + if start > end { + return Err(Error::IndexSize); + } + + // Save the original selection state to later pass to set_selection_range, because we will + // change the selection state in order to replace the text in the range. + let original_selection_state = self.textinput().borrow().selection_state(); + + let content_length = self.textinput().borrow().len() as u32; + + // Step 5 + if start > content_length { + start = content_length; + } + + // Step 6 + if end > content_length { + end = content_length; + } + + // Step 7 + let mut selection_start = self.selection_start(); + + // Step 8 + let mut selection_end = self.selection_end(); + + // Step 11 + // Must come before the textinput.replace_selection() call, as replacement gets moved in + // that call. + let new_length = replacement.len() as u32; + + { + let mut textinput = self.textinput().borrow_mut(); + + // Steps 9-10 + textinput.set_selection_range(start, end, SelectionDirection::None); + textinput.replace_selection(replacement); + } + + // Step 12 + let new_end = start + new_length; + + // Step 13 + match selection_mode { + SelectionMode::Select => { + selection_start = start; + selection_end = new_end; + }, + + SelectionMode::Start => { + selection_start = start; + selection_end = start; + }, + + SelectionMode::End => { + selection_start = new_end; + selection_end = new_end; + }, + + SelectionMode::Preserve => { + // Sub-step 1 + let old_length = end - start; + + // Sub-step 2 + let delta = (new_length as isize) - (old_length as isize); + + // Sub-step 3 + if selection_start > end { + selection_start = ((selection_start as isize) + delta) as u32; + } else if selection_start > start { + selection_start = start; + } + + // Sub-step 4 + if selection_end > end { + selection_end = ((selection_end as isize) + delta) as u32; + } else if selection_end > start { + selection_end = new_end; + } + }, + } + + // Step 14 + self.set_selection_range( + Some(selection_start), + Some(selection_end), + None, + Some(original_selection_state) + ); + Ok(()) } @@ -135,9 +247,10 @@ pub trait TextControl: DerivedFrom + DerivedFrom { } // https://html.spec.whatwg.org/multipage/#set-the-selection-range - fn set_selection_range(&self, start: Option, end: Option, direction: Option) { + fn set_selection_range(&self, start: Option, end: Option, direction: Option, + original_selection_state: Option) { let mut textinput = self.textinput().borrow_mut(); - let original_selection_state = textinput.selection_state(); + let original_selection_state = original_selection_state.unwrap_or_else(|| textinput.selection_state()); // Step 1 let start = start.unwrap_or(0); diff --git a/components/script/dom/webidls/HTMLFormElement.webidl b/components/script/dom/webidls/HTMLFormElement.webidl index b4a2504fd60..1514e38b6f5 100644 --- a/components/script/dom/webidls/HTMLFormElement.webidl +++ b/components/script/dom/webidls/HTMLFormElement.webidl @@ -35,3 +35,11 @@ interface HTMLFormElement : HTMLElement { //boolean checkValidity(); //boolean reportValidity(); }; + +// https://html.spec.whatwg.org/multipage/#selectionmode +enum SelectionMode { + "preserve", // default + "select", + "start", + "end" +}; diff --git a/components/script/dom/webidls/HTMLInputElement.webidl b/components/script/dom/webidls/HTMLInputElement.webidl index ae8906b4e4c..e76ca054a6f 100644 --- a/components/script/dom/webidls/HTMLInputElement.webidl +++ b/components/script/dom/webidls/HTMLInputElement.webidl @@ -96,9 +96,11 @@ interface HTMLInputElement : HTMLElement { attribute unsigned long? selectionEnd; [SetterThrows] attribute DOMString? selectionDirection; - //void setRangeText(DOMString replacement); - //void setRangeText(DOMString replacement, unsigned long start, unsigned long end, - // optional SelectionMode selectionMode = "preserve"); + [Throws] + void setRangeText(DOMString replacement); + [Throws] + void setRangeText(DOMString replacement, unsigned long start, unsigned long end, + optional SelectionMode selectionMode = "preserve"); [Throws] void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); diff --git a/components/script/dom/webidls/HTMLTextAreaElement.webidl b/components/script/dom/webidls/HTMLTextAreaElement.webidl index c02cc5730a4..3ff20242bfe 100644 --- a/components/script/dom/webidls/HTMLTextAreaElement.webidl +++ b/components/script/dom/webidls/HTMLTextAreaElement.webidl @@ -57,9 +57,11 @@ interface HTMLTextAreaElement : HTMLElement { attribute unsigned long? selectionEnd; [SetterThrows] attribute DOMString? selectionDirection; - // void setRangeText(DOMString replacement); - // void setRangeText(DOMString replacement, unsigned long start, unsigned long end, - // optional SelectionMode selectionMode = "preserve"); + [Throws] + void setRangeText(DOMString replacement); + [Throws] + void setRangeText(DOMString replacement, unsigned long start, unsigned long end, + optional SelectionMode selectionMode = "preserve"); [Throws] void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); }; diff --git a/components/script/textinput.rs b/components/script/textinput.rs index 7883b471117..bf165148f0f 100644 --- a/components/script/textinput.rs +++ b/components/script/textinput.rs @@ -56,6 +56,13 @@ pub struct TextPoint { pub index: usize, } +#[derive(Clone, Copy, PartialEq)] +pub struct SelectionState { + start: TextPoint, + end: TextPoint, + direction: SelectionDirection, +} + /// Encapsulated state for handling keyboard input in a single or multiline text input control. #[derive(JSTraceable, MallocSizeOf)] pub struct TextInput { @@ -242,10 +249,13 @@ impl TextInput { self.selection_start_offset() .. self.selection_end_offset() } - /// A tuple containing the (start, end, direction) of the current selection. Can be used to - /// compare whether selection state has changed. - pub fn selection_state(&self) -> (TextPoint, TextPoint, SelectionDirection) { - (self.selection_start(), self.selection_end(), self.selection_direction) + /// The state of the current selection. Can be used to compare whether selection state has changed. + pub fn selection_state(&self) -> SelectionState { + SelectionState { + start: self.selection_start(), + end: self.selection_end(), + direction: self.selection_direction, + } } // Check that the selection is valid. diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index 90f98d5ce88..a8063201da4 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -3090,9 +3090,6 @@ [HTMLInputElement interface: operation setCustomValidity(DOMString)] expected: FAIL - [HTMLInputElement interface: operation setRangeText(DOMString)] - expected: FAIL - [HTMLInputElement interface: operation setRangeText(DOMString,unsigned long,unsigned long,SelectionMode)] expected: FAIL @@ -3171,9 +3168,6 @@ [HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -3339,9 +3333,6 @@ [HTMLTextAreaElement interface: operation setCustomValidity(DOMString)] expected: FAIL - [HTMLTextAreaElement interface: operation setRangeText(DOMString)] - expected: FAIL - [HTMLTextAreaElement interface: operation setRangeText(DOMString,unsigned long,unsigned long,SelectionMode)] expected: FAIL @@ -3393,9 +3384,6 @@ [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText" with the proper type (30)] expected: FAIL - [HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError] - expected: FAIL - [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText" with the proper type (31)] expected: FAIL @@ -6291,9 +6279,6 @@ [HTMLInputElement interface: createInput("text") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("text") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6375,9 +6360,6 @@ [HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6459,9 +6441,6 @@ [HTMLInputElement interface: createInput("search") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("search") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6543,9 +6522,6 @@ [HTMLInputElement interface: createInput("tel") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("tel") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6627,9 +6603,6 @@ [HTMLInputElement interface: createInput("url") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("url") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6711,9 +6684,6 @@ [HTMLInputElement interface: createInput("email") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("email") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6795,9 +6765,6 @@ [HTMLInputElement interface: createInput("password") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("password") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6879,9 +6846,6 @@ [HTMLInputElement interface: createInput("date") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("date") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -6963,9 +6927,6 @@ [HTMLInputElement interface: createInput("month") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("month") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7047,9 +7008,6 @@ [HTMLInputElement interface: createInput("week") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("week") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7131,9 +7089,6 @@ [HTMLInputElement interface: createInput("time") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("time") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7215,9 +7170,6 @@ [HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7299,9 +7251,6 @@ [HTMLInputElement interface: createInput("number") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("number") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7383,9 +7332,6 @@ [HTMLInputElement interface: createInput("range") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("range") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7467,9 +7413,6 @@ [HTMLInputElement interface: createInput("color") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("color") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7551,9 +7494,6 @@ [HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7635,9 +7575,6 @@ [HTMLInputElement interface: createInput("radio") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("radio") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7722,9 +7659,6 @@ [HTMLInputElement interface: createInput("file") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("file") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7806,9 +7740,6 @@ [HTMLInputElement interface: createInput("submit") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("submit") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7890,9 +7821,6 @@ [HTMLInputElement interface: createInput("image") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("image") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -7974,9 +7902,6 @@ [HTMLInputElement interface: createInput("reset") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("reset") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -8058,9 +7983,6 @@ [HTMLInputElement interface: createInput("button") must inherit property "setRangeText" with the proper type (53)] expected: FAIL - [HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("button") must inherit property "setRangeText" with the proper type (54)] expected: FAIL @@ -11730,9 +11652,6 @@ [HTMLInputElement interface: attribute files] expected: FAIL - [HTMLInputElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)] - expected: FAIL - [HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type] expected: FAIL @@ -11781,15 +11700,6 @@ [HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("input") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type] expected: FAIL @@ -11844,15 +11754,6 @@ [HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("text") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type] expected: FAIL @@ -11907,15 +11808,6 @@ [HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("hidden") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type] expected: FAIL @@ -11970,15 +11862,6 @@ [HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("search") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type] expected: FAIL @@ -12033,15 +11916,6 @@ [HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("tel") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type] expected: FAIL @@ -12096,15 +11970,6 @@ [HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("url") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type] expected: FAIL @@ -12159,15 +12024,6 @@ [HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("email") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type] expected: FAIL @@ -12222,15 +12078,6 @@ [HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("password") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type] expected: FAIL @@ -12285,15 +12132,6 @@ [HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("date") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type] expected: FAIL @@ -12348,15 +12186,6 @@ [HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("month") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type] expected: FAIL @@ -12411,15 +12240,6 @@ [HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("week") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type] expected: FAIL @@ -12474,15 +12294,6 @@ [HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("time") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type] expected: FAIL @@ -12537,15 +12348,6 @@ [HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type] expected: FAIL @@ -12600,15 +12402,6 @@ [HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("number") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type] expected: FAIL @@ -12663,15 +12456,6 @@ [HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("range") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type] expected: FAIL @@ -12726,15 +12510,6 @@ [HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("color") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type] expected: FAIL @@ -12789,15 +12564,6 @@ [HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type] expected: FAIL @@ -12852,15 +12618,6 @@ [HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("radio") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type] expected: FAIL @@ -12918,15 +12675,6 @@ [HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("file") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type] expected: FAIL @@ -12981,15 +12729,6 @@ [HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("submit") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type] expected: FAIL @@ -13044,15 +12783,6 @@ [HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("image") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type] expected: FAIL @@ -13107,15 +12837,6 @@ [HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("reset") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type] expected: FAIL @@ -13170,15 +12891,6 @@ [HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("button") with too few arguments must throw TypeError] - expected: FAIL - [HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type] expected: FAIL @@ -13260,9 +12972,6 @@ [HTMLOptionElement interface: new Option() must inherit property "index" with the proper type] expected: FAIL - [HTMLTextAreaElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)] - expected: FAIL - [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type] expected: FAIL @@ -13302,15 +13011,6 @@ [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity(DOMString)" with the proper type] expected: FAIL - [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString)" with the proper type] - expected: FAIL - - [HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type] - expected: FAIL - - [HTMLTextAreaElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError] - expected: FAIL - [HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini deleted file mode 100644 index cd5202d88ae..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini +++ /dev/null @@ -1,38 +0,0 @@ -[select-event.html] - type: testharness - [textarea: setRangeText()] - expected: FAIL - - [textarea: setRangeText() a second time (must not fire select)] - expected: FAIL - - [input type text: setRangeText()] - expected: FAIL - - [input type text: setRangeText() a second time (must not fire select)] - expected: FAIL - - [input type search: setRangeText()] - expected: FAIL - - [input type search: setRangeText() a second time (must not fire select)] - expected: FAIL - - [input type tel: setRangeText()] - expected: FAIL - - [input type tel: setRangeText() a second time (must not fire select)] - expected: FAIL - - [input type url: setRangeText()] - expected: FAIL - - [input type url: setRangeText() a second time (must not fire select)] - expected: FAIL - - [input type password: setRangeText()] - expected: FAIL - - [input type password: setRangeText() a second time (must not fire select)] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-not-application.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-not-application.html.ini deleted file mode 100644 index 81dc9d94fb1..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-not-application.html.ini +++ /dev/null @@ -1,74 +0,0 @@ -[selection-not-application.html] - type: testharness - [setRangeText on an input[type=hidden\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=email\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=datetime-local\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=date\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=month\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=week\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=time\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=number\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=range\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=color\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=checkbox\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=radio\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=file\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=submit\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=image\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=reset\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=button\] throws InvalidStateError] - expected: FAIL - - [setRangeText on an input[type=text\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=search\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=tel\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=url\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=password\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=null\] doesn't throw an exception] - expected: FAIL - - [setRangeText on an input[type=aninvalidtype\] doesn't throw an exception] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-value-interactions.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-value-interactions.html.ini deleted file mode 100644 index 6887a9cbe72..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-value-interactions.html.ini +++ /dev/null @@ -1,35 +0,0 @@ -[selection-value-interactions.html] - type: testharness - [value dirty flag behavior after setRangeText on textarea not in body] - expected: FAIL - - [value dirty flag behavior after setRangeText on input not in body] - expected: FAIL - - [value dirty flag behavior after setRangeText on textarea in body] - expected: FAIL - - [value dirty flag behavior after setRangeText on input in body] - expected: FAIL - - [value dirty flag behavior after setRangeText on textarea in body with parsed default value] - expected: FAIL - - [value dirty flag behavior after setRangeText on input in body with parsed default value] - expected: FAIL - - [value dirty flag behavior after setRangeText on focused textarea] - expected: FAIL - - [value dirty flag behavior after setRangeText on focused input] - expected: FAIL - - [value dirty flag behavior after setRangeText on focused then blurred textarea] - expected: FAIL - - [value dirty flag behavior after setRangeText on focused then blurred input] - expected: FAIL - - [selection is always collapsed to the end after setting values on textarea] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html.ini deleted file mode 100644 index 3ec8f92d09a..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html.ini +++ /dev/null @@ -1,194 +0,0 @@ -[textfieldselection-setRangeText.html] - type: testharness - [text setRangeText fires a select event] - expected: FAIL - - [text setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [text selectionMode missing] - expected: FAIL - - [text selectionMode 'select'] - expected: FAIL - - [text selectionMode 'start'] - expected: FAIL - - [text selectionMode 'end'] - expected: FAIL - - [text selectionMode 'preserve'] - expected: FAIL - - [text setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [search setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [search selectionMode missing] - expected: FAIL - - [search selectionMode 'select'] - expected: FAIL - - [search selectionMode 'start'] - expected: FAIL - - [search selectionMode 'end'] - expected: FAIL - - [search selectionMode 'preserve'] - expected: FAIL - - [search setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [search setRangeText fires a select event] - expected: FAIL - - [tel setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [tel selectionMode missing] - expected: FAIL - - [tel selectionMode 'select'] - expected: FAIL - - [tel selectionMode 'start'] - expected: FAIL - - [tel selectionMode 'end'] - expected: FAIL - - [tel selectionMode 'preserve'] - expected: FAIL - - [tel setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [tel setRangeText fires a select event] - expected: FAIL - - [url setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [url selectionMode missing] - expected: FAIL - - [url selectionMode 'select'] - expected: FAIL - - [url selectionMode 'start'] - expected: FAIL - - [url selectionMode 'end'] - expected: FAIL - - [url selectionMode 'preserve'] - expected: FAIL - - [url setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [url setRangeText fires a select event] - expected: FAIL - - [password setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [password selectionMode missing] - expected: FAIL - - [password selectionMode 'select'] - expected: FAIL - - [password selectionMode 'start'] - expected: FAIL - - [password selectionMode 'end'] - expected: FAIL - - [password selectionMode 'preserve'] - expected: FAIL - - [password setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [password setRangeText fires a select event] - expected: FAIL - - [display_none setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [display_none selectionMode missing] - expected: FAIL - - [display_none selectionMode 'select'] - expected: FAIL - - [display_none selectionMode 'start'] - expected: FAIL - - [display_none selectionMode 'end'] - expected: FAIL - - [display_none selectionMode 'preserve'] - expected: FAIL - - [display_none setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [display_none setRangeText fires a select event] - expected: FAIL - - [textarea setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [textarea selectionMode missing] - expected: FAIL - - [textarea selectionMode 'select'] - expected: FAIL - - [textarea selectionMode 'start'] - expected: FAIL - - [textarea selectionMode 'end'] - expected: FAIL - - [textarea selectionMode 'preserve'] - expected: FAIL - - [textarea setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [textarea setRangeText fires a select event] - expected: FAIL - - [input_not_in_doc setRangeText with only one argument replaces the value between selectionStart and selectionEnd, otherwise replaces the value between 2nd and 3rd arguments] - expected: FAIL - - [input_not_in_doc selectionMode missing] - expected: FAIL - - [input_not_in_doc selectionMode 'select'] - expected: FAIL - - [input_not_in_doc selectionMode 'start'] - expected: FAIL - - [input_not_in_doc selectionMode 'end'] - expected: FAIL - - [input_not_in_doc selectionMode 'preserve'] - expected: FAIL - - [input_not_in_doc setRangeText with 3rd argument greater than 2nd argument throws an IndexSizeError exception] - expected: FAIL - - [input_not_in_doc setRangeText fires a select event] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/the-input-element/selection.html.ini b/tests/wpt/metadata/html/semantics/forms/the-input-element/selection.html.ini deleted file mode 100644 index 3eab14f776c..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/the-input-element/selection.html.ini +++ /dev/null @@ -1,68 +0,0 @@ -[selection.html] - type: testharness - [input type text should support all selection attributes and methods] - expected: FAIL - - [input type search should support all selection attributes and methods] - expected: FAIL - - [input type url should support all selection attributes and methods] - expected: FAIL - - [input type tel should support all selection attributes and methods] - expected: FAIL - - [input type password should support all selection attributes and methods] - expected: FAIL - - [input type hidden should not support variable-length selections] - expected: FAIL - - [input type email should not support variable-length selections] - expected: FAIL - - [input type date should not support variable-length selections] - expected: FAIL - - [input type month should not support variable-length selections] - expected: FAIL - - [input type week should not support variable-length selections] - expected: FAIL - - [input type time should not support variable-length selections] - expected: FAIL - - [input type datetime-local should not support variable-length selections] - expected: FAIL - - [input type number should not support variable-length selections] - expected: FAIL - - [input type range should not support variable-length selections] - expected: FAIL - - [input type color should not support variable-length selections] - expected: FAIL - - [input type checkbox should not support variable-length selections] - expected: FAIL - - [input type radio should not support variable-length selections] - expected: FAIL - - [input type file should not support variable-length selections] - expected: FAIL - - [input type submit should not support variable-length selections] - expected: FAIL - - [input type image should not support variable-length selections] - expected: FAIL - - [input type reset should not support variable-length selections] - expected: FAIL - - [input type button should not support variable-length selections] - expected: FAIL -