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
This commit is contained in:
Nicholas Nethercote 2017-11-10 15:21:27 +11:00
parent c33420edb2
commit af2d7335b8
4 changed files with 10 additions and 262 deletions

View File

@ -14,7 +14,6 @@ XPIDL_SOURCES += [
'nsISAXContentHandler.idl', 'nsISAXContentHandler.idl',
'nsISAXErrorHandler.idl', 'nsISAXErrorHandler.idl',
'nsISAXLocator.idl', 'nsISAXLocator.idl',
'nsISAXMutableAttributes.idl',
'nsISAXXMLReader.idl', 'nsISAXXMLReader.idl',
] ]

View File

@ -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);
};

View File

@ -5,7 +5,7 @@
#include "nsSAXAttributes.h" #include "nsSAXAttributes.h"
NS_IMPL_ISUPPORTS(nsSAXAttributes, nsISAXAttributes, nsISAXMutableAttributes) NS_IMPL_ISUPPORTS(nsSAXAttributes, nsISAXAttributes)
NS_IMETHODIMP NS_IMETHODIMP
nsSAXAttributes::GetIndexFromName(const nsAString &aURI, nsSAXAttributes::GetIndexFromName(const nsAString &aURI,
@ -181,7 +181,7 @@ nsSAXAttributes::GetValueFromQName(const nsAString &aQName,
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP nsresult
nsSAXAttributes::AddAttribute(const nsAString &aURI, nsSAXAttributes::AddAttribute(const nsAString &aURI,
const nsAString &aLocalName, const nsAString &aLocalName,
const nsAString &aQName, const nsAString &aQName,
@ -192,7 +192,7 @@ nsSAXAttributes::AddAttribute(const nsAString &aURI,
if (!att) { if (!att) {
return NS_ERROR_OUT_OF_MEMORY; return NS_ERROR_OUT_OF_MEMORY;
} }
att->uri = aURI; att->uri = aURI;
att->localName = aLocalName; att->localName = aLocalName;
att->qName = aQName; att->qName = aQName;
@ -202,131 +202,3 @@ nsSAXAttributes::AddAttribute(const nsAString &aURI,
return NS_OK; 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;
}

View File

@ -8,7 +8,6 @@
#include "nsISupports.h" #include "nsISupports.h"
#include "nsISAXAttributes.h" #include "nsISAXAttributes.h"
#include "nsISAXMutableAttributes.h"
#include "nsTArray.h" #include "nsTArray.h"
#include "nsString.h" #include "nsString.h"
#include "mozilla/Attributes.h" #include "mozilla/Attributes.h"
@ -22,12 +21,17 @@ struct SAXAttr
nsString value; nsString value;
}; };
class nsSAXAttributes final : public nsISAXMutableAttributes class nsSAXAttributes final : public nsISAXAttributes
{ {
public: public:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSISAXATTRIBUTES NS_DECL_NSISAXATTRIBUTES
NS_DECL_NSISAXMUTABLEATTRIBUTES
nsresult AddAttribute(const nsAString &aURI,
const nsAString &aLocalName,
const nsAString &aQName,
const nsAString &aType,
const nsAString &aValue);
private: private:
~nsSAXAttributes() {} ~nsSAXAttributes() {}