Remove unneeded nsIDOMNSHTMLInputElement interface by merging it into nsIDOMHTMLInputElement. (Bug 582303) r=jst
authorDavid Zbarsky <dzbarsky@gmail.com>
Wed, 04 Aug 2010 22:40:18 -0400
changeset 48892 a7a5db113414a451c005b9f87824b2c36045ef4e
parent 48891 5bb0dd9b0192de764db80cd5a2bd2223752b895a
child 48893 653c26de25703674af694797d3e3c5259e3406fe
push idunknown
push userunknown
push dateunknown
reviewersjst
bugs582303
milestone2.0b4pre
Remove unneeded nsIDOMNSHTMLInputElement interface by merging it into nsIDOMHTMLInputElement. (Bug 582303) r=jst
accessible/src/html/nsHTMLFormControlAccessible.cpp
content/events/src/nsEventStateManager.cpp
content/html/content/src/nsGenericHTMLElement.h
content/html/content/src/nsHTMLInputElement.cpp
content/html/content/src/nsHTMLInputElement.h
content/html/content/src/nsTextEditorState.cpp
content/xbl/src/nsXBLPrototypeHandler.cpp
content/xul/document/src/nsXULCommandDispatcher.cpp
dom/base/nsDOMClassInfo.cpp
dom/base/nsWindowRoot.cpp
dom/interfaces/html/Makefile.in
dom/interfaces/html/nsIDOMHTMLInputElement.idl
dom/interfaces/html/nsIDOMNSHTMLInputElement.idl
embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
js/src/xpconnect/src/dom_quickstubs.qsconf
layout/base/nsPresShell.cpp
layout/forms/nsFileControlFrame.cpp
layout/forms/nsGfxCheckboxControlFrame.cpp
layout/forms/nsTextControlFrame.cpp
toolkit/components/satchel/src/nsFormFillController.cpp
toolkit/content/widgets/findbar.xml
toolkit/spatial-navigation/SpatialNavigation.js
widget/src/gtk2/nsNativeThemeGTK.cpp
widget/src/xpwidgets/nsNativeTheme.cpp
--- a/accessible/src/html/nsHTMLFormControlAccessible.cpp
+++ b/accessible/src/html/nsHTMLFormControlAccessible.cpp
@@ -39,17 +39,16 @@
 #include "nsHTMLFormControlAccessible.h"
 
 #include "nsAccessibilityAtoms.h"
 #include "nsAccUtils.h"
 #include "nsRelUtils.h"
 #include "nsTextEquivUtils.h"
 
 #include "nsIDOMDocument.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMNSHTMLElement.h"
 #include "nsIDOMNSEditableElement.h"
 #include "nsIDOMHTMLFormElement.h"
 #include "nsIDOMHTMLLegendElement.h"
 #include "nsIDOMHTMLTextAreaElement.h"
 #include "nsIEditor.h"
 #include "nsIFrame.h"
@@ -117,40 +116,33 @@ nsresult
 nsHTMLCheckboxAccessible::GetStateInternal(PRUint32 *aState,
                                            PRUint32 *aExtraState)
 {
   nsresult rv = nsFormControlAccessible::GetStateInternal(aState, aExtraState);
   NS_ENSURE_A11Y_SUCCESS(rv, rv);
 
   *aState |= nsIAccessibleStates::STATE_CHECKABLE;
 
-  PRBool checked = PR_FALSE;   // Radio buttons and check boxes can be checked
-  PRBool mixed = PR_FALSE;     // or mixed.
+  PRBool state = PR_FALSE;   // Radio buttons and check boxes can be checked or mixed
 
-  nsCOMPtr<nsIDOMNSHTMLInputElement> html5CheckboxElement =
+  nsCOMPtr<nsIDOMHTMLInputElement> htmlCheckboxElement =
     do_QueryInterface(mContent);
            
-  if (html5CheckboxElement) {
-    html5CheckboxElement->GetIndeterminate(&mixed);
+  if (htmlCheckboxElement) {
+    htmlCheckboxElement->GetIndeterminate(&state);
 
-    if (mixed) {
+    if (state) {
       *aState |= nsIAccessibleStates::STATE_MIXED;
-      return NS_OK;  // indeterminate can't be checked at the same time.
+    } else {   // indeterminate can't be checked at the same time.
+      htmlCheckboxElement->GetChecked(&state);
+    
+      if (state)
+        *aState |= nsIAccessibleStates::STATE_CHECKED;
     }
   }
-  
-  nsCOMPtr<nsIDOMHTMLInputElement> htmlCheckboxElement =
-    do_QueryInterface(mContent);
-  if (htmlCheckboxElement) {
-    htmlCheckboxElement->GetChecked(&checked);
-  
-    if (checked)
-      *aState |= nsIAccessibleStates::STATE_CHECKED;
-  }
-
   return NS_OK;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsHTMLRadioButtonAccessible
 ////////////////////////////////////////////////////////////////////////////////
 
 nsHTMLRadioButtonAccessible::
@@ -547,17 +539,17 @@ NS_IMETHODIMP nsHTMLTextFieldAccessible:
     return NS_OK;
   }
   return NS_ERROR_INVALID_ARG;
 }
 
 NS_IMETHODIMP nsHTMLTextFieldAccessible::DoAction(PRUint8 index)
 {
   if (index == 0) {
-    nsCOMPtr<nsIDOMNSHTMLElement> element(do_QueryInterface(mContent));
+    nsCOMPtr<nsIDOMHTMLElement> element(do_QueryInterface(mContent));
     if ( element ) {
       return element->Focus();
     }
     return NS_ERROR_FAILURE;
   }
   return NS_ERROR_INVALID_ARG;
 }
 
--- a/content/events/src/nsEventStateManager.cpp
+++ b/content/events/src/nsEventStateManager.cpp
@@ -60,17 +60,16 @@
 #include "nsGkAtoms.h"
 #include "nsIEditorDocShell.h"
 #include "nsIFormControl.h"
 #include "nsIComboboxControlFrame.h"
 #include "nsIScrollableFrame.h"
 #include "nsIDOMNSHTMLElement.h"
 #include "nsIDOMHTMLAnchorElement.h"
 #include "nsIDOMHTMLInputElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMHTMLLabelElement.h"
 #include "nsIDOMHTMLSelectElement.h"
 #include "nsIDOMHTMLTextAreaElement.h"
 #include "nsIDOMHTMLAreaElement.h"
 #include "nsIDOMHTMLButtonElement.h"
 #include "nsIDOMHTMLObjectElement.h"
 #include "nsIDOMHTMLImageElement.h"
 #include "nsIDOMHTMLMapElement.h"
--- a/content/html/content/src/nsGenericHTMLElement.h
+++ b/content/html/content/src/nsGenericHTMLElement.h
@@ -1271,16 +1271,29 @@ NS_NewHTML##_elementName##Element(alread
     NS_INTERFACE_TABLE_ENTRY(_class, _i1)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i2)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i3)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i4)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i5)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i6)                                     \
   NS_OFFSET_AND_INTERFACE_TABLE_END
 
+#define NS_HTML_CONTENT_INTERFACE_TABLE8(_class, _i1, _i2, _i3, _i4, _i5,     \
+                                         _i6, _i7, _i8)                       \
+  NS_HTML_CONTENT_INTERFACE_TABLE_BEGIN(_class)                               \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i1)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i2)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i3)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i4)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i5)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i6)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i7)                                     \
+    NS_INTERFACE_TABLE_ENTRY(_class, _i8)                                     \
+  NS_OFFSET_AND_INTERFACE_TABLE_END
+
 #define NS_HTML_CONTENT_INTERFACE_TABLE9(_class, _i1, _i2, _i3, _i4, _i5,     \
                                          _i6, _i7, _i8, _i9)                  \
   NS_HTML_CONTENT_INTERFACE_TABLE_BEGIN(_class)                               \
     NS_INTERFACE_TABLE_ENTRY(_class, _i1)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i2)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i3)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i4)                                     \
     NS_INTERFACE_TABLE_ENTRY(_class, _i5)                                     \
--- a/content/html/content/src/nsHTMLInputElement.cpp
+++ b/content/html/content/src/nsHTMLInputElement.cpp
@@ -32,17 +32,16 @@
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMHTMLInputElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsITextControlElement.h"
 #include "nsIFileControlElement.h"
 #include "nsIDOMNSEditableElement.h"
 #include "nsIRadioVisitor.h"
 #include "nsIPhonetic.h"
 
 #include "nsIControllers.h"
 #include "nsFocusManager.h"
@@ -281,19 +280,18 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 NS_IMPL_ADDREF_INHERITED(nsHTMLInputElement, nsGenericElement) 
 NS_IMPL_RELEASE_INHERITED(nsHTMLInputElement, nsGenericElement) 
 
 
 DOMCI_NODE_DATA(HTMLInputElement, nsHTMLInputElement)
 
 // QueryInterface implementation for nsHTMLInputElement
 NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsHTMLInputElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE9(nsHTMLInputElement,
+  NS_HTML_CONTENT_INTERFACE_TABLE8(nsHTMLInputElement,
                                    nsIDOMHTMLInputElement,
-                                   nsIDOMNSHTMLInputElement,
                                    nsITextControlElement,
                                    nsIFileControlElement,
                                    nsIPhonetic,
                                    imgIDecoderObserver,
                                    nsIImageLoadingContent,
                                    imgIContainerObserver,
                                    nsIDOMNSEditableElement)
   NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLInputElement,
--- a/content/html/content/src/nsHTMLInputElement.h
+++ b/content/html/content/src/nsHTMLInputElement.h
@@ -37,17 +37,16 @@
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsHTMLInputElement_h__
 #define nsHTMLInputElement_h__
 
 #include "nsGenericHTMLElement.h"
 #include "nsImageLoadingContent.h"
 #include "nsIDOMHTMLInputElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsITextControlElement.h"
 #include "nsIPhonetic.h"
 #include "nsIDOMNSEditableElement.h"
 #include "nsIFileControlElement.h"
 
 #include "nsTextEditorState.h"
 #include "nsCOMPtr.h"
 
@@ -73,17 +72,16 @@
                                         ? ((bitfield) |=  (0x01 << (field))) \
                                         : ((bitfield) &= ~(0x01 << (field))))
 
 class nsDOMFileList;
 
 class nsHTMLInputElement : public nsGenericHTMLFormElement,
                            public nsImageLoadingContent,
                            public nsIDOMHTMLInputElement,
-                           public nsIDOMNSHTMLInputElement,
                            public nsITextControlElement,
                            public nsIPhonetic,
                            public nsIDOMNSEditableElement,
                            public nsIFileControlElement
 {
 public:
   nsHTMLInputElement(already_AddRefed<nsINodeInfo> aNodeInfo,
                      PRUint32 aFromParser);
@@ -99,19 +97,16 @@ public:
   NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLFormElement::)
 
   // nsIDOMHTMLElement
   NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLFormElement::)
 
   // nsIDOMHTMLInputElement
   NS_DECL_NSIDOMHTMLINPUTELEMENT
 
-  // nsIDOMNSHTMLInputElement
-  NS_DECL_NSIDOMNSHTMLINPUTELEMENT
-
   // nsIPhonetic
   NS_DECL_NSIPHONETIC
 
   // nsIDOMNSEditableElement
   NS_IMETHOD GetEditor(nsIEditor** aEditor)
   {
     return nsGenericHTMLElement::GetEditor(aEditor);
   }
--- a/content/html/content/src/nsTextEditorState.cpp
+++ b/content/html/content/src/nsTextEditorState.cpp
@@ -43,17 +43,17 @@
 #include "nsEditorCID.h"
 #include "nsLayoutCID.h"
 #include "nsITextControlFrame.h" 
 #include "nsIPlaintextEditor.h"
 #include "nsIDOMDocument.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsTextControlFrame.h"
 #include "nsIControllers.h"
-#include "nsIDOMNSHTMLInputElement.h"
+#include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
 #include "nsITransactionManager.h"
 #include "nsIControllerContext.h"
 #include "nsAttrValue.h"
 #include "nsGenericHTMLElement.h"
 #include "nsIDOMKeyListener.h"
 #include "nsIEditorObserver.h"
 #include "nsINativeKeyBindings.h"
@@ -721,17 +721,17 @@ nsTextInputListener::HandleEvent(nsIDOME
 
 static void
 DoCommandCallback(const char *aCommand, void *aData)
 {
   nsTextControlFrame *frame = static_cast<nsTextControlFrame*>(aData);
   nsIContent *content = frame->GetContent();
 
   nsCOMPtr<nsIControllers> controllers;
-  nsCOMPtr<nsIDOMNSHTMLInputElement> input = do_QueryInterface(content);
+  nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(content);
   if (input) {
     input->GetControllers(getter_AddRefs(controllers));
   } else {
     nsCOMPtr<nsIDOMNSHTMLTextAreaElement> textArea =
       do_QueryInterface(content);
 
     if (textArea) {
       textArea->GetControllers(getter_AddRefs(controllers));
@@ -1165,17 +1165,17 @@ nsTextEditorState::PrepareEditor(const n
     rv = newEditor->Init(domdoc, shell, GetRootNode(), mSelCon, editorFlags);
     NS_ENSURE_SUCCESS(rv, rv);
   }
 
   // Initialize the controller for the editor
 
   if (!SuppressEventHandlers(presContext)) {
     nsCOMPtr<nsIControllers> controllers;
-    nsCOMPtr<nsIDOMNSHTMLInputElement> inputElement =
+    nsCOMPtr<nsIDOMHTMLInputElement> inputElement =
       do_QueryInterface(mTextCtrlElement);
     if (inputElement) {
       rv = inputElement->GetControllers(getter_AddRefs(controllers));
     } else {
       nsCOMPtr<nsIDOMNSHTMLTextAreaElement> textAreaElement =
         do_QueryInterface(mTextCtrlElement);
 
       if (!textAreaElement)
@@ -1344,17 +1344,17 @@ nsTextEditorState::UnbindFromFrame(nsTex
 
   // Destroy our editor
   DestroyEditor();
 
   // Clean up the controller
   if (!SuppressEventHandlers(mBoundFrame->PresContext()))
   {
     nsCOMPtr<nsIControllers> controllers;
-    nsCOMPtr<nsIDOMNSHTMLInputElement> inputElement =
+    nsCOMPtr<nsIDOMHTMLInputElement> inputElement =
       do_QueryInterface(mTextCtrlElement);
     if (inputElement)
       inputElement->GetControllers(getter_AddRefs(controllers));
     else
     {
       nsCOMPtr<nsIDOMNSHTMLTextAreaElement> textAreaElement =
         do_QueryInterface(mTextCtrlElement);
       if (textAreaElement) {
--- a/content/xbl/src/nsXBLPrototypeHandler.cpp
+++ b/content/xbl/src/nsXBLPrototypeHandler.cpp
@@ -50,17 +50,17 @@
 #include "nsIDOMDocument.h"
 #include "nsIJSEventListener.h"
 #include "nsIController.h"
 #include "nsIControllers.h"
 #include "nsIDOMXULElement.h"
 #include "nsIDOMNSUIEvent.h"
 #include "nsIURI.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
+#include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMText.h"
 #include "nsFocusManager.h"
 #include "nsIEventListenerManager.h"
 #include "nsIDOMEventTarget.h"
 #include "nsIDOMEventListener.h"
 #include "nsIPrivateDOMEvent.h"
 #include "nsIDOMNSEvent.h"
 #include "nsPIDOMWindow.h"
@@ -556,17 +556,17 @@ nsXBLPrototypeHandler::GetController(nsP
 
   if (!controllers) {
     nsCOMPtr<nsIDOMNSHTMLTextAreaElement> htmlTextArea(do_QueryInterface(aTarget));
     if (htmlTextArea)
       htmlTextArea->GetControllers(getter_AddRefs(controllers));
   }
 
   if (!controllers) {
-    nsCOMPtr<nsIDOMNSHTMLInputElement> htmlInputElement(do_QueryInterface(aTarget));
+    nsCOMPtr<nsIDOMHTMLInputElement> htmlInputElement(do_QueryInterface(aTarget));
     if (htmlInputElement)
       htmlInputElement->GetControllers(getter_AddRefs(controllers));
   }
 
   if (!controllers) {
     nsCOMPtr<nsIDOMWindowInternal> domWindow(do_QueryInterface(aTarget));
     if (domWindow)
       domWindow->GetControllers(getter_AddRefs(controllers));
--- a/content/xul/document/src/nsXULCommandDispatcher.cpp
+++ b/content/xul/document/src/nsXULCommandDispatcher.cpp
@@ -45,17 +45,16 @@
 
 #include "nsIContent.h"
 #include "nsFocusManager.h"
 #include "nsIControllers.h"
 #include "nsIDOMDocument.h"
 #include "nsIDOMXULDocument.h"
 #include "nsIDOMHTMLDocument.h"
 #include "nsIDOMElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
 #include "nsIDOMWindowInternal.h"
 #include "nsIDOMXULElement.h"
 #include "nsIDocument.h"
 #include "nsPresContext.h"
 #include "nsIPresShell.h"
 #include "nsIScriptGlobalObject.h"
 #include "nsPIDOMWindow.h"
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -270,17 +270,16 @@
 #include "nsIDOMHTMLHRElement.h"
 #include "nsIDOMNSHTMLHRElement.h"
 #include "nsIDOMHTMLHeadElement.h"
 #include "nsIDOMHTMLHeadingElement.h"
 #include "nsIDOMHTMLHtmlElement.h"
 #include "nsIDOMHTMLIFrameElement.h"
 #include "nsIDOMHTMLImageElement.h"
 #include "nsIDOMHTMLInputElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMHTMLIsIndexElement.h"
 #include "nsIDOMHTMLLIElement.h"
 #include "nsIDOMHTMLLabelElement.h"
 #include "nsIDOMHTMLLegendElement.h"
 #include "nsIDOMHTMLLinkElement.h"
 #include "nsIDOMHTMLMapElement.h"
 #include "nsIDOMHTMLMenuElement.h"
 #include "nsIDOMHTMLMetaElement.h"
@@ -2548,17 +2547,16 @@ nsDOMClassInfo::Init()
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLImageElement, nsIDOMHTMLImageElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLImageElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLInputElement, nsIDOMHTMLInputElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLInputElement)
-    DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSHTMLInputElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(HTMLInsElement, nsIDOMHTMLElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLModElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
--- a/dom/base/nsWindowRoot.cpp
+++ b/dom/base/nsWindowRoot.cpp
@@ -51,17 +51,17 @@
 #include "nsIPrivateDOMEvent.h"
 #include "nsIDOMWindowInternal.h"
 #include "nsString.h"
 #include "nsEventDispatcher.h"
 #include "nsIProgrammingLanguage.h"
 #include "nsGUIEvent.h"
 #include "nsGlobalWindow.h"
 #include "nsFocusManager.h"
-#include "nsIDOMNSHTMLInputElement.h"
+#include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
 #include "nsIControllers.h"
 
 #include "nsCycleCollectionParticipant.h"
 
 #ifdef MOZ_XUL
 #include "nsIDOMXULElement.h"
 #endif
@@ -287,17 +287,17 @@ nsWindowRoot::GetControllers(nsIControll
       return xulElement->GetControllers(aResult);
 #endif
 
     nsCOMPtr<nsIDOMNSHTMLTextAreaElement> htmlTextArea =
       do_QueryInterface(focusedContent);
     if (htmlTextArea)
       return htmlTextArea->GetControllers(aResult);
 
-    nsCOMPtr<nsIDOMNSHTMLInputElement> htmlInputElement =
+    nsCOMPtr<nsIDOMHTMLInputElement> htmlInputElement =
       do_QueryInterface(focusedContent);
     if (htmlInputElement)
       return htmlInputElement->GetControllers(aResult);
 
     if (focusedContent->IsEditable() && focusedWindow)
       return focusedWindow->GetControllers(aResult);
   }
   else {
--- a/dom/interfaces/html/Makefile.in
+++ b/dom/interfaces/html/Makefile.in
@@ -116,14 +116,13 @@ SDK_XPIDLSRCS =					\
 
 XPIDLSRCS = 					\
 	nsIDOMHTMLCanvasElement.idl		\
 	nsIDOMNSHTMLDocument.idl		\
 	nsIDOMNSHTMLElement.idl			\
 	nsIDOMNSHTMLFormElement.idl		\
 	nsIDOMNSHTMLFrameElement.idl		\
 	nsIDOMNSHTMLHRElement.idl		\
-	nsIDOMNSHTMLInputElement.idl		\
 	nsIDOMNSHTMLOptionCollectn.idl		\
 	nsIDOMNSHTMLTextAreaElement.idl		\
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/dom/interfaces/html/nsIDOMHTMLInputElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLInputElement.idl
@@ -34,44 +34,79 @@
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMHTMLElement.idl"
 
-/**
- * The nsIDOMHTMLInputElement interface is the interface to a [X]HTML
- * input element.
- *
- * For more information on this interface please see
- * http://www.w3.org/TR/DOM-Level-2-HTML/
- */
+interface nsIControllers;
+interface nsIDOMFileList;
 
-[scriptable, uuid(a6cf9093-15b3-11d2-932e-00805f8add32)]
+ /**
+  * The nsIDOMHTMLInputElement interface is the interface to a [X]HTML
+  * input element.
+  *
+  * For more information on this interface please see
+  * http://www.w3.org/TR/DOM-Level-2-HTML/
+  */
+ 
+[scriptable, uuid(2480b6f0-094e-484f-8717-0c204ed23e69)]
 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
 {
-           attribute DOMString             defaultValue;
+           attribute DOMString             accept;
+           attribute DOMString             alt;
+
+           attribute boolean               autofocus;
            attribute boolean               defaultChecked;
-  readonly attribute nsIDOMHTMLFormElement form;
-           attribute DOMString             accept;
-           attribute DOMString             accessKey;
-           attribute DOMString             align;
-           attribute DOMString             alt;
            attribute boolean               checked;
            attribute boolean               disabled;
+  readonly attribute nsIDOMHTMLFormElement form;
+
+  readonly attribute nsIDOMFileList        files;
+
+           attribute boolean               indeterminate;
+
            attribute long                  maxLength;
+
+           attribute boolean               multiple;
            attribute DOMString             name;
+
+           attribute DOMString             placeholder;
            attribute boolean               readOnly;
-  // Modified in DOM Level 2:
+
+           attribute DOMString             accessKey;
+           attribute DOMString             align;
+
            attribute unsigned long         size;
            attribute DOMString             src;
-           attribute long                  tabIndex;
-  // Modified in DOM Level 2:
-           attribute DOMString             type;
-           attribute DOMString             useMap;
+
+           attribute DOMString             type;
+           attribute DOMString             defaultValue;
            attribute DOMString             value;
-  void                      blur();
-  void                      focus();
-  void                      select();
-  void                      click();
-};
+
+  void select();
+           attribute long                  selectionStart;
+           attribute long                  selectionEnd;
+  void setSelectionRange(in long selectionStart, in long selectionEnd);
+          
+
+           attribute long                  tabIndex;
+           attribute DOMString             useMap;
+  readonly attribute nsIControllers        controllers;	
+	readonly attribute long                  textLength;
+
+  void mozGetFileNameArray([optional] out unsigned long aLength,
+                           [array,size_is(aLength), retval] out wstring aFileNames);
+  void mozSetFileNameArray([array,size_is(aLength)] in wstring aFileNames,
+                           in unsigned long aLength);
+
+    /**
+   * This non-standard method prevents to check types manually to know if the
+   * element is a text field.
+   */
+  boolean mozIsTextField(in boolean aExcludePassword);
+
+  void blur();
+  void focus();
+  void click();
+};
\ No newline at end of file
deleted file mode 100644
--- a/dom/interfaces/html/nsIDOMNSHTMLInputElement.idl
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Vidur Apparao <vidur@netscape.com> (original author)
- *   Johnny Stenback <jst@netscape.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "domstubs.idl"
-
-interface nsIControllers;
-interface nsIDOMFileList;
-
-[scriptable, uuid(aa764da9-9046-4565-9e34-abd3c4da158e)]
-interface nsIDOMNSHTMLInputElement : nsISupports
-{
-           attribute boolean          autofocus;
-	readonly attribute nsIControllers   controllers;
-	
-	readonly attribute long             textLength;
-	
-           attribute long             selectionStart;
-           attribute long             selectionEnd;
-
-	readonly attribute nsIDOMFileList   files;
-
-           attribute boolean          indeterminate;
-
-           attribute boolean          multiple;
-
-           attribute DOMString        placeholder;
-
-  void mozGetFileNameArray([optional] out unsigned long aLength,
-                           [array,size_is(aLength), retval] out wstring aFileNames);
-  void mozSetFileNameArray([array,size_is(aLength)] in wstring aFileNames,
-                           in unsigned long aLength);
-
-	/* convenience */
-  void                      setSelectionRange(in long selectionStart,
-                                              in long selectionEnd);
-
-  /**
-   * This non-standard method prevents to check types manually to know if the
-   * element is a text field.
-   */
-  boolean mozIsTextField(in boolean aExcludePassword);
-};
--- a/embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
+++ b/embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
@@ -60,17 +60,16 @@
 #include "nsIDOMNSEvent.h"
 #include "nsIDOMWindow.h"
 #include "nsIDOMWindowCollection.h"
 #include "nsIWebBrowser.h"
 #include "nsIDOM3Document.h"
 #include "nsIContent.h"
 #include "nsIPresShell.h"
 #include "nsIFormControl.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
 #include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMHTMLTextAreaElement.h"
 #include "nsIDOMNSHTMLDocument.h"
 #include "nsIDOMNodeList.h"
 #include "nsISelection.h"
 #include "nsIDocument.h"
 #include "EmbedPrivate.h"
@@ -265,17 +264,17 @@ EmbedContextMenuInfo::SetFormControlType
 const char*
 EmbedContextMenuInfo::GetSelectedText()
 {
   nsString cString;
   nsresult rv = NS_ERROR_FAILURE;
   if (mCtxFormType != 0 && mEventNode) {
     PRInt32 TextLength = 0, selStart = 0, selEnd = 0;
     if (mCtxFormType == NS_FORM_INPUT_TEXT || mCtxFormType == NS_FORM_INPUT_FILE) {
-      nsCOMPtr<nsIDOMNSHTMLInputElement> nsinput = do_QueryInterface(mEventNode, &rv);
+      nsCOMPtr<nsIDOMHTMLInputElement> nsinput = do_QueryInterface(mEventNode, &rv);
       if (NS_SUCCEEDED(rv) && nsinput)
         nsinput->GetTextLength(&TextLength);
       if (TextLength > 0) {
         nsinput->GetSelectionEnd(&selEnd);
         nsinput->GetSelectionStart(&selStart);
         if (selStart < selEnd || mCtxFormType == NS_FORM_INPUT_FILE) {
           nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(mEventNode, &rv);
           rv = input->GetValue(cString);
--- a/js/src/xpconnect/src/dom_quickstubs.qsconf
+++ b/js/src/xpconnect/src/dom_quickstubs.qsconf
@@ -265,16 +265,21 @@ members = [
     'nsIDOMHTMLInputElement.disabled',
     'nsIDOMHTMLInputElement.select',
     'nsIDOMHTMLInputElement.checked',
     'nsIDOMHTMLInputElement.type',
     'nsIDOMHTMLInputElement.form',
     'nsIDOMHTMLInputElement.src',
     'nsIDOMHTMLInputElement.name',
     'nsIDOMHTMLInputElement.value',
+    'nsIDOMHTMLInputElement.files',
+    'nsIDOMHTMLInputElement.textLength',
+    'nsIDOMHTMLInputElement.selectionStart',
+    'nsIDOMHTMLInputElement.selectionEnd',
+    'nsIDOMHTMLInputElement.setSelectionRange',
     'nsIDOMHTMLLinkElement.disabled',
     'nsIDOMHTMLOptionElement.index',
     'nsIDOMHTMLOptionElement.selected',
     'nsIDOMHTMLOptionElement.form',
     'nsIDOMHTMLOptionElement.text',
     'nsIDOMHTMLOptionElement.defaultSelected',
     'nsIDOMHTMLOptionElement.value',
     'nsIDOMHTMLOptionElement.label',
@@ -339,21 +344,16 @@ members = [
     'nsIDOMNSHTMLElement.offsetParent',
     'nsIDOMNSHTMLElement.innerHTML',
     'nsIDOMNSHTMLElement.offsetLeft',
     'nsIDOMNSHTMLElement.offsetTop',
     'nsIDOMNSHTMLElement.offsetHeight',
     'nsIDOMNSHTMLElement.offsetWidth',
     'nsIDOMNSHTMLElement.scrollIntoView',
     'nsIDOMNSHTMLFrameElement.contentWindow',
-    'nsIDOMNSHTMLInputElement.files',
-    'nsIDOMNSHTMLInputElement.textLength',
-    'nsIDOMNSHTMLInputElement.selectionStart',
-    'nsIDOMNSHTMLInputElement.selectionEnd',
-    'nsIDOMNSHTMLInputElement.setSelectionRange',
     'nsIDOMNSHTMLOptionCollection.selectedIndex',
     'nsIDOMNSHTMLOptionCollection.add',
     'nsIDOMNSHTMLTextAreaElement.setSelectionRange',
     'nsIDOMNSHTMLTextAreaElement.selectionStart',
     'nsIDOMNSHTMLTextAreaElement.selectionEnd',
     'nsIDOMNSHTMLTextAreaElement.textLength',
     'nsIDOMNSHTMLTextAreaElement.wrap',
 
--- a/layout/base/nsPresShell.cpp
+++ b/layout/base/nsPresShell.cpp
@@ -107,17 +107,16 @@
 #include "nsIPageSequenceFrame.h"
 #include "nsCaret.h"
 #include "nsIDOMHTMLDocument.h"
 #include "nsIXPointer.h"
 #include "nsIDOMXMLDocument.h"
 #include "nsIParser.h"
 #include "nsParserCIID.h"
 #include "nsFrameSelection.h"
-#include "nsIDOMNSHTMLInputElement.h" //optimization for ::DoXXX commands
 #include "nsIDOMNSHTMLTextAreaElement.h"
 #include "nsViewsCID.h"
 #include "nsPresArena.h"
 #include "nsFrameManager.h"
 #include "nsXPCOM.h"
 #include "nsISupportsPrimitives.h"
 #include "nsILayoutHistoryState.h"
 #include "nsILineIterator.h" // for ScrollContentIntoView
--- a/layout/forms/nsFileControlFrame.cpp
+++ b/layout/forms/nsFileControlFrame.cpp
@@ -51,17 +51,16 @@
 #include "nsIFormControl.h"
 #include "nsINameSpaceManager.h"
 #include "nsCOMPtr.h"
 #include "nsIDOMElement.h"
 #include "nsIDOMDocument.h"
 #include "nsIDocument.h"
 #include "nsIDOMMouseListener.h"
 #include "nsIPresShell.h"
-#include "nsIDOMHTMLInputElement.h"
 #include "nsXPCOM.h"
 #include "nsISupportsPrimitives.h"
 #include "nsIComponentManager.h"
 #include "nsPIDOMWindow.h"
 #include "nsIFilePicker.h"
 #include "nsIDOMMouseEvent.h"
 #include "nsINodeInfo.h"
 #include "nsIDOMEventTarget.h"
@@ -69,17 +68,17 @@
 #include "nsIFileControlElement.h"
 #include "nsNodeInfoManager.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsContentUtils.h"
 #include "nsDisplayList.h"
 #include "nsIDOMNSUIEvent.h"
 #include "nsIDOMEventGroup.h"
 #include "nsIDOM3EventTarget.h"
-#include "nsIDOMNSHTMLInputElement.h"
+#include "nsIDOMHTMLInputElement.h"
 #ifdef ACCESSIBILITY
 #include "nsIAccessibilityService.h"
 #endif
 
 #include "nsInterfaceHashtable.h"
 #include "nsURIHashKey.h"
 #include "nsILocalFile.h"
 #include "nsIPrivateBrowsingService.h"
@@ -436,17 +435,17 @@ nsFileControlFrame::CaptureMouseListener
   nsresult rv;
 
   NS_ASSERTION(mFrame, "We should have been unregistered");
   if (!ShouldProcessMouseClick(aMouseEvent))
     return NS_OK;
 
   // Get parent nsIDOMWindowInternal object.
   nsIContent* content = mFrame->GetContent();
-  nsCOMPtr<nsIDOMNSHTMLInputElement> inputElem = do_QueryInterface(content);
+  nsCOMPtr<nsIDOMHTMLInputElement> inputElem = do_QueryInterface(content);
   nsCOMPtr<nsIFileControlElement> fileControl = do_QueryInterface(content);
   if (!content || !inputElem || !fileControl)
     return NS_ERROR_FAILURE;
 
   nsCOMPtr<nsIDocument> doc = content->GetDocument();
   if (!doc)
     return NS_ERROR_FAILURE;
 
@@ -533,17 +532,17 @@ nsFileControlFrame::BrowseMouseListener:
   nsresult rv;
 
   NS_ASSERTION(mFrame, "We should have been unregistered");
   if (!ShouldProcessMouseClick(aMouseEvent))
     return NS_OK;
 
   // Get parent nsIDOMWindowInternal object.
   nsIContent* content = mFrame->GetContent();
-  nsCOMPtr<nsIDOMNSHTMLInputElement> inputElem = do_QueryInterface(content);
+  nsCOMPtr<nsIDOMHTMLInputElement> inputElem = do_QueryInterface(content);
   nsCOMPtr<nsIFileControlElement> fileControl = do_QueryInterface(content);
   if (!content || !inputElem || !fileControl)
     return NS_ERROR_FAILURE;
 
   nsCOMPtr<nsIDocument> doc = content->GetDocument();
   if (!doc)
     return NS_ERROR_FAILURE;
 
--- a/layout/forms/nsGfxCheckboxControlFrame.cpp
+++ b/layout/forms/nsGfxCheckboxControlFrame.cpp
@@ -41,17 +41,17 @@
 #include "nsCSSRendering.h"
 #ifdef ACCESSIBILITY
 #include "nsIAccessibilityService.h"
 #endif
 #include "nsIServiceManager.h"
 #include "nsIDOMHTMLInputElement.h"
 #include "nsDisplayList.h"
 #include "nsCSSAnonBoxes.h"
-#include "nsIDOMNSHTMLInputElement.h"
+#include "nsIDOMHTMLInputElement.h"
 
 static void
 PaintCheckMark(nsIFrame* aFrame,
                nsIRenderingContext* aCtx,
                const nsRect& aDirtyRect,
                nsPoint aPt)
 {
   nsRect rect(aPt, aFrame->GetSize());
@@ -168,13 +168,13 @@ nsGfxCheckboxControlFrame::IsChecked()
   PRBool retval = PR_FALSE;
   elem->GetChecked(&retval);
   return retval;
 }
 
 PRBool
 nsGfxCheckboxControlFrame::IsIndeterminate()
 {
-  nsCOMPtr<nsIDOMNSHTMLInputElement> elem(do_QueryInterface(mContent));
+  nsCOMPtr<nsIDOMHTMLInputElement> elem(do_QueryInterface(mContent));
   PRBool retval = PR_FALSE;
   elem->GetIndeterminate(&retval);
   return retval;
 }
--- a/layout/forms/nsTextControlFrame.cpp
+++ b/layout/forms/nsTextControlFrame.cpp
@@ -36,17 +36,16 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 
 #include "nsCOMPtr.h"
 #include "nsTextControlFrame.h"
 #include "nsIDocument.h"
 #include "nsIDOMNSHTMLTextAreaElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIFormControl.h"
 #include "nsIServiceManager.h"
 #include "nsFrameSelection.h"
 #include "nsIPlaintextEditor.h"
 #include "nsEditorCID.h"
 #include "nsLayoutCID.h"
 #include "nsIDocumentEncoder.h"
 #include "nsCaret.h"
--- a/toolkit/components/satchel/src/nsFormFillController.cpp
+++ b/toolkit/components/satchel/src/nsFormFillController.cpp
@@ -51,17 +51,16 @@
 #include "nsIWebNavigation.h"
 #include "nsIContentViewer.h"
 #include "nsIDOMEventTarget.h"
 #include "nsIDOMKeyEvent.h"
 #include "nsIPrivateDOMEvent.h"
 #include "nsIDOMCompositionListener.h"
 #include "nsIDOMDocument.h"
 #include "nsIDOMElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsIFormControl.h"
 #include "nsIDocument.h"
 #include "nsIContent.h"
 #include "nsIPresShell.h"
 #include "nsIFrame.h"
 #include "nsRect.h"
 #include "nsIDOMDocumentEvent.h"
 #include "nsIDOMHTMLFormElement.h"
@@ -406,37 +405,34 @@ nsFormFillController::SetTextValue(const
     mSuppressOnInput = PR_FALSE;
   }
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFormFillController::GetSelectionStart(PRInt32 *aSelectionStart)
 {
-  nsCOMPtr<nsIDOMNSHTMLInputElement> input = do_QueryInterface(mFocusedInput);
-  if (input)
-    input->GetSelectionStart(aSelectionStart);
+  if (mFocusedInput)
+    mFocusedInput->GetSelectionStart(aSelectionStart);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFormFillController::GetSelectionEnd(PRInt32 *aSelectionEnd)
 {
-  nsCOMPtr<nsIDOMNSHTMLInputElement> input = do_QueryInterface(mFocusedInput);
-  if (input)
-    input->GetSelectionEnd(aSelectionEnd);
+  if (mFocusedInput)
+    mFocusedInput->GetSelectionEnd(aSelectionEnd);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFormFillController::SelectTextRange(PRInt32 aStartIndex, PRInt32 aEndIndex)
 {
-  nsCOMPtr<nsIDOMNSHTMLInputElement> input = do_QueryInterface(mFocusedInput);
-  if (input)
-    input->SetSelectionRange(aStartIndex, aEndIndex);
+ if (mFocusedInput)
+    mFocusedInput->SetSelectionRange(aStartIndex, aEndIndex);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsFormFillController::OnSearchBegin()
 {
   return NS_OK;
 }
--- a/toolkit/content/widgets/findbar.xml
+++ b/toolkit/content/widgets/findbar.xml
@@ -1340,17 +1340,17 @@
         <parameter name="aEvent"/>
         <body><![CDATA[
           if (aEvent.ctrlKey || aEvent.altKey || aEvent.metaKey ||
               aEvent.getPreventDefault())
             return false;
 
           var elt = document.commandDispatcher.focusedElement;
           if (elt) {
-            if (elt instanceof NSHTMLInputElement && elt.mozIsTextField(false))
+            if (elt instanceof HTMLInputElement && elt.mozIsTextField(false))
               return false;
 
             if (elt instanceof HTMLTextAreaElement ||
                 elt instanceof HTMLSelectElement ||
                 elt instanceof HTMLIsIndexElement ||
                 elt instanceof HTMLObjectElement ||
                 elt instanceof HTMLEmbedElement)
               return false;
--- a/toolkit/spatial-navigation/SpatialNavigation.js
+++ b/toolkit/spatial-navigation/SpatialNavigation.js
@@ -128,17 +128,17 @@ function _onInputKeyPress (event, callba
 
   // check to see if we are in a textarea or text input element, and if so,
   // ensure that we let the arrow keys work properly.
   if (target instanceof Ci.nsIDOMHTMLHtmlElement) {
       _focusNextUsingCmdDispatcher(key, callback);
       return;
   }
 
-  if ((target instanceof Ci.nsIDOMNSHTMLInputElement &&
+  if ((target instanceof Ci.nsIDOMHTMLInputElement &&
        target.mozIsTextField(false)) ||
       target instanceof Ci.nsIDOMHTMLTextAreaElement) {
     
     // if there is any selection at all, just ignore
     if (target.selectionEnd - target.selectionStart > 0)
       return;
     
     // if there is no text, there is nothing special to do.
@@ -225,17 +225,17 @@ function _onInputKeyPress (event, callba
   
   if (bestElementToFocus != null) {
     //dump("focusing element  " + bestElementToFocus.nodeName + " " + bestElementToFocus) + "id=" + bestElementToFocus.getAttribute("id");
 
     // Wishing we could do element.focus()
     doc.defaultView.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).focus(bestElementToFocus);
 
     // if it is a text element, select all.
-    if ((bestElementToFocus instanceof Ci.nsIDOMNSHTMLInputElement &&
+    if ((bestElementToFocus instanceof Ci.nsIDOMHTMLInputElement &&
          bestElementToFocus.mozIsTextField(false)) ||
         bestElementToFocus instanceof Ci.nsIDOMHTMLTextAreaElement) {
       bestElementToFocus.selectionStart = 0;
       bestElementToFocus.selectionEnd = bestElementToFocus.textLength;
     }
 
     if (callback != undefined)
       callback(bestElementToFocus);
--- a/widget/src/gtk2/nsNativeThemeGTK.cpp
+++ b/widget/src/gtk2/nsNativeThemeGTK.cpp
@@ -54,17 +54,16 @@
 #include "nsINameSpaceManager.h"
 #include "nsILookAndFeel.h"
 #include "nsIDeviceContext.h"
 #include "nsGfxCIID.h"
 #include "nsTransform2D.h"
 #include "nsIMenuFrame.h"
 #include "prlink.h"
 #include "nsIDOMHTMLInputElement.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsWidgetAtoms.h"
 #include "mozilla/Services.h"
 
 #include <gdk/gdkprivate.h>
 #include <gtk/gtk.h>
 
 #include "gfxContext.h"
 #include "gfxPlatformGtk.h"
--- a/widget/src/xpwidgets/nsNativeTheme.cpp
+++ b/widget/src/xpwidgets/nsNativeTheme.cpp
@@ -45,17 +45,16 @@
 #include "nsPresContext.h"
 #include "nsIEventStateManager.h"
 #include "nsString.h"
 #include "nsINameSpaceManager.h"
 #include "nsIDOMHTMLInputElement.h"
 #include "nsILookAndFeel.h"
 #include "nsThemeConstants.h"
 #include "nsIComponentManager.h"
-#include "nsIDOMNSHTMLInputElement.h"
 #include "nsPIDOMWindow.h"
 
 nsNativeTheme::nsNativeTheme()
 {
 }
 
 nsIPresShell *
 nsNativeTheme::GetPresShell(nsIFrame* aFrame)
@@ -208,17 +207,17 @@ nsNativeTheme::GetIndeterminate(nsIFrame
 
   if (content->IsXUL()) {
     // For a XUL checkbox or radio button, the state of the parent determines
     // the state
     return CheckBooleanAttr(aFrame->GetParent(), nsWidgetAtoms::indeterminate);
   }
 
   // Check for an HTML input element
-  nsCOMPtr<nsIDOMNSHTMLInputElement> inputElt = do_QueryInterface(content);
+  nsCOMPtr<nsIDOMHTMLInputElement> inputElt = do_QueryInterface(content);
   if (inputElt) {
     PRBool indeterminate;
     inputElt->GetIndeterminate(&indeterminate);
     return indeterminate;
   }
 
   return PR_FALSE;
 }