Bug 826947: Move HTMLScriptElement to mozilla::dom r=bz
authorDavid Zbarsky <dzbarsky@gmail.com>
Sat, 05 Jan 2013 04:41:27 -0500
changeset 126829 8101b0c28d50448d9f647e115645115a23cce65a
parent 126828 9b891394bb82f14f55665fb36606e2ae810dc4f7
child 126830 bb0411cda329c6a5f4843150e8d3b47e4d54e498
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz
bugs826947
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 826947: Move HTMLScriptElement to mozilla::dom r=bz
content/html/content/src/HTMLScriptElement.cpp
content/html/content/src/HTMLScriptElement.h
content/html/content/src/Makefile.in
content/html/content/src/nsHTMLScriptElement.cpp
rename from content/html/content/src/nsHTMLScriptElement.cpp
rename to content/html/content/src/HTMLScriptElement.cpp
--- a/content/html/content/src/nsHTMLScriptElement.cpp
+++ b/content/html/content/src/HTMLScriptElement.cpp
@@ -1,16 +1,16 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=2 sw=2 et tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 #include "nsIDOMHTMLScriptElement.h"
 #include "nsIDOMEventTarget.h"
-#include "nsGenericHTMLElement.h"
 #include "nsGkAtoms.h"
 #include "nsStyleConsts.h"
 #include "nsIDocument.h"
 #include "nsScriptElement.h"
 #include "nsIURI.h"
 #include "nsNetUtil.h"
 #include "nsContentUtils.h"
 #include "nsUnicharUtils.h"  // for nsCaseInsensitiveStringComparator()
@@ -18,285 +18,225 @@
 #include "nsIScriptContext.h"
 #include "nsIScriptGlobalObject.h"
 #include "nsIXPConnect.h"
 #include "nsServiceManagerUtils.h"
 #include "nsError.h"
 #include "nsIArray.h"
 #include "nsTArray.h"
 #include "nsDOMJSUtils.h"
-
-using namespace mozilla;
-using namespace mozilla::dom;
-
-class nsHTMLScriptElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLScriptElement,
-                            public nsScriptElement
-{
-public:
-  using Element::GetText;
-  using Element::SetText;
-
-  nsHTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
-                      FromParser aFromParser);
-  virtual ~nsHTMLScriptElement();
-
-  // nsISupports
-  NS_DECL_ISUPPORTS_INHERITED
-
-  // nsIDOMNode
-  NS_FORWARD_NSIDOMNODE_TO_NSINODE
-
-  // nsIDOMElement
-  NS_FORWARD_NSIDOMELEMENT_TO_GENERIC
-
-  // nsIDOMHTMLElement
-  NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC
-
-  virtual void GetInnerHTML(nsAString& aInnerHTML,
-                            mozilla::ErrorResult& aError) MOZ_OVERRIDE;
-  virtual void SetInnerHTML(const nsAString& aInnerHTML,
-                            mozilla::ErrorResult& aError) MOZ_OVERRIDE;
-
-  // nsIDOMHTMLScriptElement
-  NS_DECL_NSIDOMHTMLSCRIPTELEMENT
-
-  // nsIScriptElement
-  virtual void GetScriptType(nsAString& type);
-  virtual void GetScriptText(nsAString& text);
-  virtual void GetScriptCharset(nsAString& charset);
-  virtual void FreezeUriAsyncDefer();
-  virtual CORSMode GetCORSMode() const;
-
-  // nsIContent
-  virtual nsresult BindToTree(nsIDocument* aDocument, nsIContent* aParent,
-                              nsIContent* aBindingParent,
-                              bool aCompileEventHandlers);
-  virtual bool ParseAttribute(int32_t aNamespaceID,
-                              nsIAtom* aAttribute,
-                              const nsAString& aValue,
-                              nsAttrValue& aResult);
-
-  virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
-
-  // Element
-  virtual nsresult AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName,
-                                const nsAttrValue* aValue, bool aNotify);
-
-  virtual nsXPCClassInfo* GetClassInfo();
-
-  virtual nsIDOMNode* AsDOMNode() { return this; }
-protected:
-  // nsScriptElement
-  virtual bool HasScriptContent();
-};
-
+#include "mozilla/dom/HTMLScriptElement.h"
 
 NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(Script)
 
+DOMCI_NODE_DATA(HTMLScriptElement, mozilla::dom::HTMLScriptElement)
 
-nsHTMLScriptElement::nsHTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
-                                         FromParser aFromParser)
+namespace mozilla {
+namespace dom {
+
+HTMLScriptElement::HTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
+                                     FromParser aFromParser)
   : nsGenericHTMLElement(aNodeInfo)
   , nsScriptElement(aFromParser)
 {
   AddMutationObserver(this);
 }
 
-nsHTMLScriptElement::~nsHTMLScriptElement()
+HTMLScriptElement::~HTMLScriptElement()
 {
 }
 
 
-NS_IMPL_ADDREF_INHERITED(nsHTMLScriptElement, Element)
-NS_IMPL_RELEASE_INHERITED(nsHTMLScriptElement, Element)
+NS_IMPL_ADDREF_INHERITED(HTMLScriptElement, Element)
+NS_IMPL_RELEASE_INHERITED(HTMLScriptElement, Element)
 
-DOMCI_NODE_DATA(HTMLScriptElement, nsHTMLScriptElement)
-
-// QueryInterface implementation for nsHTMLScriptElement
-NS_INTERFACE_TABLE_HEAD(nsHTMLScriptElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE4(nsHTMLScriptElement,
+// QueryInterface implementation for HTMLScriptElement
+NS_INTERFACE_TABLE_HEAD(HTMLScriptElement)
+  NS_HTML_CONTENT_INTERFACE_TABLE4(HTMLScriptElement,
                                    nsIDOMHTMLScriptElement,
                                    nsIScriptLoaderObserver,
                                    nsIScriptElement,
                                    nsIMutationObserver)
-  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLScriptElement,
+  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(HTMLScriptElement,
                                                nsGenericHTMLElement)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(HTMLScriptElement)
 NS_HTML_CONTENT_INTERFACE_MAP_END
 
 
 nsresult
-nsHTMLScriptElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent,
-                                nsIContent* aBindingParent,
-                                bool aCompileEventHandlers)
+HTMLScriptElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent,
+                              nsIContent* aBindingParent,
+                              bool aCompileEventHandlers)
 {
   nsresult rv = nsGenericHTMLElement::BindToTree(aDocument, aParent,
                                                  aBindingParent,
                                                  aCompileEventHandlers);
   NS_ENSURE_SUCCESS(rv, rv);
 
   if (aDocument) {
     MaybeProcessScript();
   }
 
   return NS_OK;
 }
 
 bool
-nsHTMLScriptElement::ParseAttribute(int32_t aNamespaceID,
-                                    nsIAtom* aAttribute,
-                                    const nsAString& aValue,
-                                    nsAttrValue& aResult)
+HTMLScriptElement::ParseAttribute(int32_t aNamespaceID,
+                                  nsIAtom* aAttribute,
+                                  const nsAString& aValue,
+                                  nsAttrValue& aResult)
 {
   if (aNamespaceID == kNameSpaceID_None &&
       aAttribute == nsGkAtoms::crossorigin) {
     ParseCORSValue(aValue, aResult);
     return true;
   }
 
   return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue,
                                               aResult);
 }
 
 nsresult
-nsHTMLScriptElement::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const
+HTMLScriptElement::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const
 {
   *aResult = nullptr;
 
   nsCOMPtr<nsINodeInfo> ni = aNodeInfo;
-  nsHTMLScriptElement* it =
-    new nsHTMLScriptElement(ni.forget(), NOT_FROM_PARSER);
+  HTMLScriptElement* it =
+    new HTMLScriptElement(ni.forget(), NOT_FROM_PARSER);
 
   nsCOMPtr<nsINode> kungFuDeathGrip = it;
-  nsresult rv = const_cast<nsHTMLScriptElement*>(this)->CopyInnerTo(it);
+  nsresult rv = const_cast<HTMLScriptElement*>(this)->CopyInnerTo(it);
   NS_ENSURE_SUCCESS(rv, rv);
 
   // The clone should be marked evaluated if we are.
   it->mAlreadyStarted = mAlreadyStarted;
   it->mLineNumber = mLineNumber;
   it->mMalformed = mMalformed;
 
   kungFuDeathGrip.swap(*aResult);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
-nsHTMLScriptElement::GetText(nsAString& aValue)
+HTMLScriptElement::GetText(nsAString& aValue)
 {
   nsContentUtils::GetNodeTextContent(this, false, aValue);
   return NS_OK;
 }
 
 NS_IMETHODIMP
-nsHTMLScriptElement::SetText(const nsAString& aValue)
+HTMLScriptElement::SetText(const nsAString& aValue)
 {
   return nsContentUtils::SetNodeTextContent(this, aValue, true);
 }
 
 
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Charset, charset)
-NS_IMPL_BOOL_ATTR(nsHTMLScriptElement, Defer, defer)
-NS_IMPL_URI_ATTR(nsHTMLScriptElement, Src, src)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Type, type)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, HtmlFor, _for)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Event, event)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, CrossOrigin, crossorigin)
+NS_IMPL_STRING_ATTR(HTMLScriptElement, Charset, charset)
+NS_IMPL_BOOL_ATTR(HTMLScriptElement, Defer, defer)
+NS_IMPL_URI_ATTR(HTMLScriptElement, Src, src)
+NS_IMPL_STRING_ATTR(HTMLScriptElement, Type, type)
+NS_IMPL_STRING_ATTR(HTMLScriptElement, HtmlFor, _for)
+NS_IMPL_STRING_ATTR(HTMLScriptElement, Event, event)
+NS_IMPL_STRING_ATTR(HTMLScriptElement, CrossOrigin, crossorigin)
 
 nsresult
-nsHTMLScriptElement::GetAsync(bool* aValue)
+HTMLScriptElement::GetAsync(bool* aValue)
 {
   *aValue = mForceAsync || GetBoolAttr(nsGkAtoms::async);
   return NS_OK;
 }
 
 nsresult
-nsHTMLScriptElement::SetAsync(bool aValue)
+HTMLScriptElement::SetAsync(bool aValue)
 {
   mForceAsync = false;
   return SetBoolAttr(nsGkAtoms::async, aValue);
 }
 
 nsresult
-nsHTMLScriptElement::AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName,
-                                  const nsAttrValue* aValue, bool aNotify)
+HTMLScriptElement::AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName,
+                                const nsAttrValue* aValue, bool aNotify)
 {
   if (nsGkAtoms::async == aName && kNameSpaceID_None == aNamespaceID) {
     mForceAsync = false;
   }
   return nsGenericHTMLElement::AfterSetAttr(aNamespaceID, aName, aValue,
                                             aNotify);
 }
 
 void
-nsHTMLScriptElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError)
+HTMLScriptElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError)
 {
   nsContentUtils::GetNodeTextContent(this, false, aInnerHTML);
 }
 
 void
-nsHTMLScriptElement::SetInnerHTML(const nsAString& aInnerHTML,
-                                  ErrorResult& aError)
+HTMLScriptElement::SetInnerHTML(const nsAString& aInnerHTML,
+                                ErrorResult& aError)
 {
   aError = nsContentUtils::SetNodeTextContent(this, aInnerHTML, true);
 }
 
 // variation of this code in nsSVGScriptElement - check if changes
 // need to be transfered when modifying
 
 void
-nsHTMLScriptElement::GetScriptType(nsAString& type)
+HTMLScriptElement::GetScriptType(nsAString& type)
 {
   GetType(type);
 }
 
 void
-nsHTMLScriptElement::GetScriptText(nsAString& text)
+HTMLScriptElement::GetScriptText(nsAString& text)
 {
   GetText(text);
 }
 
 void
-nsHTMLScriptElement::GetScriptCharset(nsAString& charset)
+HTMLScriptElement::GetScriptCharset(nsAString& charset)
 {
   GetCharset(charset);
 }
 
 void
-nsHTMLScriptElement::FreezeUriAsyncDefer()
+HTMLScriptElement::FreezeUriAsyncDefer()
 {
   if (mFrozen) {
     return;
   }
-  
+
   // variation of this code in nsSVGScriptElement - check if changes
   // need to be transfered when modifying
   if (HasAttr(kNameSpaceID_None, nsGkAtoms::src)) {
     nsAutoString src;
     GetSrc(src);
     NS_NewURI(getter_AddRefs(mUri), src);
     // At this point mUri will be null for invalid URLs.
     mExternal = true;
 
     bool defer, async;
     GetAsync(&async);
     GetDefer(&defer);
 
     mDefer = !async && defer;
     mAsync = async;
   }
-  
+
   mFrozen = true;
 }
 
 CORSMode
-nsHTMLScriptElement::GetCORSMode() const
+HTMLScriptElement::GetCORSMode() const
 {
   return AttrValueToCORSMode(GetParsedAttr(nsGkAtoms::crossorigin));
 }
 
 bool
-nsHTMLScriptElement::HasScriptContent()
+HTMLScriptElement::HasScriptContent()
 {
   return (mFrozen ? mExternal : HasAttr(kNameSpaceID_None, nsGkAtoms::src)) ||
          nsContentUtils::HasNonEmptyTextContent(this);
 }
+
+} // namespace dom
+} // namespace mozilla
copy from content/html/content/src/nsHTMLScriptElement.cpp
copy to content/html/content/src/HTMLScriptElement.h
--- a/content/html/content/src/nsHTMLScriptElement.cpp
+++ b/content/html/content/src/HTMLScriptElement.h
@@ -1,48 +1,34 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=2 sw=2 et tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#include "nsIDOMHTMLScriptElement.h"
-#include "nsIDOMEventTarget.h"
+
+#ifndef mozilla_dom_HTMLScriptElement_h
+#define mozilla_dom_HTMLScriptElement_h
+
 #include "nsGenericHTMLElement.h"
-#include "nsGkAtoms.h"
-#include "nsStyleConsts.h"
-#include "nsIDocument.h"
-#include "nsScriptElement.h"
-#include "nsIURI.h"
-#include "nsNetUtil.h"
-#include "nsContentUtils.h"
-#include "nsUnicharUtils.h"  // for nsCaseInsensitiveStringComparator()
-#include "jsapi.h"
-#include "nsIScriptContext.h"
-#include "nsIScriptGlobalObject.h"
-#include "nsIXPConnect.h"
-#include "nsServiceManagerUtils.h"
-#include "nsError.h"
-#include "nsIArray.h"
-#include "nsTArray.h"
-#include "nsDOMJSUtils.h"
+#include "mozilla/Attributes.h"
 
-using namespace mozilla;
-using namespace mozilla::dom;
+namespace mozilla {
+namespace dom {
 
-class nsHTMLScriptElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLScriptElement,
-                            public nsScriptElement
+class HTMLScriptElement MOZ_FINAL : public nsGenericHTMLElement,
+                                    public nsIDOMHTMLScriptElement,
+                                    public nsScriptElement
 {
 public:
   using Element::GetText;
   using Element::SetText;
 
-  nsHTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
+  HTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
                       FromParser aFromParser);
-  virtual ~nsHTMLScriptElement();
+  virtual ~HTMLScriptElement();
 
   // nsISupports
   NS_DECL_ISUPPORTS_INHERITED
 
   // nsIDOMNode
   NS_FORWARD_NSIDOMNODE_TO_NSINODE
 
   // nsIDOMElement
@@ -84,219 +70,12 @@ public:
   virtual nsXPCClassInfo* GetClassInfo();
 
   virtual nsIDOMNode* AsDOMNode() { return this; }
 protected:
   // nsScriptElement
   virtual bool HasScriptContent();
 };
 
-
-NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(Script)
-
-
-nsHTMLScriptElement::nsHTMLScriptElement(already_AddRefed<nsINodeInfo> aNodeInfo,
-                                         FromParser aFromParser)
-  : nsGenericHTMLElement(aNodeInfo)
-  , nsScriptElement(aFromParser)
-{
-  AddMutationObserver(this);
-}
-
-nsHTMLScriptElement::~nsHTMLScriptElement()
-{
-}
-
-
-NS_IMPL_ADDREF_INHERITED(nsHTMLScriptElement, Element)
-NS_IMPL_RELEASE_INHERITED(nsHTMLScriptElement, Element)
-
-DOMCI_NODE_DATA(HTMLScriptElement, nsHTMLScriptElement)
-
-// QueryInterface implementation for nsHTMLScriptElement
-NS_INTERFACE_TABLE_HEAD(nsHTMLScriptElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE4(nsHTMLScriptElement,
-                                   nsIDOMHTMLScriptElement,
-                                   nsIScriptLoaderObserver,
-                                   nsIScriptElement,
-                                   nsIMutationObserver)
-  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLScriptElement,
-                                               nsGenericHTMLElement)
-  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(HTMLScriptElement)
-NS_HTML_CONTENT_INTERFACE_MAP_END
-
-
-nsresult
-nsHTMLScriptElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent,
-                                nsIContent* aBindingParent,
-                                bool aCompileEventHandlers)
-{
-  nsresult rv = nsGenericHTMLElement::BindToTree(aDocument, aParent,
-                                                 aBindingParent,
-                                                 aCompileEventHandlers);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  if (aDocument) {
-    MaybeProcessScript();
-  }
-
-  return NS_OK;
-}
-
-bool
-nsHTMLScriptElement::ParseAttribute(int32_t aNamespaceID,
-                                    nsIAtom* aAttribute,
-                                    const nsAString& aValue,
-                                    nsAttrValue& aResult)
-{
-  if (aNamespaceID == kNameSpaceID_None &&
-      aAttribute == nsGkAtoms::crossorigin) {
-    ParseCORSValue(aValue, aResult);
-    return true;
-  }
-
-  return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue,
-                                              aResult);
-}
-
-nsresult
-nsHTMLScriptElement::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const
-{
-  *aResult = nullptr;
-
-  nsCOMPtr<nsINodeInfo> ni = aNodeInfo;
-  nsHTMLScriptElement* it =
-    new nsHTMLScriptElement(ni.forget(), NOT_FROM_PARSER);
-
-  nsCOMPtr<nsINode> kungFuDeathGrip = it;
-  nsresult rv = const_cast<nsHTMLScriptElement*>(this)->CopyInnerTo(it);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  // The clone should be marked evaluated if we are.
-  it->mAlreadyStarted = mAlreadyStarted;
-  it->mLineNumber = mLineNumber;
-  it->mMalformed = mMalformed;
-
-  kungFuDeathGrip.swap(*aResult);
-
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLScriptElement::GetText(nsAString& aValue)
-{
-  nsContentUtils::GetNodeTextContent(this, false, aValue);
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsHTMLScriptElement::SetText(const nsAString& aValue)
-{
-  return nsContentUtils::SetNodeTextContent(this, aValue, true);
-}
-
+} // namespace dom
+} // namespace mozilla
 
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Charset, charset)
-NS_IMPL_BOOL_ATTR(nsHTMLScriptElement, Defer, defer)
-NS_IMPL_URI_ATTR(nsHTMLScriptElement, Src, src)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Type, type)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, HtmlFor, _for)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, Event, event)
-NS_IMPL_STRING_ATTR(nsHTMLScriptElement, CrossOrigin, crossorigin)
-
-nsresult
-nsHTMLScriptElement::GetAsync(bool* aValue)
-{
-  *aValue = mForceAsync || GetBoolAttr(nsGkAtoms::async);
-  return NS_OK;
-}
-
-nsresult
-nsHTMLScriptElement::SetAsync(bool aValue)
-{
-  mForceAsync = false;
-  return SetBoolAttr(nsGkAtoms::async, aValue);
-}
-
-nsresult
-nsHTMLScriptElement::AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName,
-                                  const nsAttrValue* aValue, bool aNotify)
-{
-  if (nsGkAtoms::async == aName && kNameSpaceID_None == aNamespaceID) {
-    mForceAsync = false;
-  }
-  return nsGenericHTMLElement::AfterSetAttr(aNamespaceID, aName, aValue,
-                                            aNotify);
-}
-
-void
-nsHTMLScriptElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError)
-{
-  nsContentUtils::GetNodeTextContent(this, false, aInnerHTML);
-}
-
-void
-nsHTMLScriptElement::SetInnerHTML(const nsAString& aInnerHTML,
-                                  ErrorResult& aError)
-{
-  aError = nsContentUtils::SetNodeTextContent(this, aInnerHTML, true);
-}
-
-// variation of this code in nsSVGScriptElement - check if changes
-// need to be transfered when modifying
-
-void
-nsHTMLScriptElement::GetScriptType(nsAString& type)
-{
-  GetType(type);
-}
-
-void
-nsHTMLScriptElement::GetScriptText(nsAString& text)
-{
-  GetText(text);
-}
-
-void
-nsHTMLScriptElement::GetScriptCharset(nsAString& charset)
-{
-  GetCharset(charset);
-}
-
-void
-nsHTMLScriptElement::FreezeUriAsyncDefer()
-{
-  if (mFrozen) {
-    return;
-  }
-  
-  // variation of this code in nsSVGScriptElement - check if changes
-  // need to be transfered when modifying
-  if (HasAttr(kNameSpaceID_None, nsGkAtoms::src)) {
-    nsAutoString src;
-    GetSrc(src);
-    NS_NewURI(getter_AddRefs(mUri), src);
-    // At this point mUri will be null for invalid URLs.
-    mExternal = true;
-
-    bool defer, async;
-    GetAsync(&async);
-    GetDefer(&defer);
-
-    mDefer = !async && defer;
-    mAsync = async;
-  }
-  
-  mFrozen = true;
-}
-
-CORSMode
-nsHTMLScriptElement::GetCORSMode() const
-{
-  return AttrValueToCORSMode(GetParsedAttr(nsGkAtoms::crossorigin));
-}
-
-bool
-nsHTMLScriptElement::HasScriptContent()
-{
-  return (mFrozen ? mExternal : HasAttr(kNameSpaceID_None, nsGkAtoms::src)) ||
-         nsContentUtils::HasNonEmptyTextContent(this);
-}
+#endif // mozilla_dom_HTMLScriptElement_h
--- a/content/html/content/src/Makefile.in
+++ b/content/html/content/src/Makefile.in
@@ -37,16 +37,17 @@ EXPORTS_mozilla/dom = \
 		HTMLFontElement.h \
 		HTMLFrameSetElement.h \
 		HTMLHeadingElement.h \
 		HTMLImageElement.h \
 		HTMLLabelElement.h \
 		HTMLLIElement.h \
 		HTMLParagraphElement.h \
 		HTMLPreElement.h \
+		HTMLScriptElement.h \
 		HTMLSharedListElement.h \
 		HTMLSpanElement.h \
 		HTMLTitleElement.h \
 		HTMLUnknownElement.h \
 		UndoManager.h \
 		$(NULL)
 
 CPPSRCS		= \
@@ -89,17 +90,17 @@ CPPSRCS		= \
 		nsHTMLObjectElement.cpp \
 		nsHTMLSharedObjectElement.cpp \
 		nsHTMLOptionElement.cpp \
 		nsHTMLOptGroupElement.cpp \
 		nsHTMLOutputElement.cpp \
 		HTMLParagraphElement.cpp \
 		HTMLPreElement.cpp \
 		nsHTMLProgressElement.cpp \
-		nsHTMLScriptElement.cpp \
+		HTMLScriptElement.cpp \
 		nsHTMLSelectElement.cpp \
 		nsHTMLSharedElement.cpp \
 		HTMLSpanElement.cpp \
 		HTMLSharedListElement.cpp \
 		nsHTMLStyleElement.cpp \
 		nsHTMLTableElement.cpp \
 		nsHTMLTableCaptionElement.cpp \
 		nsHTMLTableCellElement.cpp \