Bug 1587176 - Rename some nsCOMArray internal stuff. r=erahm

This makes the subsequent commit easier to understand.

Differential Revision: https://phabricator.services.mozilla.com/D51222

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nicholas Nethercote 2019-11-05 00:12:06 +00:00
Родитель 84be73074c
Коммит aa1586413a
3 изменённых файлов: 17 добавлений и 19 удалений

Просмотреть файл

@ -538,8 +538,7 @@ class nsNavHistoryContainerResultNode
nsresult ReverseUpdateStats(int32_t aAccessCountChange); nsresult ReverseUpdateStats(int32_t aAccessCountChange);
// Sorting methods. // Sorting methods.
typedef nsCOMArray<nsNavHistoryResultNode>::nsCOMArrayComparatorFunc typedef nsCOMArray<nsNavHistoryResultNode>::TComparatorFunc SortComparator;
SortComparator;
virtual uint16_t GetSortType(); virtual uint16_t GetSortType();
static SortComparator GetSortingComparator(uint16_t aSortType); static SortComparator GetSortingComparator(uint16_t aSortType);

Просмотреть файл

@ -96,20 +96,20 @@ bool nsCOMArray_base::EnumerateBackwards(nsBaseArrayEnumFunc aFunc,
return true; return true;
} }
int nsCOMArray_base::nsCOMArrayComparator(const void* aElement1, int nsCOMArray_base::VoidStarComparator(const void* aElement1,
const void* aElement2, void* aData) { const void* aElement2, void* aData) {
nsCOMArrayComparatorContext* ctx = nsISupportsComparatorContext* ctx =
static_cast<nsCOMArrayComparatorContext*>(aData); static_cast<nsISupportsComparatorContext*>(aData);
return (*ctx->mComparatorFunc)(*static_cast<nsISupports* const*>(aElement1), return (*ctx->mComparatorFunc)(*static_cast<nsISupports* const*>(aElement1),
*static_cast<nsISupports* const*>(aElement2), *static_cast<nsISupports* const*>(aElement2),
ctx->mData); ctx->mData);
} }
void nsCOMArray_base::Sort(nsBaseArrayComparatorFunc aFunc, void* aData) { void nsCOMArray_base::Sort(nsISupportsComparatorFunc aFunc, void* aData) {
if (mArray.Length() > 1) { if (mArray.Length() > 1) {
nsCOMArrayComparatorContext ctx = {aFunc, aData}; nsISupportsComparatorContext ctx = {aFunc, aData};
NS_QuickSort(mArray.Elements(), mArray.Length(), sizeof(nsISupports*), NS_QuickSort(mArray.Elements(), mArray.Length(), sizeof(nsISupports*),
nsCOMArrayComparator, &ctx); VoidStarComparator, &ctx);
} }
} }

Просмотреть файл

@ -44,17 +44,17 @@ class nsCOMArray_base {
bool EnumerateBackwards(nsBaseArrayEnumFunc aFunc, void* aData) const; bool EnumerateBackwards(nsBaseArrayEnumFunc aFunc, void* aData) const;
typedef int (*nsBaseArrayComparatorFunc)(nsISupports* aElement1, typedef int (*nsISupportsComparatorFunc)(nsISupports* aElement1,
nsISupports* aElement2, void* aData); nsISupports* aElement2, void* aData);
struct nsCOMArrayComparatorContext { struct nsISupportsComparatorContext {
nsBaseArrayComparatorFunc mComparatorFunc; nsISupportsComparatorFunc mComparatorFunc;
void* mData; void* mData;
}; };
static int nsCOMArrayComparator(const void* aElement1, const void* aElement2, static int VoidStarComparator(const void* aElement1, const void* aElement2,
void* aData); void* aData);
void Sort(nsBaseArrayComparatorFunc aFunc, void* aData); void Sort(nsISupportsComparatorFunc aFunc, void* aData);
bool InsertObjectAt(nsISupports* aObject, int32_t aIndex); bool InsertObjectAt(nsISupports* aObject, int32_t aIndex);
void InsertElementAt(uint32_t aIndex, nsISupports* aElement); void InsertElementAt(uint32_t aIndex, nsISupports* aElement);
@ -297,11 +297,10 @@ class nsCOMArray : public nsCOMArray_base {
nsCOMArray_base::ReplaceElementAt(aIndex, aElement); nsCOMArray_base::ReplaceElementAt(aIndex, aElement);
} }
typedef int (*nsCOMArrayComparatorFunc)(T* aElement1, T* aElement2, typedef int (*TComparatorFunc)(T* aElement1, T* aElement2, void* aData);
void* aData);
void Sort(nsCOMArrayComparatorFunc aFunc, void* aData) { void Sort(TComparatorFunc aFunc, void* aData) {
nsCOMArray_base::Sort(nsBaseArrayComparatorFunc(aFunc), aData); nsCOMArray_base::Sort(nsISupportsComparatorFunc(aFunc), aData);
} }
// append an object, growing the array as necessary // append an object, growing the array as necessary