diff --git a/dom/html/HTMLBRElement.cpp b/dom/html/HTMLBRElement.cpp
index 6b4faff8c5c..279d87c9058 100644
--- a/dom/html/HTMLBRElement.cpp
+++ b/dom/html/HTMLBRElement.cpp
@@ -26,8 +26,14 @@ HTMLBRElement::~HTMLBRElement()
{
}
+NS_IMPL_ISUPPORTS_INHERITED(HTMLBRElement, nsGenericHTMLElement,
+ nsIDOMHTMLBRElement)
+
NS_IMPL_ELEMENT_CLONE(HTMLBRElement)
+
+NS_IMPL_STRING_ATTR(HTMLBRElement, Clear, clear)
+
static const nsAttrValue::EnumTable kClearTable[] = {
{ "left", NS_STYLE_CLEAR_LEFT },
{ "right", NS_STYLE_CLEAR_RIGHT },
diff --git a/dom/html/HTMLBRElement.h b/dom/html/HTMLBRElement.h
index c8a1df9e8ec..13d5e667170 100644
--- a/dom/html/HTMLBRElement.h
+++ b/dom/html/HTMLBRElement.h
@@ -7,17 +7,25 @@
#define mozilla_dom_HTMLBRElement_h
#include "mozilla/Attributes.h"
+#include "nsIDOMHTMLBRElement.h"
#include "nsGenericHTMLElement.h"
#include "nsGkAtoms.h"
namespace mozilla {
namespace dom {
-class HTMLBRElement final : public nsGenericHTMLElement
+class HTMLBRElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLBRElement
{
public:
explicit HTMLBRElement(already_AddRefed& aNodeInfo);
+ // nsISupports
+ NS_DECL_ISUPPORTS_INHERITED
+
+ // nsIDOMHTMLBRElement
+ NS_DECL_NSIDOMHTMLBRELEMENT
+
virtual bool ParseAttribute(int32_t aNamespaceID,
nsIAtom* aAttribute,
const nsAString& aValue,
@@ -34,10 +42,6 @@ public:
{
return SetHTMLAttr(nsGkAtoms::clear, aClear, aError);
}
- void GetClear(DOMString& aClear) const
- {
- return GetHTMLAttr(nsGkAtoms::clear, aClear);
- }
virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aGivenProto) override;
diff --git a/dom/html/HTMLDivElement.cpp b/dom/html/HTMLDivElement.cpp
index f3a3f798af0..be6cb00abd2 100644
--- a/dom/html/HTMLDivElement.cpp
+++ b/dom/html/HTMLDivElement.cpp
@@ -18,6 +18,9 @@ HTMLDivElement::~HTMLDivElement()
{
}
+NS_IMPL_ISUPPORTS_INHERITED(HTMLDivElement, nsGenericHTMLElement,
+ nsIDOMHTMLDivElement)
+
NS_IMPL_ELEMENT_CLONE(HTMLDivElement)
JSObject*
diff --git a/dom/html/HTMLDivElement.h b/dom/html/HTMLDivElement.h
index 1f8b517fd72..066e565d24c 100644
--- a/dom/html/HTMLDivElement.h
+++ b/dom/html/HTMLDivElement.h
@@ -7,11 +7,13 @@
#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"
+#include "nsIDOMHTMLDivElement.h"
namespace mozilla {
namespace dom {
-class HTMLDivElement final : public nsGenericHTMLElement
+class HTMLDivElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLDivElement
{
public:
explicit HTMLDivElement(already_AddRefed& aNodeInfo)
@@ -19,6 +21,24 @@ public:
{
}
+ // nsISupports
+ NS_DECL_ISUPPORTS_INHERITED
+
+ // nsIDOMHTMLDivElement
+ NS_IMETHOD GetAlign(nsAString& aAlign) override
+ {
+ DOMString align;
+ GetAlign(align);
+ align.ToString(aAlign);
+ return NS_OK;
+ }
+ NS_IMETHOD SetAlign(const nsAString& aAlign) override
+ {
+ mozilla::ErrorResult rv;
+ SetAlign(aAlign, rv);
+ return rv.ErrorCode();
+ }
+
void GetAlign(DOMString& aAlign)
{
GetHTMLAttr(nsGkAtoms::align, aAlign);
diff --git a/dom/html/HTMLHeadingElement.cpp b/dom/html/HTMLHeadingElement.cpp
index 95399b30077..73963039005 100644
--- a/dom/html/HTMLHeadingElement.cpp
+++ b/dom/html/HTMLHeadingElement.cpp
@@ -21,6 +21,9 @@ HTMLHeadingElement::~HTMLHeadingElement()
{
}
+NS_IMPL_ISUPPORTS_INHERITED(HTMLHeadingElement, nsGenericHTMLElement,
+ nsIDOMHTMLHeadingElement)
+
NS_IMPL_ELEMENT_CLONE(HTMLHeadingElement)
JSObject*
@@ -29,6 +32,9 @@ HTMLHeadingElement::WrapNode(JSContext *aCx, JS::Handle aGivenProto)
return HTMLHeadingElementBinding::Wrap(aCx, this, aGivenProto);
}
+NS_IMPL_STRING_ATTR(HTMLHeadingElement, Align, align)
+
+
bool
HTMLHeadingElement::ParseAttribute(int32_t aNamespaceID,
nsIAtom* aAttribute,
diff --git a/dom/html/HTMLHeadingElement.h b/dom/html/HTMLHeadingElement.h
index 03be95a4ca6..ed0092cd852 100644
--- a/dom/html/HTMLHeadingElement.h
+++ b/dom/html/HTMLHeadingElement.h
@@ -7,12 +7,14 @@
#define mozilla_dom_HTMLHeadingElement_h
#include "mozilla/Attributes.h"
+#include "nsIDOMHTMLHeadingElement.h"
#include "nsGenericHTMLElement.h"
namespace mozilla {
namespace dom {
-class HTMLHeadingElement final : public nsGenericHTMLElement
+class HTMLHeadingElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLHeadingElement
{
public:
explicit HTMLHeadingElement(already_AddRefed& aNodeInfo)
@@ -20,6 +22,12 @@ public:
{
}
+ // nsISupports
+ NS_DECL_ISUPPORTS_INHERITED
+
+ // nsIDOMHTMLHeadingElement
+ NS_DECL_NSIDOMHTMLHEADINGELEMENT
+
virtual bool ParseAttribute(int32_t aNamespaceID,
nsIAtom* aAttribute,
const nsAString& aValue,
@@ -28,14 +36,8 @@ public:
nsMapRuleToAttributesFunc GetAttributeMappingFunction() const override;
virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult) const override;
- void SetAlign(const nsAString& aAlign, ErrorResult& aError)
- {
- return SetHTMLAttr(nsGkAtoms::align, aAlign, aError);
- }
- void GetAlign(DOMString& aAlign) const
- {
- return GetHTMLAttr(nsGkAtoms::align, aAlign);
- }
+ // The XPCOM versions of GetAlign and SetAlign are fine for us for
+ // use from WebIDL.
protected:
virtual ~HTMLHeadingElement();
diff --git a/dom/html/HTMLTableCaptionElement.cpp b/dom/html/HTMLTableCaptionElement.cpp
index 9b53a2489f8..bc1a6d7f6ad 100644
--- a/dom/html/HTMLTableCaptionElement.cpp
+++ b/dom/html/HTMLTableCaptionElement.cpp
@@ -24,8 +24,13 @@ HTMLTableCaptionElement::WrapNode(JSContext *aCx, JS::Handle aGivenPr
return HTMLTableCaptionElementBinding::Wrap(aCx, this, aGivenProto);
}
+NS_IMPL_ISUPPORTS_INHERITED(HTMLTableCaptionElement, nsGenericHTMLElement,
+ nsIDOMHTMLTableCaptionElement)
+
NS_IMPL_ELEMENT_CLONE(HTMLTableCaptionElement)
+NS_IMPL_STRING_ATTR(HTMLTableCaptionElement, Align, align)
+
static const nsAttrValue::EnumTable kCaptionAlignTable[] = {
{ "left", NS_STYLE_CAPTION_SIDE_LEFT },
{ "right", NS_STYLE_CAPTION_SIDE_RIGHT },
diff --git a/dom/html/HTMLTableCaptionElement.h b/dom/html/HTMLTableCaptionElement.h
index e3cd6f8bb6d..15f41d8ef40 100644
--- a/dom/html/HTMLTableCaptionElement.h
+++ b/dom/html/HTMLTableCaptionElement.h
@@ -7,11 +7,13 @@
#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"
+#include "nsIDOMHTMLTableCaptionElem.h"
namespace mozilla {
namespace dom {
-class HTMLTableCaptionElement final : public nsGenericHTMLElement
+class HTMLTableCaptionElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLTableCaptionElement
{
public:
explicit HTMLTableCaptionElement(already_AddRefed& aNodeInfo)
@@ -20,6 +22,12 @@ public:
SetHasWeirdParserInsertionMode();
}
+ // nsISupports
+ NS_DECL_ISUPPORTS_INHERITED
+
+ // nsIDOMHTMLTableCaptionElement
+ NS_DECL_NSIDOMHTMLTABLECAPTIONELEMENT
+
void GetAlign(DOMString& aAlign)
{
GetHTMLAttr(nsGkAtoms::align, aAlign);
diff --git a/dom/html/HTMLTableElement.cpp b/dom/html/HTMLTableElement.cpp
index 71a641aa132..3295d000257 100644
--- a/dom/html/HTMLTableElement.cpp
+++ b/dom/html/HTMLTableElement.cpp
@@ -327,6 +327,7 @@ NS_IMPL_RELEASE_INHERITED(HTMLTableElement, Element)
// QueryInterface implementation for HTMLTableElement
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLTableElement)
+ NS_INTERFACE_TABLE_INHERITED(HTMLTableElement, nsIDOMHTMLTableElement)
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
diff --git a/dom/html/HTMLTableElement.h b/dom/html/HTMLTableElement.h
index f3ada3e6de5..1907a22b12c 100644
--- a/dom/html/HTMLTableElement.h
+++ b/dom/html/HTMLTableElement.h
@@ -7,6 +7,7 @@
#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"
+#include "nsIDOMHTMLTableElement.h"
#include "mozilla/dom/HTMLTableCaptionElement.h"
#include "mozilla/dom/HTMLTableSectionElement.h"
@@ -17,7 +18,8 @@ namespace dom {
class TableRowsCollection;
-class HTMLTableElement final : public nsGenericHTMLElement
+class HTMLTableElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLTableElement
{
public:
explicit HTMLTableElement(already_AddRefed& aNodeInfo);
diff --git a/dom/html/HTMLTitleElement.cpp b/dom/html/HTMLTitleElement.cpp
index ab5f416594a..a3d168bd976 100644
--- a/dom/html/HTMLTitleElement.cpp
+++ b/dom/html/HTMLTitleElement.cpp
@@ -28,7 +28,7 @@ HTMLTitleElement::~HTMLTitleElement()
}
NS_IMPL_ISUPPORTS_INHERITED(HTMLTitleElement, nsGenericHTMLElement,
- nsIMutationObserver)
+ nsIDOMHTMLTitleElement, nsIMutationObserver)
NS_IMPL_ELEMENT_CLONE(HTMLTitleElement)
@@ -38,18 +38,20 @@ HTMLTitleElement::WrapNode(JSContext* cx, JS::Handle aGivenProto)
return HTMLTitleElementBinding::Wrap(cx, this, aGivenProto);
}
-void
-HTMLTitleElement::GetText(DOMString& aText, ErrorResult& aError)
+
+NS_IMETHODIMP
+HTMLTitleElement::GetText(nsAString& aTitle)
{
- if (!nsContentUtils::GetNodeTextContent(this, false, aText)) {
- aError.Throw(NS_ERROR_OUT_OF_MEMORY);
+ if (!nsContentUtils::GetNodeTextContent(this, false, aTitle)) {
+ return NS_ERROR_OUT_OF_MEMORY;
}
+ return NS_OK;
}
-void
-HTMLTitleElement::SetText(const nsAString& aText, ErrorResult& aError)
+NS_IMETHODIMP
+HTMLTitleElement::SetText(const nsAString& aTitle)
{
- aError = nsContentUtils::SetNodeTextContent(this, aText, true);
+ return nsContentUtils::SetNodeTextContent(this, aTitle, true);
}
void
diff --git a/dom/html/HTMLTitleElement.h b/dom/html/HTMLTitleElement.h
index 8e4b8c1a495..81ef2be8e9d 100644
--- a/dom/html/HTMLTitleElement.h
+++ b/dom/html/HTMLTitleElement.h
@@ -7,6 +7,7 @@
#define mozilla_dom_HTMLTITLEElement_h_
#include "mozilla/Attributes.h"
+#include "nsIDOMHTMLTitleElement.h"
#include "nsGenericHTMLElement.h"
#include "nsStubMutationObserver.h"
@@ -16,6 +17,7 @@ class ErrorResult;
namespace dom {
class HTMLTitleElement final : public nsGenericHTMLElement,
+ public nsIDOMHTMLTitleElement,
public nsStubMutationObserver
{
public:
@@ -27,9 +29,15 @@ public:
// nsISupports
NS_DECL_ISUPPORTS_INHERITED
+ // nsIDOMHTMLTitleElement
+ NS_DECL_NSIDOMHTMLTITLEELEMENT
+
//HTMLTitleElement
- void GetText(DOMString& aText, ErrorResult& aError);
- void SetText(const nsAString& aText, ErrorResult& aError);
+ //The xpcom GetTextContent() never fails so we just use that.
+ void SetText(const nsAString& aText, ErrorResult& aError)
+ {
+ aError = SetText(aText);
+ }
// nsIMutationObserver
NS_DECL_NSIMUTATIONOBSERVER_CHARACTERDATACHANGED
diff --git a/dom/interfaces/base/domstubs.idl b/dom/interfaces/base/domstubs.idl
index 165c19d8da5..8c20f25232c 100644
--- a/dom/interfaces/base/domstubs.idl
+++ b/dom/interfaces/base/domstubs.idl
@@ -69,6 +69,7 @@ interface nsIDOMCounter;
interface nsIDOMRect;
interface nsIDOMCSSStyleRule;
interface nsIDOMCSSStyleRuleCollection;
+interface nsIDOMHTMLTableCaptionElement;
// Range
interface nsIDOMRange;
diff --git a/dom/interfaces/html/moz.build b/dom/interfaces/html/moz.build
index 7b40bfb2bd8..1a77c37ecc9 100644
--- a/dom/interfaces/html/moz.build
+++ b/dom/interfaces/html/moz.build
@@ -10,10 +10,12 @@ XPIDL_SOURCES += [
'nsIDOMHTMLAreaElement.idl',
'nsIDOMHTMLBaseElement.idl',
'nsIDOMHTMLBodyElement.idl',
+ 'nsIDOMHTMLBRElement.idl',
'nsIDOMHTMLButtonElement.idl',
'nsIDOMHTMLCanvasElement.idl',
'nsIDOMHTMLCollection.idl',
'nsIDOMHTMLDirectoryElement.idl',
+ 'nsIDOMHTMLDivElement.idl',
'nsIDOMHTMLDocument.idl',
'nsIDOMHTMLElement.idl',
'nsIDOMHTMLEmbedElement.idl',
@@ -22,6 +24,7 @@ XPIDL_SOURCES += [
'nsIDOMHTMLFrameElement.idl',
'nsIDOMHTMLFrameSetElement.idl',
'nsIDOMHTMLHeadElement.idl',
+ 'nsIDOMHTMLHeadingElement.idl',
'nsIDOMHTMLHRElement.idl',
'nsIDOMHTMLHtmlElement.idl',
'nsIDOMHTMLIFrameElement.idl',
@@ -48,8 +51,11 @@ XPIDL_SOURCES += [
'nsIDOMHTMLSelectElement.idl',
'nsIDOMHTMLSourceElement.idl',
'nsIDOMHTMLStyleElement.idl',
+ 'nsIDOMHTMLTableCaptionElem.idl',
'nsIDOMHTMLTableCellElement.idl',
+ 'nsIDOMHTMLTableElement.idl',
'nsIDOMHTMLTextAreaElement.idl',
+ 'nsIDOMHTMLTitleElement.idl',
'nsIDOMHTMLUListElement.idl',
'nsIDOMMediaError.idl',
'nsIDOMMozBrowserFrame.idl',
diff --git a/dom/interfaces/html/nsIDOMHTMLBRElement.idl b/dom/interfaces/html/nsIDOMHTMLBRElement.idl
new file mode 100644
index 00000000000..0e4037224c8
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLBRElement.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLBRElement interface is the interface to a [X]HTML br
+ * element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[uuid(ba8fb51a-e552-4272-b3df-5e63a60b86ee)]
+interface nsIDOMHTMLBRElement : nsISupports
+{
+ attribute DOMString clear;
+};
diff --git a/dom/interfaces/html/nsIDOMHTMLDivElement.idl b/dom/interfaces/html/nsIDOMHTMLDivElement.idl
new file mode 100644
index 00000000000..5bbeb1b0ddb
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLDivElement.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLDivElement interface is the interface to a [X]HTML
+ * div element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[uuid(d1b51f44-38e0-4496-8236-b795e36df0e2)]
+interface nsIDOMHTMLDivElement : nsISupports
+{
+ attribute DOMString align;
+};
diff --git a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl
new file mode 100644
index 00000000000..0772050a86e
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLHeadingElement interface is the interface to a
+ * [X]HTML h1, h2, h3, ... element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[uuid(a40b92f7-9da7-4c9f-8a0c-cf5b9e28bb30)]
+interface nsIDOMHTMLHeadingElement : nsISupports
+{
+ attribute DOMString align;
+};
diff --git a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl
new file mode 100644
index 00000000000..c6bd9e5ce57
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLTableCaptionElement interface is the interface to a
+ * [X]HTML caption element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[builtinclass, uuid(78f0635b-44d2-4d5c-87de-29d54df6aed6)]
+interface nsIDOMHTMLTableCaptionElement : nsISupports
+{
+ attribute DOMString align;
+};
diff --git a/dom/interfaces/html/nsIDOMHTMLTableElement.idl b/dom/interfaces/html/nsIDOMHTMLTableElement.idl
new file mode 100644
index 00000000000..fa99cba0385
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLTableElement.idl
@@ -0,0 +1,22 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLTableElement interface is the interface to a [X]HTML
+ * table element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[uuid(135a30ee-0374-4ee7-9d36-91736bff5fb1)]
+interface nsIDOMHTMLTableElement : nsISupports
+{
+};
diff --git a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl
new file mode 100644
index 00000000000..79671f4e9b6
--- /dev/null
+++ b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 "nsIDOMHTMLElement.idl"
+
+/**
+ * The nsIDOMHTMLTitleElement interface is the interface to a [X]HTML
+ * title element.
+ *
+ * This interface is trying to follow the DOM Level 2 HTML specification:
+ * http://www.w3.org/TR/DOM-Level-2-HTML/
+ *
+ * with changes from the work-in-progress WHATWG HTML specification:
+ * http://www.whatwg.org/specs/web-apps/current-work/
+ */
+
+[uuid(e8e5168a-e12e-4946-9fa7-5fe0d6932198)]
+interface nsIDOMHTMLTitleElement : nsISupports
+{
+ attribute DOMString text;
+};
diff --git a/dom/webidl/HTMLHeadingElement.webidl b/dom/webidl/HTMLHeadingElement.webidl
index c07e5cb99ca..37e7396dfdd 100644
--- a/dom/webidl/HTMLHeadingElement.webidl
+++ b/dom/webidl/HTMLHeadingElement.webidl
@@ -17,6 +17,5 @@ interface HTMLHeadingElement : HTMLElement {
// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
partial interface HTMLHeadingElement {
- [SetterThrows]
attribute DOMString align;
};
diff --git a/dom/webidl/HTMLTitleElement.webidl b/dom/webidl/HTMLTitleElement.webidl
index e6c8f2c61ff..e695d8421a5 100644
--- a/dom/webidl/HTMLTitleElement.webidl
+++ b/dom/webidl/HTMLTitleElement.webidl
@@ -8,6 +8,6 @@
*/
interface HTMLTitleElement : HTMLElement {
- [Throws]
+ [SetterThrows]
attribute DOMString text;
};
diff --git a/extensions/spellcheck/src/mozInlineSpellWordUtil.cpp b/extensions/spellcheck/src/mozInlineSpellWordUtil.cpp
index 6489e53b55a..f63dbed3095 100644
--- a/extensions/spellcheck/src/mozInlineSpellWordUtil.cpp
+++ b/extensions/spellcheck/src/mozInlineSpellWordUtil.cpp
@@ -12,6 +12,7 @@
#include "nsIDOMRange.h"
#include "nsIEditor.h"
#include "nsIDOMNode.h"
+#include "nsIDOMHTMLBRElement.h"
#include "nsUnicharUtilCIID.h"
#include "nsUnicodeProperties.h"
#include "nsServiceManagerUtils.h"
diff --git a/xpcom/reflect/xptinfo/ShimInterfaceInfo.cpp b/xpcom/reflect/xptinfo/ShimInterfaceInfo.cpp
index 8be98a9f698..24d11e46dc1 100644
--- a/xpcom/reflect/xptinfo/ShimInterfaceInfo.cpp
+++ b/xpcom/reflect/xptinfo/ShimInterfaceInfo.cpp
@@ -53,12 +53,14 @@
#include "nsIDOMHTMLAnchorElement.h"
#include "nsIDOMHTMLAppletElement.h"
#include "nsIDOMHTMLAreaElement.h"
+#include "nsIDOMHTMLBRElement.h"
#include "nsIDOMHTMLBaseElement.h"
#include "nsIDOMHTMLBodyElement.h"
#include "nsIDOMHTMLButtonElement.h"
#include "nsIDOMHTMLCanvasElement.h"
#include "nsIDOMHTMLCollection.h"
#include "nsIDOMHTMLDirectoryElement.h"
+#include "nsIDOMHTMLDivElement.h"
#include "nsIDOMHTMLDocument.h"
#include "nsIDOMHTMLElement.h"
#include "nsIDOMHTMLEmbedElement.h"
@@ -68,6 +70,7 @@
#include "nsIDOMHTMLFrameSetElement.h"
#include "nsIDOMHTMLHRElement.h"
#include "nsIDOMHTMLHeadElement.h"
+#include "nsIDOMHTMLHeadingElement.h"
#include "nsIDOMHTMLHtmlElement.h"
#include "nsIDOMHTMLIFrameElement.h"
#include "nsIDOMHTMLImageElement.h"
@@ -92,8 +95,11 @@
#include "nsIDOMHTMLSelectElement.h"
#include "nsIDOMHTMLSourceElement.h"
#include "nsIDOMHTMLStyleElement.h"
+#include "nsIDOMHTMLTableCaptionElem.h"
#include "nsIDOMHTMLTableCellElement.h"
+#include "nsIDOMHTMLTableElement.h"
#include "nsIDOMHTMLTextAreaElement.h"
+#include "nsIDOMHTMLTitleElement.h"
#include "nsIDOMHTMLUListElement.h"
#include "nsIDOMKeyEvent.h"
#include "nsIDOMMediaError.h"
@@ -187,12 +193,14 @@
#include "mozilla/dom/HTMLAnchorElementBinding.h"
#include "mozilla/dom/HTMLAppletElementBinding.h"
#include "mozilla/dom/HTMLAreaElementBinding.h"
+#include "mozilla/dom/HTMLBRElementBinding.h"
#include "mozilla/dom/HTMLBaseElementBinding.h"
#include "mozilla/dom/HTMLBodyElementBinding.h"
#include "mozilla/dom/HTMLButtonElementBinding.h"
#include "mozilla/dom/HTMLCanvasElementBinding.h"
#include "mozilla/dom/HTMLCollectionBinding.h"
#include "mozilla/dom/HTMLDirectoryElementBinding.h"
+#include "mozilla/dom/HTMLDivElementBinding.h"
#include "mozilla/dom/HTMLDocumentBinding.h"
#include "mozilla/dom/HTMLElementBinding.h"
#include "mozilla/dom/HTMLEmbedElementBinding.h"
@@ -202,6 +210,7 @@
#include "mozilla/dom/HTMLFrameSetElementBinding.h"
#include "mozilla/dom/HTMLHRElementBinding.h"
#include "mozilla/dom/HTMLHeadElementBinding.h"
+#include "mozilla/dom/HTMLHeadingElementBinding.h"
#include "mozilla/dom/HTMLHtmlElementBinding.h"
#include "mozilla/dom/HTMLIFrameElementBinding.h"
#include "mozilla/dom/HTMLImageElementBinding.h"
@@ -226,8 +235,11 @@
#include "mozilla/dom/HTMLSelectElementBinding.h"
#include "mozilla/dom/HTMLSourceElementBinding.h"
#include "mozilla/dom/HTMLStyleElementBinding.h"
+#include "mozilla/dom/HTMLTableCaptionElementBinding.h"
#include "mozilla/dom/HTMLTableCellElementBinding.h"
+#include "mozilla/dom/HTMLTableElementBinding.h"
#include "mozilla/dom/HTMLTextAreaElementBinding.h"
+#include "mozilla/dom/HTMLTitleElementBinding.h"
#include "mozilla/dom/HTMLUListElementBinding.h"
#include "mozilla/dom/KeyEventBinding.h"
#include "mozilla/dom/ListBoxObjectBinding.h"
@@ -374,12 +386,14 @@ const ComponentsInterfaceShimEntry kComponentsInterfaceShimMap[] =
DEFINE_SHIM(HTMLAnchorElement),
DEFINE_SHIM(HTMLAppletElement),
DEFINE_SHIM(HTMLAreaElement),
+ DEFINE_SHIM(HTMLBRElement),
DEFINE_SHIM(HTMLBaseElement),
DEFINE_SHIM(HTMLBodyElement),
DEFINE_SHIM(HTMLButtonElement),
DEFINE_SHIM(HTMLCanvasElement),
DEFINE_SHIM(HTMLCollection),
DEFINE_SHIM(HTMLDirectoryElement),
+ DEFINE_SHIM(HTMLDivElement),
DEFINE_SHIM(HTMLDocument),
DEFINE_SHIM(HTMLElement),
DEFINE_SHIM(HTMLEmbedElement),
@@ -389,6 +403,7 @@ const ComponentsInterfaceShimEntry kComponentsInterfaceShimMap[] =
DEFINE_SHIM(HTMLFrameSetElement),
DEFINE_SHIM(HTMLHRElement),
DEFINE_SHIM(HTMLHeadElement),
+ DEFINE_SHIM(HTMLHeadingElement),
DEFINE_SHIM(HTMLHtmlElement),
DEFINE_SHIM(HTMLIFrameElement),
DEFINE_SHIM(HTMLImageElement),
@@ -413,8 +428,11 @@ const ComponentsInterfaceShimEntry kComponentsInterfaceShimMap[] =
DEFINE_SHIM(HTMLSelectElement),
DEFINE_SHIM(HTMLSourceElement),
DEFINE_SHIM(HTMLStyleElement),
+ DEFINE_SHIM(HTMLTableCaptionElement),
DEFINE_SHIM(HTMLTableCellElement),
+ DEFINE_SHIM(HTMLTableElement),
DEFINE_SHIM(HTMLTextAreaElement),
+ DEFINE_SHIM(HTMLTitleElement),
DEFINE_SHIM(HTMLUListElement),
DEFINE_SHIM(KeyEvent),
DEFINE_SHIM_WITH_CUSTOM_INTERFACE(nsIListBoxObject, ListBoxObject),