diff --git a/content/base/public/Element.h b/content/base/public/Element.h index 0db53c6db269..9ad1cb314b93 100644 --- a/content/base/public/Element.h +++ b/content/base/public/Element.h @@ -725,9 +725,9 @@ public: { } - virtual void GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError); + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML); virtual void SetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError); - void GetOuterHTML(nsAString& aOuterHTML, ErrorResult& aError); + void GetOuterHTML(nsAString& aOuterHTML); void SetOuterHTML(const nsAString& aOuterHTML, ErrorResult& aError); void InsertAdjacentHTML(const nsAString& aPosition, const nsAString& aText, ErrorResult& aError); @@ -1124,7 +1124,7 @@ private: nsIScrollableFrame* GetScrollFrame(nsIFrame **aStyledFrame = nullptr, bool aFlushLayout = true); - nsresult GetMarkup(bool aIncludeSelf, nsAString& aMarkup); + void GetMarkup(bool aIncludeSelf, nsAString& aMarkup); // Data members nsEventStates mState; diff --git a/content/base/src/Element.cpp b/content/base/src/Element.cpp index 8ae70aea28a5..1f8f6f59ab38 100644 --- a/content/base/src/Element.cpp +++ b/content/base/src/Element.cpp @@ -3107,14 +3107,15 @@ Serialize(Element* aRoot, bool aDescendentsOnly, nsAString& aOut) } } -nsresult +void Element::GetMarkup(bool aIncludeSelf, nsAString& aMarkup) { aMarkup.Truncate(); nsIDocument* doc = OwnerDoc(); if (IsInHTMLDocument()) { - return Serialize(this, !aIncludeSelf, aMarkup) ? NS_OK : NS_ERROR_OUT_OF_MEMORY; + Serialize(this, !aIncludeSelf, aMarkup); + return; } nsAutoString contentType; @@ -3135,7 +3136,7 @@ Element::GetMarkup(bool aIncludeSelf, nsAString& aMarkup) docEncoder = do_CreateInstance(NS_DOC_ENCODER_CONTRACTID_BASE "application/xml"); } - NS_ENSURE_TRUE(docEncoder, NS_ERROR_FAILURE); + NS_ENSURE_TRUE_VOID(docEncoder); uint32_t flags = nsIDocumentEncoder::OutputEncodeBasicEntities | // Output DOM-standard newlines @@ -3153,8 +3154,8 @@ Element::GetMarkup(bool aIncludeSelf, nsAString& aMarkup) } } - nsresult rv = docEncoder->NativeInit(doc, contentType, flags); - NS_ENSURE_SUCCESS(rv, rv); + DebugOnly rv = docEncoder->NativeInit(doc, contentType, flags); + MOZ_ASSERT(NS_SUCCEEDED(rv)); if (aIncludeSelf) { docEncoder->SetNativeNode(this); @@ -3162,10 +3163,10 @@ Element::GetMarkup(bool aIncludeSelf, nsAString& aMarkup) docEncoder->SetNativeContainerNode(this); } rv = docEncoder->EncodeToString(aMarkup); + MOZ_ASSERT(NS_SUCCEEDED(rv)); if (!aIncludeSelf) { doc->SetCachedEncoder(docEncoder.forget()); } - return rv; } /** @@ -3197,10 +3198,11 @@ FireMutationEventsForDirectParsing(nsIDocument* aDoc, nsIContent* aDest, } } -void -Element::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError) +NS_IMETHODIMP +Element::GetInnerHTML(nsAString& aInnerHTML) { - aError = GetMarkup(false, aInnerHTML); + GetMarkup(false, aInnerHTML); + return NS_OK; } void @@ -3266,9 +3268,9 @@ Element::SetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError) } void -Element::GetOuterHTML(nsAString& aOuterHTML, ErrorResult& aError) +Element::GetOuterHTML(nsAString& aOuterHTML) { - aError = GetMarkup(true, aOuterHTML); + GetMarkup(true, aOuterHTML); } void diff --git a/content/html/content/src/HTMLElement.cpp b/content/html/content/src/HTMLElement.cpp index f6c675dc3bcb..3547fce499a2 100644 --- a/content/html/content/src/HTMLElement.cpp +++ b/content/html/content/src/HTMLElement.cpp @@ -16,9 +16,7 @@ public: HTMLElement(already_AddRefed aNodeInfo); virtual ~HTMLElement(); - using nsGenericHTMLElement::GetInnerHTML; - virtual void GetInnerHTML(nsAString& aInnerHTML, - mozilla::ErrorResult& aError) MOZ_OVERRIDE; + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; @@ -39,8 +37,8 @@ HTMLElement::~HTMLElement() NS_IMPL_ELEMENT_CLONE(HTMLElement) -void -HTMLElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError) +NS_IMETHODIMP +HTMLElement::GetInnerHTML(nsAString& aInnerHTML) { /** * nsGenericHTMLElement::GetInnerHTML escapes < and > characters (at least). @@ -52,10 +50,10 @@ HTMLElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError) if (mNodeInfo->Equals(nsGkAtoms::xmp) || mNodeInfo->Equals(nsGkAtoms::plaintext)) { nsContentUtils::GetNodeTextContent(this, false, aInnerHTML); - return; + return NS_OK; } - nsGenericHTMLElement::GetInnerHTML(aInnerHTML, aError); + return nsGenericHTMLElement::GetInnerHTML(aInnerHTML); } JSObject* diff --git a/content/html/content/src/HTMLScriptElement.cpp b/content/html/content/src/HTMLScriptElement.cpp index 3ecd7b2fb7ca..1794d7b36eaf 100644 --- a/content/html/content/src/HTMLScriptElement.cpp +++ b/content/html/content/src/HTMLScriptElement.cpp @@ -226,10 +226,11 @@ HTMLScriptElement::AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName, aNotify); } -void -HTMLScriptElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError) +NS_IMETHODIMP +HTMLScriptElement::GetInnerHTML(nsAString& aInnerHTML) { nsContentUtils::GetNodeTextContent(this, false, aInnerHTML); + return NS_OK; } void diff --git a/content/html/content/src/HTMLScriptElement.h b/content/html/content/src/HTMLScriptElement.h index 20a8f4682936..6b950ae182e5 100644 --- a/content/html/content/src/HTMLScriptElement.h +++ b/content/html/content/src/HTMLScriptElement.h @@ -30,9 +30,7 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - using nsGenericHTMLElement::GetInnerHTML; - virtual void GetInnerHTML(nsAString& aInnerHTML, - mozilla::ErrorResult& aError) MOZ_OVERRIDE; + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_OVERRIDE; using nsGenericHTMLElement::SetInnerHTML; virtual void SetInnerHTML(const nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLStyleElement.cpp b/content/html/content/src/HTMLStyleElement.cpp index 33f2e26e5f48..712c0425b571 100644 --- a/content/html/content/src/HTMLStyleElement.cpp +++ b/content/html/content/src/HTMLStyleElement.cpp @@ -201,10 +201,11 @@ HTMLStyleElement::UnsetAttr(int32_t aNameSpaceID, nsIAtom* aAttribute, return rv; } -void -HTMLStyleElement::GetInnerHTML(nsAString& aInnerHTML, ErrorResult& aError) +NS_IMETHODIMP +HTMLStyleElement::GetInnerHTML(nsAString& aInnerHTML) { nsContentUtils::GetNodeTextContent(this, false, aInnerHTML); + return NS_OK; } void diff --git a/content/html/content/src/HTMLStyleElement.h b/content/html/content/src/HTMLStyleElement.h index cf981e027e7e..142c4ad3bfdb 100644 --- a/content/html/content/src/HTMLStyleElement.h +++ b/content/html/content/src/HTMLStyleElement.h @@ -33,9 +33,7 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLStyleElement, nsGenericHTMLElement) - using nsGenericHTMLElement::GetInnerHTML; - virtual void GetInnerHTML(nsAString& aInnerHTML, - mozilla::ErrorResult& aError) MOZ_OVERRIDE; + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_OVERRIDE; using nsGenericHTMLElement::SetInnerHTML; virtual void SetInnerHTML(const nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; diff --git a/content/html/content/src/nsGenericHTMLElement.h b/content/html/content/src/nsGenericHTMLElement.h index 4c6b59fb3bec..5598e58fb8dc 100644 --- a/content/html/content/src/nsGenericHTMLElement.h +++ b/content/html/content/src/nsGenericHTMLElement.h @@ -464,9 +464,8 @@ public: return rv.ErrorCode(); } NS_IMETHOD GetOuterHTML(nsAString& aOuterHTML) MOZ_FINAL { - mozilla::ErrorResult rv; - mozilla::dom::Element::GetOuterHTML(aOuterHTML, rv); - return rv.ErrorCode(); + mozilla::dom::Element::GetOuterHTML(aOuterHTML); + return NS_OK; } NS_IMETHOD SetOuterHTML(const nsAString& aOuterHTML) MOZ_FINAL { mozilla::ErrorResult rv; @@ -528,11 +527,8 @@ public: *aDraggable = Draggable(); return NS_OK; } - using mozilla::dom::Element::GetInnerHTML; - NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_FINAL { - mozilla::ErrorResult rv; - GetInnerHTML(aInnerHTML, rv); - return rv.ErrorCode(); + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_OVERRIDE { + return mozilla::dom::Element::GetInnerHTML(aInnerHTML); } using mozilla::dom::Element::SetInnerHTML; NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) MOZ_FINAL { diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl index dc1762702215..1a6cf6cef06f 100644 --- a/dom/webidl/Element.webidl +++ b/dom/webidl/Element.webidl @@ -175,9 +175,9 @@ partial interface Element { // http://domparsing.spec.whatwg.org/#extensions-to-the-element-interface partial interface Element { - [Throws,TreatNullAs=EmptyString] + [Pure,SetterThrows,TreatNullAs=EmptyString] attribute DOMString innerHTML; - [Throws,TreatNullAs=EmptyString] + [Pure,SetterThrows,TreatNullAs=EmptyString] attribute DOMString outerHTML; [Throws] void insertAdjacentHTML(DOMString position, DOMString text);