From 0907940db85f49541b1caa7581027ea0c02413aa Mon Sep 17 00:00:00 2001 From: tigercosmos Date: Thu, 14 Jun 2018 10:52:06 -0700 Subject: [PATCH] add TextLength --- components/script/dom/htmltextareaelement.rs | 5 +++++ .../dom/webidls/HTMLTextAreaElement.webidl | 2 +- tests/wpt/metadata/MANIFEST.json | 10 ++++++++++ .../textarea-textLength.html | 19 +++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 359fe4d8a19..d03fb1a348c 100755 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -263,6 +263,11 @@ impl HTMLTextAreaElementMethods for HTMLTextAreaElement { self.upcast::().dirty(NodeDamage::OtherNodeDamage); } + // https://html.spec.whatwg.org/multipage/#dom-textarea-textlength + fn TextLength(&self) -> u32 { + self.textinput.borrow().utf16_len() as u32 + } + // https://html.spec.whatwg.org/multipage/#dom-lfe-labels fn Labels(&self) -> DomRoot { self.upcast::().labels() diff --git a/components/script/dom/webidls/HTMLTextAreaElement.webidl b/components/script/dom/webidls/HTMLTextAreaElement.webidl index 3ff20242bfe..f8f52c82b92 100644 --- a/components/script/dom/webidls/HTMLTextAreaElement.webidl +++ b/components/script/dom/webidls/HTMLTextAreaElement.webidl @@ -39,7 +39,7 @@ interface HTMLTextAreaElement : HTMLElement { attribute DOMString defaultValue; [CEReactions,TreatNullAs=EmptyString] attribute DOMString value; - // readonly attribute unsigned long textLength; + readonly attribute unsigned long textLength; // readonly attribute boolean willValidate; // readonly attribute ValidityState validity; diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 03ca9b864ab..762716b7a09 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -346115,6 +346115,12 @@ {} ] ], + "html/semantics/forms/the-textarea-element/textarea-textLength.html": [ + [ + "/html/semantics/forms/the-textarea-element/textarea-textLength.html", + {} + ] + ], "html/semantics/forms/the-textarea-element/textarea-type.html": [ [ "/html/semantics/forms/the-textarea-element/textarea-type.html", @@ -583616,6 +583622,10 @@ "7b513a17599ea93eb430a81bbff8d5aa94d07c3c", "manual" ], + "html/semantics/forms/the-textarea-element/textarea-textLength.html": [ + "0f9b8cdaace12d4f4e7fbd57a90fcba7e826ced5", + "testharness" + ], "html/semantics/forms/the-textarea-element/textarea-type.html": [ "81a270bc3c9304f8b2e7dd526519f4eab7d94f45", "testharness" diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html new file mode 100644 index 00000000000..d249278960e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html @@ -0,0 +1,19 @@ + +The textLengh IDL attribute + + + + + + + \ No newline at end of file