aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webidls
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-01-26 13:58:01 -0600
committerGitHub <noreply@github.com>2018-01-26 13:58:01 -0600
commitc2dfece49f1d59f51a3207cd3d88c282ee1adf70 (patch)
tree824bc776762e450e937595676dba99040875822b /components/script/dom/webidls
parentce17959f7c5f817bc5739c6693c93cafb1855f4f (diff)
parenta8b64aca2a9c5e6e3756145afc0dedb606947ef8 (diff)
downloadservo-c2dfece49f1d59f51a3207cd3d88c282ee1adf70.tar.gz
servo-c2dfece49f1d59f51a3207cd3d88c282ee1adf70.zip
Auto merge of #19544 - jonleighton:issue-19171-5, r=nox
Text selection API conformance This is my next batch of changes for issue #19171. All the tests in tests/wpt/metadata/html/semantics/forms/textfieldselection/ are now passing (and also some tests outside of there). I've made detailed notes about the changes in each commit message. r? @KiChjang <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19544) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webidls')
-rw-r--r--components/script/dom/webidls/HTMLFormElement.webidl8
-rw-r--r--components/script/dom/webidls/HTMLInputElement.webidl10
-rw-r--r--components/script/dom/webidls/HTMLTextAreaElement.webidl10
3 files changed, 20 insertions, 8 deletions
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 93a5a7f108b..e76ca054a6f 100644
--- a/components/script/dom/webidls/HTMLInputElement.webidl
+++ b/components/script/dom/webidls/HTMLInputElement.webidl
@@ -89,16 +89,18 @@ interface HTMLInputElement : HTMLElement {
readonly attribute NodeList labels;
- //void select();
+ void select();
[SetterThrows]
attribute unsigned long? selectionStart;
[SetterThrows]
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 f0e8a0be118..3ff20242bfe 100644
--- a/components/script/dom/webidls/HTMLTextAreaElement.webidl
+++ b/components/script/dom/webidls/HTMLTextAreaElement.webidl
@@ -50,16 +50,18 @@ interface HTMLTextAreaElement : HTMLElement {
readonly attribute NodeList labels;
- // void select();
+ void select();
[SetterThrows]
attribute unsigned long? selectionStart;
[SetterThrows]
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);
};