Backed out changeset 7432d20f5b86
authorRobert O'Callahan <robert@ocallahan.org>
Fri, 23 Apr 2010 16:34:06 +1200
changeset 41191 06eaeb49f47dc72624c48ca87e009d8a330aa2af
parent 41183 7432d20f5b86f018824ebc40286a8eaf60c1ee89
child 41192 1cab05410c6c3c1bfa3bd22bfa916ac8f4942550
push id12939
push userrocallahan@mozilla.com
push dateFri, 23 Apr 2010 05:17:21 +0000
treeherdermozilla-central@92bf83a7f317 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone1.9.3a5pre
backs out7432d20f5b86f018824ebc40286a8eaf60c1ee89
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
Backed out changeset 7432d20f5b86
content/base/src/Makefile.in
content/base/src/nsContentAreaDragDrop.cpp
content/base/src/nsDOMSettableTokenList.cpp
content/base/src/nsDOMSettableTokenList.h
content/base/src/nsDOMTokenList.h
content/html/content/public/nsIFormControl.h
content/html/content/src/Makefile.in
content/html/content/src/nsGenericHTMLElement.cpp
content/html/content/src/nsGenericHTMLElement.h
content/html/content/src/nsHTMLFormElement.cpp
content/html/content/src/nsHTMLOutputElement.cpp
dom/base/nsDOMClassInfo.cpp
dom/base/nsDOMClassInfoClasses.h
dom/interfaces/core/Makefile.in
dom/interfaces/core/nsIDOMDOMSettableTokenList.idl
dom/interfaces/html/Makefile.in
dom/interfaces/html/nsIDOMHTMLOutputElement.idl
embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
js/src/xpconnect/src/dom_quickstubs.qsconf
parser/htmlparser/public/nsHTMLTagList.h
parser/htmlparser/src/nsElementTable.cpp
parser/htmlparser/src/nsHTMLTags.cpp
--- a/content/base/src/Makefile.in
+++ b/content/base/src/Makefile.in
@@ -92,17 +92,16 @@ CPPSRCS		= \
 		nsDOMAttributeMap.cpp \
 		nsDOMDocumentType.cpp \
 		nsDOMFile.cpp \
 		nsDOMFileReader.cpp \
 		nsDOMLists.cpp \
 		nsDOMParser.cpp \
 		nsDOMSerializer.cpp \
 		nsDOMTokenList.cpp \
-		nsDOMSettableTokenList.cpp \
 		nsDocument.cpp \
 		nsDocumentEncoder.cpp \
 		nsDocumentFragment.cpp \
 		nsFrameLoader.cpp \
 		nsFormData.cpp \
 		nsGenConImageContent.cpp \
 		nsGenericDOMDataNode.cpp \
 		nsGenericElement.cpp \
--- a/content/base/src/nsContentAreaDragDrop.cpp
+++ b/content/base/src/nsContentAreaDragDrop.cpp
@@ -432,18 +432,17 @@ DragDataProducer::Produce(nsDOMDataTrans
   // aCanDrag to false however, as we still want to allow the drag.
   nsCOMPtr<nsIContent> findFormNode = mSelectionTargetNode;
   nsIContent* findFormParent = findFormNode->GetParent();
   while (findFormParent) {
     nsCOMPtr<nsIFormControl> form(do_QueryInterface(findFormParent));
     if (form && form->GetType() != NS_FORM_OBJECT &&
                 form->GetType() != NS_FORM_FIELDSET &&
                 form->GetType() != NS_FORM_LEGEND &&
-                form->GetType() != NS_FORM_LABEL &&
-                form->GetType() != NS_FORM_OUTPUT)
+                form->GetType() != NS_FORM_LABEL)
       return NS_OK;
     findFormParent = findFormParent->GetParent();
   }
     
   // if set, serialize the content under this node
   nsCOMPtr<nsIContent> nodeToSerialize;
   *aDragSelection = PR_FALSE;
 
deleted file mode 100644
--- a/content/base/src/nsDOMSettableTokenList.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/* ***** 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 Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mounir Lamouri <mounir.lamouri@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either 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 ***** */
-
-/*
- * Implementation of nsIDOMDOMSettableTokenList specified by HTML5.
- */
-
-#include "nsDOMSettableTokenList.h"
-
-
-nsDOMSettableTokenList::nsDOMSettableTokenList(nsGenericElement *aElement, nsIAtom* aAttrAtom)
-  : nsDOMTokenList(aElement, aAttrAtom)
-{
-}
-
-nsDOMSettableTokenList::~nsDOMSettableTokenList()
-{
-}
-
-DOMCI_DATA(DOMSettableTokenList, nsDOMSettableTokenList)
-
-NS_INTERFACE_TABLE_HEAD(nsDOMSettableTokenList)
-  NS_INTERFACE_TABLE1(nsDOMSettableTokenList,
-                      nsIDOMDOMSettableTokenList)
-  NS_INTERFACE_TABLE_TO_MAP_SEGUE
-  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(DOMSettableTokenList)
-NS_INTERFACE_MAP_END_INHERITING(nsDOMTokenList)
-
-NS_IMPL_ADDREF_INHERITED(nsDOMSettableTokenList, nsDOMTokenList)
-NS_IMPL_RELEASE_INHERITED(nsDOMSettableTokenList, nsDOMTokenList)
-
-NS_IMETHODIMP
-nsDOMSettableTokenList::GetValue(nsAString& aResult)
-{
-  return ToString(aResult);
-}
-
-NS_IMETHODIMP
-nsDOMSettableTokenList::SetValue(const nsAString& aValue)
-{
-  if (!mElement) {
-    return NS_OK;
-  }
-
-  return mElement->SetAttr(kNameSpaceID_None, mAttrAtom, aValue, PR_TRUE);
-}
-
deleted file mode 100644
--- a/content/base/src/nsDOMSettableTokenList.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* ***** 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 Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mounir Lamouri <mounir.lamouri@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either 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 ***** */
-
-/*
- * Implementation of nsIDOMDOMSettableTokenList specified by HTML5.
- */
-
-#ifndef nsDOMSettableTokenList_h___
-#define nsDOMSettableTokenList_h___
-
-#include "nsIDOMDOMSettableTokenList.h"
-#include "nsDOMTokenList.h"
-
-
-class nsGenericElement;
-class nsIAtom;
-
-class nsDOMSettableTokenList : public nsDOMTokenList,
-                               public nsIDOMDOMSettableTokenList
-{
-public:
-  NS_DECL_ISUPPORTS_INHERITED
-  NS_DECL_NSIDOMDOMSETTABLETOKENLIST
-
-  NS_FORWARD_NSIDOMDOMTOKENLIST(nsDOMTokenList::);
-
-  nsDOMSettableTokenList(nsGenericElement* aElement, nsIAtom* aAttrAtom);
-
-protected:
-  ~nsDOMSettableTokenList();
-};
-
-#endif // nsDOMSettableTokenList_h___
-
--- a/content/base/src/nsDOMTokenList.h
+++ b/content/base/src/nsDOMTokenList.h
@@ -51,17 +51,17 @@ class nsDOMTokenList : public nsIDOMDOMT
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIDOMDOMTOKENLIST
 
   nsDOMTokenList(nsGenericElement* aElement, nsIAtom* aAttrAtom);
 
   void DropReference();
 
-protected:
+private:
   ~nsDOMTokenList();
 
   const nsAttrValue* GetParsedAttr() {
     if (!mElement) {
       return nsnull;
     }
     return mElement->GetParsedAttr(mAttrAtom);
   }
--- a/content/html/content/public/nsIFormControl.h
+++ b/content/html/content/public/nsIFormControl.h
@@ -57,21 +57,20 @@ class nsFormSubmission;
 #define NS_FORM_INPUT_IMAGE    10
 #define NS_FORM_INPUT_PASSWORD 11
 #define NS_FORM_INPUT_RADIO    12
 #define NS_FORM_INPUT_SUBMIT   13
 #define NS_FORM_INPUT_TEXT     14
 #define NS_FORM_LABEL          15
 #define NS_FORM_OPTION         16
 #define NS_FORM_OPTGROUP       17
-#define NS_FORM_OUTPUT         18
-#define NS_FORM_LEGEND         19
-#define NS_FORM_SELECT         20
-#define NS_FORM_TEXTAREA       21
-#define NS_FORM_OBJECT         22
+#define NS_FORM_LEGEND         18
+#define NS_FORM_SELECT         19
+#define NS_FORM_TEXTAREA       20
+#define NS_FORM_OBJECT         21
 
 #define NS_IFORMCONTROL_IID   \
 { 0x52dc1f0d, 0x1683, 0x4dd7, \
  { 0xae, 0x0a, 0xc4, 0x76, 0x10, 0x64, 0x2f, 0xa8 } }
 
 /**
  * Interface which all form controls (e.g. buttons, checkboxes, text,
  * radio buttons, select, etc) implement in addition to their dom specific
--- a/content/html/content/src/Makefile.in
+++ b/content/html/content/src/Makefile.in
@@ -82,17 +82,16 @@ CPPSRCS		= \
 		nsHTMLLinkElement.cpp \
 		nsHTMLMapElement.cpp \
 		nsHTMLMetaElement.cpp \
 		nsHTMLObjectElement.cpp \
 		nsHTMLOListElement.cpp \
 		nsHTMLSharedObjectElement.cpp \
 		nsHTMLOptionElement.cpp \
 		nsHTMLOptGroupElement.cpp \
-		nsHTMLOutputElement.cpp \
 		nsHTMLParagraphElement.cpp \
 		nsHTMLPreElement.cpp \
 		nsHTMLScriptElement.cpp \
 		nsHTMLSelectElement.cpp \
 		nsHTMLSharedElement.cpp \
 		nsHTMLSpanElement.cpp \
 		nsHTMLStyleElement.cpp \
 		nsHTMLTableElement.cpp \
--- a/content/html/content/src/nsGenericHTMLElement.cpp
+++ b/content/html/content/src/nsGenericHTMLElement.cpp
@@ -2587,18 +2587,17 @@ PRBool
 nsGenericHTMLFormElement::CanBeDisabled() const
 {
   PRInt32 type = GetType();
   // It's easier to test the types that _cannot_ be disabled
   return
     type != NS_FORM_LABEL &&
     type != NS_FORM_LEGEND &&
     type != NS_FORM_FIELDSET &&
-    type != NS_FORM_OBJECT &&
-    type != NS_FORM_OUTPUT;
+    type != NS_FORM_OBJECT;
 }
 
 PRBool
 nsGenericHTMLFormElement::IsSubmitControl() const
 {
   PRInt32 type = GetType();
   return type == NS_FORM_INPUT_SUBMIT ||
          type == NS_FORM_BUTTON_SUBMIT ||
--- a/content/html/content/src/nsGenericHTMLElement.h
+++ b/content/html/content/src/nsGenericHTMLElement.h
@@ -1243,17 +1243,16 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(LI)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Label)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Legend)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Link)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Map)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Meta)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Object)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(OptGroup)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Option)
-NS_DECLARE_NS_NEW_HTML_ELEMENT(Output)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Paragraph)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Pre)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Script)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Select)
 #if defined(MOZ_MEDIA)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Source)
 #endif
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Span)
--- a/content/html/content/src/nsHTMLFormElement.cpp
+++ b/content/html/content/src/nsHTMLFormElement.cpp
@@ -186,17 +186,16 @@ ShouldBeInElements(nsIFormControl* aForm
   case NS_FORM_INPUT_PASSWORD :
   case NS_FORM_INPUT_RADIO :
   case NS_FORM_INPUT_SUBMIT :
   case NS_FORM_INPUT_TEXT :
   case NS_FORM_SELECT :
   case NS_FORM_TEXTAREA :
   case NS_FORM_FIELDSET :
   case NS_FORM_OBJECT :
-  case NS_FORM_OUTPUT :
     return PR_TRUE;
   }
 
   // These form control types are not supposed to end up in the
   // form.elements array
   //
   // NS_FORM_INPUT_IMAGE
   // NS_FORM_LABEL
deleted file mode 100644
--- a/content/html/content/src/nsHTMLOutputElement.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/* -*- Mode: C++; 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 Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mounir Lamouri <mounir.lamouri@mozilla.com> (original author)
- *
- * 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 "nsIDOMHTMLOutputElement.h"
-#include "nsGenericHTMLElement.h"
-#include "nsIFormSubmission.h"
-#include "nsDOMSettableTokenList.h"
-#include "nsStubMutationObserver.h"
-
-
-class nsHTMLOutputElement : public nsGenericHTMLFormElement,
-                            public nsIDOMHTMLOutputElement,
-                            public nsStubMutationObserver
-{
-public:
-  nsHTMLOutputElement(nsINodeInfo *aNodeInfo);
-  virtual ~nsHTMLOutputElement();
-
-  // nsISupports
-  NS_DECL_ISUPPORTS_INHERITED
-
-  // nsIDOMNode
-  NS_FORWARD_NSIDOMNODE(nsGenericHTMLFormElement::)
-
-  // nsIDOMElement
-  NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLFormElement::)
-
-  // nsIDOMHTMLElement
-  NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLFormElement::)
-
-  // nsIDOMHTMLOutputElement
-  NS_DECL_NSIDOMHTMLOUTPUTELEMENT
-
-  // nsIFormControl
-  NS_IMETHOD_(PRInt32) GetType() const { return NS_FORM_OUTPUT; }
-  NS_IMETHOD Reset();
-  NS_IMETHOD SubmitNamesValues(nsFormSubmission* aFormSubmission,
-                               nsIContent* aSubmitElement);
-
-  nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const;
-
-  PRBool ParseAttribute(PRInt32 aNamespaceID, nsIAtom* aAttribute,
-                        const nsAString& aValue, nsAttrValue& aResult);
-
-  // This function is called when a callback function from nsIMutationObserver
-  // has to be used to update the defaultValue attribute.
-  void DescendantsChanged();
-
-  // nsIMutationObserver
-  void CharacterDataChanged(nsIDocument* aDocument,
-                            nsIContent* aContent,
-                            CharacterDataChangeInfo* aInfo);
-  void ContentAppended     (nsIDocument* aDocument,
-                            nsIContent* aContainer,
-                            PRInt32 aNewIndexInContainer);
-  void ContentInserted     (nsIDocument* aDocument,
-                            nsIContent* aContainer,
-                            nsIContent* aChild,
-                            PRInt32 aIndexInContainer);
-  void ContentRemoved      (nsIDocument* aDocument,
-                            nsIContent* aContainer,
-                            nsIContent* aChild,
-                            PRInt32 aIndexInContainer);
-
-
-  NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(nsHTMLOutputElement,
-                                                     nsGenericHTMLFormElement)
-
-protected:
-  enum ValueModeFlag {
-    eModeDefault,
-    eModeValue
-  };
-
-  ValueModeFlag  mValueModeFlag;
-  nsString       mDefaultValue;
-  nsRefPtr<nsDOMSettableTokenList> mTokenList;
-};
-
-
-NS_IMPL_NS_NEW_HTML_ELEMENT(Output)
-
-
-nsHTMLOutputElement::nsHTMLOutputElement(nsINodeInfo *aNodeInfo)
-  : nsGenericHTMLFormElement(aNodeInfo)
-  , mValueModeFlag(eModeDefault)
-{
-  AddMutationObserver(this);
-}
-
-nsHTMLOutputElement::~nsHTMLOutputElement()
-{
-  if (mTokenList) {
-    mTokenList->DropReference();
-  }
-}
-
-
-NS_IMPL_ADDREF_INHERITED(nsHTMLOutputElement, nsGenericElement)
-NS_IMPL_RELEASE_INHERITED(nsHTMLOutputElement, nsGenericElement)
-
-DOMCI_DATA(HTMLOutputElement, nsHTMLOutputElement)
-
-// QueryInterface implementation for nsHTMLOutputElement
-NS_INTERFACE_TABLE_HEAD(nsHTMLOutputElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE2(nsHTMLOutputElement,
-                                   nsIDOMHTMLOutputElement,
-                                   nsIMutationObserver)
-  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLOutputElement,
-                                               nsGenericHTMLFormElement)
-NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLOutputElement)
-
-NS_IMPL_ELEMENT_CLONE(nsHTMLOutputElement)
-
-
-NS_IMPL_STRING_ATTR(nsHTMLOutputElement, Name, name)
-
-NS_IMETHODIMP
-nsHTMLOutputElement::Reset()
-{
-  mValueModeFlag = eModeDefault;
-  nsresult rv = nsContentUtils::SetNodeTextContent(this, mDefaultValue,
-                                                   PR_TRUE);
-  return rv;
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::SubmitNamesValues(nsFormSubmission* aFormSubmission,
-                                       nsIContent* aSubmitElement)
-{
-  // The output element is not submittable.
-  return NS_OK;
-}
-
-PRBool
-nsHTMLOutputElement::ParseAttribute(PRInt32 aNamespaceID, nsIAtom* aAttribute,
-                                    const nsAString& aValue, nsAttrValue& aResult)
-{
-  if (aNamespaceID == kNameSpaceID_None) {
-    if (aAttribute == nsGkAtoms::_for) {
-      aResult.ParseAtomArray(aValue);
-      return PR_TRUE;
-    }
-  }
-
-  return nsGenericHTMLFormElement::ParseAttribute(aNamespaceID, aAttribute,
-                                                  aValue, aResult);
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::GetForm(nsIDOMHTMLFormElement** aForm)
-{
-  return nsGenericHTMLFormElement::GetForm(aForm);
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::GetType(nsAString& aType)
-{
-  aType.AssignLiteral("output");
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::GetValue(nsAString& aValue)
-{
-  nsContentUtils::GetNodeTextContent(this, PR_TRUE, aValue);
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::SetValue(const nsAString& aValue)
-{
-  mValueModeFlag = eModeValue;
-  return nsContentUtils::SetNodeTextContent(this, aValue, PR_TRUE);
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::GetDefaultValue(nsAString& aDefaultValue)
-{
-  aDefaultValue = mDefaultValue;
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::SetDefaultValue(const nsAString& aDefaultValue)
-{
-  mDefaultValue = aDefaultValue;
-  if (mValueModeFlag == eModeDefault) {
-    return nsContentUtils::SetNodeTextContent(this, mDefaultValue, PR_TRUE);
-  }
-
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLOutputElement::GetHtmlFor(nsIDOMDOMSettableTokenList** aResult)
-{
-  if (!mTokenList) {
-    mTokenList = new nsDOMSettableTokenList(this, nsGkAtoms::_for);
-  }
-
-  NS_ADDREF(*aResult = mTokenList);
-
-  return NS_OK;
-}
-
-void nsHTMLOutputElement::DescendantsChanged()
-{
-  if (mValueModeFlag == eModeDefault) {
-    nsContentUtils::GetNodeTextContent(this, PR_TRUE, mDefaultValue);
-  }
-}
-
-// nsIMutationObserver
-
-void nsHTMLOutputElement::CharacterDataChanged(nsIDocument* aDocument,
-                                               nsIContent* aContent,
-                                               CharacterDataChangeInfo* aInfo)
-{
-  DescendantsChanged();
-}
-
-void nsHTMLOutputElement::ContentAppended(nsIDocument* aDocument,
-                                          nsIContent* aContainer,
-                                          PRInt32 aNewIndexInContainer)
-{
-  DescendantsChanged();
-}
-
-void nsHTMLOutputElement::ContentInserted(nsIDocument* aDocument,
-                                          nsIContent* aContainer,
-                                          nsIContent* aChild,
-                                          PRInt32 aIndexInContainer)
-{
-  DescendantsChanged();
-}
-
-void nsHTMLOutputElement::ContentRemoved(nsIDocument* aDocument,
-                                         nsIContent* aContainer,
-                                         nsIContent* aChild,
-                                         PRInt32 aIndexInContainer)
-{
-  DescendantsChanged();
-}
-
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -120,17 +120,16 @@
 #include "nsIDOMDOMException.h"
 #include "nsIDOMNode.h"
 #include "nsIDOM3Node.h"
 #include "nsIDOM3Attr.h"
 #include "nsIDOMNodeList.h"
 #include "nsIDOMNamedNodeMap.h"
 #include "nsIDOMDOMStringList.h"
 #include "nsIDOMDOMTokenList.h"
-#include "nsIDOMDOMSettableTokenList.h"
 #include "nsIDOMNameList.h"
 #include "nsIDOMNSElement.h"
 
 // HTMLFormElement helper includes
 #include "nsIForm.h"
 #include "nsIFormControl.h"
 #include "nsIDOMHTMLFormElement.h"
 #include "nsIDOMHTMLCollection.h"
@@ -284,17 +283,16 @@
 #include "nsIDOMHTMLLinkElement.h"
 #include "nsIDOMHTMLMapElement.h"
 #include "nsIDOMHTMLMenuElement.h"
 #include "nsIDOMHTMLMetaElement.h"
 #include "nsIDOMHTMLModElement.h"
 #include "nsIDOMHTMLOListElement.h"
 #include "nsIDOMHTMLObjectElement.h"
 #include "nsIDOMHTMLOptGroupElement.h"
-#include "nsIDOMHTMLOutputElement.h"
 #include "nsIDOMHTMLParagraphElement.h"
 #include "nsIDOMHTMLParamElement.h"
 #include "nsIDOMHTMLPreElement.h"
 #include "nsIDOMHTMLQuoteElement.h"
 #include "nsIDOMHTMLScriptElement.h"
 #include "nsIDOMNSHTMLScriptElement.h"
 #include "nsIDOMNSHTMLSelectElement.h"
 #include "nsIDOMHTMLStyleElement.h"
@@ -653,18 +651,16 @@ static nsDOMClassInfoData sClassInfoData
   NS_DEFINE_CLASSINFO_DATA(DocumentType, nsNodeSH,
                            NODE_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMImplementation, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMException, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DOMTokenList, nsDOMTokenListSH,
                            ARRAY_SCRIPTABLE_FLAGS)
-  NS_DEFINE_CLASSINFO_DATA(DOMSettableTokenList, nsDOMTokenListSH,
-                           ARRAY_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(DocumentFragment, nsDOMGenericSH,
                            DOM_DEFAULT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(Element, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(Attr, nsAttributeSH,
                            NODE_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(Text, nsNodeSH,
                            NODE_SCRIPTABLE_FLAGS)
@@ -783,18 +779,16 @@ static nsDOMClassInfoData sClassInfoData
   NS_DEFINE_CLASSINFO_DATA(HTMLOListElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLObjectElement, nsHTMLPluginObjElementSH,
                            EXTERNAL_OBJ_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLOptGroupElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLOptionElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
-  NS_DEFINE_CLASSINFO_DATA(HTMLOutputElement, nsElementSH,
-                           ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLParagraphElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLParamElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLPreElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLQuoteElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
@@ -2156,20 +2150,16 @@ nsDOMClassInfo::Init()
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMException)
     DOM_CLASSINFO_MAP_ENTRY(nsIException)
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(DOMTokenList, nsIDOMDOMTokenList)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMTokenList)
   DOM_CLASSINFO_MAP_END
 
-  DOM_CLASSINFO_MAP_BEGIN(DOMSettableTokenList, nsIDOMDOMSettableTokenList)
-    DOM_CLASSINFO_MAP_ENTRY(nsIDOMDOMSettableTokenList)
-  DOM_CLASSINFO_MAP_END
-
   DOM_CLASSINFO_MAP_BEGIN(DocumentFragment, nsIDOMDocumentFragment)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMDocumentFragment)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOM3Node)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNodeSelector)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSEventTarget)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget)
   DOM_CLASSINFO_MAP_END
 
@@ -2516,21 +2506,16 @@ nsDOMClassInfo::Init()
   DOM_CLASSINFO_MAP_BEGIN(HTMLOptionElement, nsIDOMHTMLOptionElement)
     // Order is significant.  nsIDOMNSHTMLOptionElement.text shdaows
     // nsIDOMHTMLOptionElement.text, which is readonly.
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSHTMLOptionElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLOptionElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
-  DOM_CLASSINFO_MAP_BEGIN(HTMLOutputElement, nsIDOMHTMLOutputElement)
-    DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLOutputElement)
-    DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
-  DOM_CLASSINFO_MAP_END
-
   DOM_CLASSINFO_MAP_BEGIN(HTMLParagraphElement, nsIDOMHTMLParagraphElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLParagraphElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLParamElement, nsIDOMHTMLParamElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLParamElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
--- a/dom/base/nsDOMClassInfoClasses.h
+++ b/dom/base/nsDOMClassInfoClasses.h
@@ -50,17 +50,16 @@ DOMCI_CLASS(DOMPrototype)
 DOMCI_CLASS(DOMConstructor)
 
 // Core classes
 DOMCI_CLASS(XMLDocument)
 DOMCI_CLASS(DocumentType)
 DOMCI_CLASS(DOMImplementation)
 DOMCI_CLASS(DOMException)
 DOMCI_CLASS(DOMTokenList)
-DOMCI_CLASS(DOMSettableTokenList)
 DOMCI_CLASS(DocumentFragment)
 DOMCI_CLASS(Element)
 DOMCI_CLASS(Attr)
 DOMCI_CLASS(Text)
 DOMCI_CLASS(Comment)
 DOMCI_CLASS(CDATASection)
 DOMCI_CLASS(ProcessingInstruction)
 DOMCI_CLASS(Notation)
@@ -116,17 +115,16 @@ DOMCI_CLASS(HTMLLegendElement)
 DOMCI_CLASS(HTMLLinkElement)
 DOMCI_CLASS(HTMLMapElement)
 DOMCI_CLASS(HTMLMenuElement)
 DOMCI_CLASS(HTMLMetaElement)
 DOMCI_CLASS(HTMLOListElement)
 DOMCI_CLASS(HTMLObjectElement)
 DOMCI_CLASS(HTMLOptGroupElement)
 DOMCI_CLASS(HTMLOptionElement)
-DOMCI_CLASS(HTMLOutputElement)
 DOMCI_CLASS(HTMLParagraphElement)
 DOMCI_CLASS(HTMLParamElement)
 DOMCI_CLASS(HTMLPreElement)
 DOMCI_CLASS(HTMLQuoteElement)
 DOMCI_CLASS(HTMLScriptElement)
 DOMCI_CLASS(HTMLSelectElement)
 DOMCI_CLASS(HTMLSpacerElement)
 DOMCI_CLASS(HTMLSpanElement)
--- a/dom/interfaces/core/Makefile.in
+++ b/dom/interfaces/core/Makefile.in
@@ -77,12 +77,11 @@ XPIDLSRCS =                             
 	nsIDOMNSDocument.idl			\
 	nsIDOMXMLDocument.idl			\
 	nsIDOMUserDataHandler.idl		\
 	nsIDOMDOMConfiguration.idl		\
 	nsIDOMNSEditableElement.idl		\
 	nsIDOMNSElement.idl			\
 	nsIDOMNodeSelector.idl			\
 	nsIDOMDOMTokenList.idl			\
-	nsIDOMDOMSettableTokenList.idl	\
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/dom/interfaces/core/nsIDOMDOMSettableTokenList.idl
+++ /dev/null
@@ -1,52 +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 Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mounir Lamouri <mounir.lamouri@mozilla.com> (original author)
- *
- * 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 "nsIDOMDOMTokenList.idl"
-
-/**
- * The DOMSettableTokenList interface is the same as the DOMTokenList interface,
- * except that it allows the underlying string to be directly changed.
- *
- * For more information on this interface please see:
- * http://dev.w3.org/html5/spec/infrastructure.html#domsettabletokenlist
- */
-[scriptable, uuid(cdac274e-6619-4b5f-ba1a-cd1dbfae44b8)]
-interface nsIDOMDOMSettableTokenList : nsIDOMDOMTokenList
-{
-  attribute DOMString value;
-};
-
--- a/dom/interfaces/html/Makefile.in
+++ b/dom/interfaces/html/Makefile.in
@@ -82,17 +82,16 @@ SDK_XPIDLSRCS =					\
 	nsIDOMHTMLMenuElement.idl		\
 	nsIDOMHTMLMetaElement.idl		\
 	nsIDOMHTMLModElement.idl		\
 	nsIDOMHTMLOListElement.idl		\
 	nsIDOMHTMLObjectElement.idl		\
 	nsIDOMHTMLOptGroupElement.idl		\
 	nsIDOMHTMLOptionElement.idl		\
 	nsIDOMHTMLOptionsCollection.idl		\
-	nsIDOMHTMLOutputElement.idl		\
 	nsIDOMHTMLParagraphElement.idl		\
 	nsIDOMHTMLParamElement.idl		\
 	nsIDOMHTMLPreElement.idl		\
 	nsIDOMHTMLQuoteElement.idl		\
 	nsIDOMHTMLScriptElement.idl		\
 	nsIDOMHTMLSelectElement.idl		\
 	nsIDOMHTMLStyleElement.idl		\
 	nsIDOMHTMLTableCaptionElem.idl		\
deleted file mode 100644
--- a/dom/interfaces/html/nsIDOMHTMLOutputElement.idl
+++ /dev/null
@@ -1,79 +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 Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Mounir Lamouri <mounir.lamouri@mozilla.com> (original author)
- *
- * 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 "nsIDOMHTMLElement.idl"
-
-/**
- * The nsIDOMHTMLOutputElement interface is the interface to a HTML
- * <output> element.
- *
- * For more information on this interface, please see
- * http://dev.w3.org/html5/spec/forms.html#the-output-element
- *
- * @status UNDER_DEVELOPMENT
- */
-
-interface nsIDOMDOMSettableTokenList;
-
-[scriptable, uuid(0f7f15a9-ea72-4feb-b2b5-2fcbc9c10ab8)]
-interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement
-{
-  readonly attribute nsIDOMDOMSettableTokenList htmlFor;
-  readonly attribute nsIDOMHTMLFormElement      form;
-           attribute DOMString                  name;
-
-  readonly attribute DOMString                  type;
-           attribute DOMString                  defaultValue;
-           attribute DOMString                  value;
-
-  /**
-   * The next attributes depends on the constraint validation API.
-   * Keeping them commented until the constraint validation API is implemented.
-   * See bug bug 345624.
-   */
-  //readonly attribute boolean willValidate;
-  //readonly attribute ValidityState validity;
-  //readonly attribute DOMString validationMessage;
-  //boolean checkValidity();
-  //void setCustomValidity(in DOMString error);
-
-  /**
-   * The labels IDL attribute will be added with bug 556743.
-   */
-  //readonly attribute nsIDOMNodeList             labels;
-};
-
--- a/embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
+++ b/embedding/browser/gtk/src/EmbedContextMenuInfo.cpp
@@ -230,18 +230,16 @@ EmbedContextMenuInfo::SetFormControlType
         break;
       case NS_FORM_SELECT:
         break;
       case NS_FORM_TEXTAREA:
         mEmbedCtxType |= GTK_MOZ_EMBED_CTX_INPUT;
         break;
       case NS_FORM_OBJECT:
         break;
-      case NS_FORM_OUTPUT:
-        break;
       default:
         break;
       }
       if (mEmbedCtxType & GTK_MOZ_EMBED_CTX_INPUT) {
         PRBool rdonly = PR_FALSE;
         if (mCtxFormType == NS_FORM_TEXTAREA) {
           nsCOMPtr<nsIDOMHTMLTextAreaElement> input;
           input = do_QueryInterface(mEventNode, &rv);
--- a/js/src/xpconnect/src/dom_quickstubs.qsconf
+++ b/js/src/xpconnect/src/dom_quickstubs.qsconf
@@ -161,17 +161,16 @@ members = [
     'nsIDOM3Node.isEqualNode',
     'nsIDOM3Text.isElementContentWhitespace',
     'nsIDOM3Text.replaceWholeText',
     'nsIDOM3Text.wholeText',
     'nsIDOMDOMStringList.item',
     'nsIDOMDOMStringList.length',
     'nsIDOMDOMStringList.contains',
     'nsIDOMDOMTokenList.*',
-    'nsIDOMDOMSettableTokenList.*',
     'nsIDOMNameList.getName',
     'nsIDOMNameList.contains',
     'nsIDOMNameList.containsNS',
     'nsIDOMNameList.length',
     'nsIDOMNameList.getNamespaceURI',
     'nsIDOMNSDocument.getElementsByClassName',
     'nsIDOMNSDocument.title',
     'nsIDOMNSDocument.hasFocus',
--- a/parser/htmlparser/public/nsHTMLTagList.h
+++ b/parser/htmlparser/public/nsHTMLTagList.h
@@ -135,17 +135,16 @@ HTML_TAG(multicol, Span)
 HTML_TAG(nobr, Span)
 HTML_TAG(noembed, Div)
 HTML_TAG(noframes, Div)
 HTML_TAG(noscript, Div)
 HTML_TAG(object, Object)
 HTML_TAG(ol, SharedList)
 HTML_TAG(optgroup, OptGroup)
 HTML_TAG(option, Option)
-HTML_TAG(output, Output)
 HTML_TAG(p, Paragraph)
 HTML_TAG(param, Shared)
 HTML_TAG(plaintext, Span)
 HTML_TAG(pre, Pre)
 HTML_TAG(q, Shared)
 HTML_TAG(s, Span)
 HTML_TAG(samp, Span)
 HTML_TAG(script, Script)
--- a/parser/htmlparser/src/nsElementTable.cpp
+++ b/parser/htmlparser/src/nsElementTable.cpp
@@ -870,25 +870,16 @@ const nsHTMLElement gHTMLElements[] = {
     /*requiredAncestor*/                eHTMLTag_select,eHTMLTag_unknown,
     /*rootnodes,endrootnodes*/          &gOptgroupParents,&gOptgroupParents, 
     /*autoclose starttags and endtags*/ 0,0,0,0,
     /*parent,incl,exclgroups*/          kNone, kPCDATA, kFlowEntity|kHeadMisc,
     /*special props, prop-range*/       kNoStyleLeaksIn|kNoPropagate, kDefaultPropRange,
     /*special parents,kids*/            &gOptgroupParents,&gContainedInOpt,
   },
   {
-    /*tag*/                             eHTMLTag_output,
-    /*requiredAncestor*/                eHTMLTag_unknown,eHTMLTag_unknown,
-    /*rootnodes,endrootnodes*/          &gRootTags,&gRootTags,
-    /*autoclose starttags and endtags*/ 0,0,0,0,
-    /*parent,incl,exclgroups*/          kSpecial, (kInlineEntity|kSelf), kNone,
-    /*special props, prop-range*/       0,kDefaultPropRange,
-    /*special parents,kids*/            0,0,
-  },
-  {
     /*tag*/                             eHTMLTag_p,
     /*req-parent excl-parent*/          eHTMLTag_unknown,eHTMLTag_unknown,
     /*rootnodes,endrootnodes*/          &gRootTags,&gRootTags,
     /*autoclose starttags and endtags*/ 0,0,0,0,
     /*parent,incl,exclgroups*/          kBlock, kInlineEntity, kNone,      //this used to contain FLOW. But it's really an inline container.
     /*special props, prop-range*/       kHandleStrayTag,kDefaultPropRange, //otherwise it tries to contain things like H1..H6
     /*special parents,kids*/            0,&gInP,
   },
--- a/parser/htmlparser/src/nsHTMLTags.cpp
+++ b/parser/htmlparser/src/nsHTMLTags.cpp
@@ -194,18 +194,16 @@ static const PRUnichar sHTMLTagUnicodeNa
 static const PRUnichar sHTMLTagUnicodeName_object[] =
   {'o', 'b', 'j', 'e', 'c', 't', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_ol[] =
   {'o', 'l', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_optgroup[] =
   {'o', 'p', 't', 'g', 'r', 'o', 'u', 'p', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_option[] =
   {'o', 'p', 't', 'i', 'o', 'n', '\0'};
-static const PRUnichar sHTMLTagUnicodeName_output[] =
-  {'o', 'u', 't', 'p', 'u', 't', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_p[] =
   {'p', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_param[] =
   {'p', 'a', 'r', 'a', 'm', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_plaintext[] =
   {'p', 'l', 'a', 'i', 'n', 't', 'e', 'x', 't', '\0'};
 static const PRUnichar sHTMLTagUnicodeName_pre[] =
   {'p', 'r', 'e', '\0'};