From af2d7335b8e342c43388909e48638822ae555197 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Fri, 10 Nov 2017 15:21:27 +1100 Subject: [PATCH] Bug 1416038 (part 7) - Remove nsISAXMutableAttributes. r=erahm There is a single implementation, nsSAXAttributes, and all the methods are unused... except for AddAttribute(), but that doesn't need to be declared in XPIDL because it's only used within nsSAXAttributes.cpp. --HG-- extra : rebase_source : 9bf10f76be0f9e6821e35885b96d125f76209c9b --- parser/xml/moz.build | 1 - parser/xml/nsISAXMutableAttributes.idl | 127 ----------------------- parser/xml/nsSAXAttributes.cpp | 134 +------------------------ parser/xml/nsSAXAttributes.h | 10 +- 4 files changed, 10 insertions(+), 262 deletions(-) delete mode 100644 parser/xml/nsISAXMutableAttributes.idl diff --git a/parser/xml/moz.build b/parser/xml/moz.build index 4529d18d0ca8..ada561cd5fc7 100644 --- a/parser/xml/moz.build +++ b/parser/xml/moz.build @@ -14,7 +14,6 @@ XPIDL_SOURCES += [ 'nsISAXContentHandler.idl', 'nsISAXErrorHandler.idl', 'nsISAXLocator.idl', - 'nsISAXMutableAttributes.idl', 'nsISAXXMLReader.idl', ] diff --git a/parser/xml/nsISAXMutableAttributes.idl b/parser/xml/nsISAXMutableAttributes.idl deleted file mode 100644 index c3c205005ddc..000000000000 --- a/parser/xml/nsISAXMutableAttributes.idl +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- Mode: C++; 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 "nsISupports.idl" -#include "nsISAXAttributes.idl" - -/** - * This interface extends the nsISAXAttributes interface with - * manipulators so that the list can be modified or reused. - */ -[scriptable, uuid(8b1de83d-cebb-49fa-8245-c0fe319eb7b6)] -interface nsISAXMutableAttributes : nsISAXAttributes { - - /** - * Add an attribute to the end of the list. - * - * For the sake of speed, this method does no checking - * to see if the attribute is already in the list: that is - * the responsibility of the application. - * - * @param uri The Namespace URI, or the empty string if - * none is available or Namespace processing is not - * being performed. - * @param localName The local name, or the empty string if - * Namespace processing is not being performed. - * @param qName The qualified (prefixed) name, or the empty string - * if qualified names are not available. - * @param type The attribute type as a string. - * @param value The attribute value. - */ - void addAttribute(in AString uri, - in AString localName, - in AString qName, - in AString type, - in AString value); - - /** - * Clear the attribute list for reuse. - */ - void clear(); - - /** - * Remove an attribute from the list. - * - * @param index The index of the attribute (zero-based). - */ - void removeAttribute(in unsigned long index); - - /** - * Set the attributes list. This method will clear any attributes in - * the list before adding the attributes from the argument. - * - * @param attributes The attributes object to replace populate the - * list with. - */ - void setAttributes(in nsISAXAttributes attributes); - - /** - * Set an attribute in the list. - * - * For the sake of speed, this method does no checking for name - * conflicts or well-formedness: such checks are the responsibility - * of the application. - * - * @param index The index of the attribute (zero-based). - * @param uri The Namespace URI, or the empty string if - * none is available or Namespace processing is not - * being performed. - * @param localName The local name, or the empty string if - * Namespace processing is not being performed. - * @param qName The qualified name, or the empty string - * if qualified names are not available. - * @param type The attribute type as a string. - * @param value The attribute value. - */ - void setAttribute(in unsigned long index, - in AString uri, - in AString localName, - in AString qName, - in AString type, - in AString value); - - /** - * Set the local name of a specific attribute. - * - * @param index The index of the attribute (zero-based). - * @param localName The attribute's local name, or the empty - * string for none. - */ - void setLocalName(in unsigned long index, in AString localName); - - /** - * Set the qualified name of a specific attribute. - * - * @param index The index of the attribute (zero-based). - * @param qName The attribute's qualified name, or the empty - * string for none. - */ - void setQName(in unsigned long index, in AString qName); - - /** - * Set the type of a specific attribute. - * - * @param index The index of the attribute (zero-based). - * @param type The attribute's type. - */ - void setType(in unsigned long index, in AString type); - - /** - * Set the Namespace URI of a specific attribute. - * - * @param index The index of the attribute (zero-based). - * @param uri The attribute's Namespace URI, or the empty - * string for none. - */ - void setURI(in unsigned long index, in AString uri); - - /** - * Set the value of a specific attribute. - * - * @param index The index of the attribute (zero-based). - * @param value The attribute's value. - */ - void setValue(in unsigned long index, in AString value); -}; diff --git a/parser/xml/nsSAXAttributes.cpp b/parser/xml/nsSAXAttributes.cpp index 3984186e4ad5..98363b13aee6 100644 --- a/parser/xml/nsSAXAttributes.cpp +++ b/parser/xml/nsSAXAttributes.cpp @@ -5,7 +5,7 @@ #include "nsSAXAttributes.h" -NS_IMPL_ISUPPORTS(nsSAXAttributes, nsISAXAttributes, nsISAXMutableAttributes) +NS_IMPL_ISUPPORTS(nsSAXAttributes, nsISAXAttributes) NS_IMETHODIMP nsSAXAttributes::GetIndexFromName(const nsAString &aURI, @@ -181,7 +181,7 @@ nsSAXAttributes::GetValueFromQName(const nsAString &aQName, return NS_OK; } -NS_IMETHODIMP +nsresult nsSAXAttributes::AddAttribute(const nsAString &aURI, const nsAString &aLocalName, const nsAString &aQName, @@ -192,7 +192,7 @@ nsSAXAttributes::AddAttribute(const nsAString &aURI, if (!att) { return NS_ERROR_OUT_OF_MEMORY; } - + att->uri = aURI; att->localName = aLocalName; att->qName = aQName; @@ -202,131 +202,3 @@ nsSAXAttributes::AddAttribute(const nsAString &aURI, return NS_OK; } -NS_IMETHODIMP -nsSAXAttributes::Clear() -{ - mAttrs.Clear(); - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::RemoveAttribute(uint32_t aIndex) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs.RemoveElementAt(aIndex); - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetAttributes(nsISAXAttributes *aAttributes) -{ - NS_ENSURE_ARG(aAttributes); - - nsresult rv; - int32_t len; - rv = aAttributes->GetLength(&len); - NS_ENSURE_SUCCESS(rv, rv); - - mAttrs.Clear(); - SAXAttr *att; - int32_t i; - for (i = 0; i < len; ++i) { - att = mAttrs.AppendElement(); - if (!att) { - return NS_ERROR_OUT_OF_MEMORY; - } - rv = aAttributes->GetURI(i, att->uri); - NS_ENSURE_SUCCESS(rv, rv); - rv = aAttributes->GetLocalName(i, att->localName); - NS_ENSURE_SUCCESS(rv, rv); - rv = aAttributes->GetQName(i, att->qName); - NS_ENSURE_SUCCESS(rv, rv); - rv = aAttributes->GetType(i, att->type); - NS_ENSURE_SUCCESS(rv, rv); - rv = aAttributes->GetValue(i, att->value); - NS_ENSURE_SUCCESS(rv, rv); - } - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetAttribute(uint32_t aIndex, - const nsAString &aURI, - const nsAString &aLocalName, - const nsAString &aQName, - const nsAString &aType, - const nsAString &aValue) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - - SAXAttr &att = mAttrs[aIndex]; - att.uri = aURI; - att.localName = aLocalName; - att.qName = aQName; - att.type = aType; - att.value = aValue; - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetLocalName(uint32_t aIndex, const nsAString &aLocalName) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs[aIndex].localName = aLocalName; - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetQName(uint32_t aIndex, const nsAString &aQName) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs[aIndex].qName = aQName; - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetType(uint32_t aIndex, const nsAString &aType) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs[aIndex].type = aType; - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetURI(uint32_t aIndex, const nsAString &aURI) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs[aIndex].uri = aURI; - - return NS_OK; -} - -NS_IMETHODIMP -nsSAXAttributes::SetValue(uint32_t aIndex, const nsAString &aValue) -{ - if (aIndex >= mAttrs.Length()) { - return NS_ERROR_FAILURE; - } - mAttrs[aIndex].value = aValue; - - return NS_OK; -} diff --git a/parser/xml/nsSAXAttributes.h b/parser/xml/nsSAXAttributes.h index b24973a6d2e2..de0447725b42 100644 --- a/parser/xml/nsSAXAttributes.h +++ b/parser/xml/nsSAXAttributes.h @@ -8,7 +8,6 @@ #include "nsISupports.h" #include "nsISAXAttributes.h" -#include "nsISAXMutableAttributes.h" #include "nsTArray.h" #include "nsString.h" #include "mozilla/Attributes.h" @@ -22,12 +21,17 @@ struct SAXAttr nsString value; }; -class nsSAXAttributes final : public nsISAXMutableAttributes +class nsSAXAttributes final : public nsISAXAttributes { public: NS_DECL_ISUPPORTS NS_DECL_NSISAXATTRIBUTES - NS_DECL_NSISAXMUTABLEATTRIBUTES + + nsresult AddAttribute(const nsAString &aURI, + const nsAString &aLocalName, + const nsAString &aQName, + const nsAString &aType, + const nsAString &aValue); private: ~nsSAXAttributes() {}