From 01db582cb9aa57e3730de13076dfb7ed116c6a6b Mon Sep 17 00:00:00 2001 From: "buster%netscape.com" Date: Sat, 30 Oct 1999 16:30:33 +0000 Subject: [PATCH] added DOM notification up to frame system for text control value changes part of bug 14727 r=rods --- .../html/content/src/nsHTMLInputElement.cpp | 38 ++++++++++++++++++- .../html/content/src/nsHTMLInputElement.cpp | 38 ++++++++++++++++++- 2 files changed, 74 insertions(+), 2 deletions(-) diff --git a/content/html/content/src/nsHTMLInputElement.cpp b/content/html/content/src/nsHTMLInputElement.cpp index c96706d4b791..8e7a047f38e8 100644 --- a/content/html/content/src/nsHTMLInputElement.cpp +++ b/content/html/content/src/nsHTMLInputElement.cpp @@ -67,7 +67,43 @@ public: NS_IMPL_IDOMNODE_USING_GENERIC(mInner) // nsIDOMElement - NS_IMPL_IDOMELEMENT_USING_GENERIC(mInner) + // can't use the macro here because input type=text needs to notify up to + // frame system on SetAttribute("value"); + NS_IMETHOD GetTagName(nsString& aTagName) { + return mInner.GetTagName(aTagName); + } + NS_IMETHOD GetAttribute(const nsString& aName, nsString& aReturn) { + return mInner.GetAttribute(aName, aReturn); + } + NS_IMETHOD SetAttribute(const nsString& aName, const nsString& aValue) { + nsAutoString valueAttribute; + nsHTMLAtoms::value->ToString(valueAttribute); + if (PR_TRUE==valueAttribute.Equals(aName)) + return SetValue(aValue); + return mInner.SetAttribute(aName, aValue); + } + NS_IMETHOD RemoveAttribute(const nsString& aName) { + return mInner.RemoveAttribute(aName); + } + NS_IMETHOD GetAttributeNode(const nsString& aName, + nsIDOMAttr** aReturn) { + return mInner.GetAttributeNode(aName, aReturn); + } + NS_IMETHOD SetAttributeNode(nsIDOMAttr* aNewAttr, nsIDOMAttr** aReturn) { + return mInner.SetAttributeNode(aNewAttr, aReturn); + } + NS_IMETHOD RemoveAttributeNode(nsIDOMAttr* aOldAttr, nsIDOMAttr** aReturn) { + return mInner.RemoveAttributeNode(aOldAttr, aReturn); + } + NS_IMETHOD GetElementsByTagName(const nsString& aTagname, + nsIDOMNodeList** aReturn) { + return mInner.GetElementsByTagName(aTagname, aReturn); + } + NS_IMETHOD Normalize() { + return mInner.Normalize(); + } + + // nsIDOMHTMLElement NS_IMPL_IDOMHTMLELEMENT_USING_GENERIC(mInner) diff --git a/layout/html/content/src/nsHTMLInputElement.cpp b/layout/html/content/src/nsHTMLInputElement.cpp index c96706d4b791..8e7a047f38e8 100644 --- a/layout/html/content/src/nsHTMLInputElement.cpp +++ b/layout/html/content/src/nsHTMLInputElement.cpp @@ -67,7 +67,43 @@ public: NS_IMPL_IDOMNODE_USING_GENERIC(mInner) // nsIDOMElement - NS_IMPL_IDOMELEMENT_USING_GENERIC(mInner) + // can't use the macro here because input type=text needs to notify up to + // frame system on SetAttribute("value"); + NS_IMETHOD GetTagName(nsString& aTagName) { + return mInner.GetTagName(aTagName); + } + NS_IMETHOD GetAttribute(const nsString& aName, nsString& aReturn) { + return mInner.GetAttribute(aName, aReturn); + } + NS_IMETHOD SetAttribute(const nsString& aName, const nsString& aValue) { + nsAutoString valueAttribute; + nsHTMLAtoms::value->ToString(valueAttribute); + if (PR_TRUE==valueAttribute.Equals(aName)) + return SetValue(aValue); + return mInner.SetAttribute(aName, aValue); + } + NS_IMETHOD RemoveAttribute(const nsString& aName) { + return mInner.RemoveAttribute(aName); + } + NS_IMETHOD GetAttributeNode(const nsString& aName, + nsIDOMAttr** aReturn) { + return mInner.GetAttributeNode(aName, aReturn); + } + NS_IMETHOD SetAttributeNode(nsIDOMAttr* aNewAttr, nsIDOMAttr** aReturn) { + return mInner.SetAttributeNode(aNewAttr, aReturn); + } + NS_IMETHOD RemoveAttributeNode(nsIDOMAttr* aOldAttr, nsIDOMAttr** aReturn) { + return mInner.RemoveAttributeNode(aOldAttr, aReturn); + } + NS_IMETHOD GetElementsByTagName(const nsString& aTagname, + nsIDOMNodeList** aReturn) { + return mInner.GetElementsByTagName(aTagname, aReturn); + } + NS_IMETHOD Normalize() { + return mInner.Normalize(); + } + + // nsIDOMHTMLElement NS_IMPL_IDOMHTMLELEMENT_USING_GENERIC(mInner)