Remove static constructors from nsXULSortService and nsXULTemplateBuilder. r=waterson@netscape.com sr=brendan@mozilla.org b=67310

This commit is contained in:
dbaron%fas.harvard.edu 2001-02-18 17:04:11 +00:00
Родитель d3f1ada71c
Коммит 8c9a2cc5c8
4 изменённых файлов: 94 добавлений и 2521 удалений

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

@ -233,10 +233,10 @@ private:
static nsIAtom *kIdAtom;
static nsIAtom *kRDF_type;
static nsString trueStr;
static nsString naturalStr;
static nsString ascendingStr;
static nsString descendingStr;
static nsString *trueStr;
static nsString *naturalStr;
static nsString *ascendingStr;
static nsString *descendingStr;
static nsIRDFResource *kNC_Name;
static nsIRDFResource *kRDF_instanceOf;
@ -312,10 +312,10 @@ nsIAtom* XULSortServiceImpl::kRefAtom;
nsIAtom* XULSortServiceImpl::kIdAtom;
nsIAtom* XULSortServiceImpl::kRDF_type;
nsString XULSortServiceImpl::trueStr;
nsString XULSortServiceImpl::naturalStr;
nsString XULSortServiceImpl::ascendingStr;
nsString XULSortServiceImpl::descendingStr;
nsString* XULSortServiceImpl::trueStr = nsnull;
nsString* XULSortServiceImpl::naturalStr = nsnull;
nsString* XULSortServiceImpl::ascendingStr = nsnull;
nsString* XULSortServiceImpl::descendingStr = nsnull;
nsIRDFResource *XULSortServiceImpl::kNC_Name;
nsIRDFResource *XULSortServiceImpl::kRDF_instanceOf;
@ -354,10 +354,10 @@ XULSortServiceImpl::XULSortServiceImpl(void)
kIdAtom = NS_NewAtom("id");
kRDF_type = NS_NewAtom("type");
trueStr.AssignWithConversion("true");
naturalStr.AssignWithConversion("natural");
ascendingStr.AssignWithConversion("ascending");
descendingStr.AssignWithConversion("descending");
trueStr = new nsString(NS_LITERAL_STRING("true"));
naturalStr = new nsString(NS_LITERAL_STRING("natural"));
ascendingStr = new nsString(NS_LITERAL_STRING("ascending"));
descendingStr = new nsString(NS_LITERAL_STRING("descending"));
nsresult rv;
@ -442,6 +442,15 @@ XULSortServiceImpl::~XULSortServiceImpl(void)
--gRefCnt;
if (gRefCnt == 0)
{
delete trueStr;
trueStr = nsnull;
delete ascendingStr;
ascendingStr = nsnull;
delete descendingStr;
descendingStr = nsnull;
delete naturalStr;
naturalStr = nsnull;
NS_IF_RELEASE(kTemplateAtom);
NS_IF_RELEASE(kStaticHintAtom);
NS_IF_RELEASE(kStaticsSortLastHintAtom);
@ -640,7 +649,7 @@ XULSortServiceImpl::GetSortColumnIndex(nsIContent *tree, const nsString &sortRes
{
sortColIndex = colIndex;
if (!sortDirection.Equals(naturalStr))
if (!sortDirection.Equals(*naturalStr))
{
found = PR_TRUE;
setFlag = PR_TRUE;
@ -654,14 +663,14 @@ XULSortServiceImpl::GetSortColumnIndex(nsIContent *tree, const nsString &sortRes
}
}
if (NS_SUCCEEDED(rv = child->GetAttribute(kNameSpaceID_None, kSortSeparatorsAtom, value))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (value.EqualsIgnoreCase(trueStr)))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (value.EqualsIgnoreCase(*trueStr)))
{
inbetweenSeparatorSort = PR_TRUE;
}
if (setFlag == PR_TRUE)
{
child->SetAttribute(kNameSpaceID_None, kSortActiveAtom, trueStr, PR_TRUE);
child->SetAttribute(kNameSpaceID_None, kSortActiveAtom, *trueStr, PR_TRUE);
child->SetAttribute(kNameSpaceID_None, kSortDirectionAtom, sortDirection, PR_TRUE);
// Note: don't break out of loop; want to set/unset attribs on ALL sort columns
@ -690,7 +699,7 @@ XULSortServiceImpl::SetSortHints(nsIContent *tree, const nsString &sortResource,
if (found == PR_TRUE)
{
// set hints on tree root node
tree->SetAttribute(kNameSpaceID_None, kSortActiveAtom, trueStr, PR_FALSE);
tree->SetAttribute(kNameSpaceID_None, kSortActiveAtom, *trueStr, PR_FALSE);
tree->SetAttribute(kNameSpaceID_None, kSortDirectionAtom, sortDirection, PR_FALSE);
tree->SetAttribute(kNameSpaceID_None, kResourceAtom, sortResource, PR_FALSE);
@ -708,7 +717,7 @@ XULSortServiceImpl::SetSortHints(nsIContent *tree, const nsString &sortResource,
// optional hint
if (inbetweenSeparatorSort == PR_TRUE)
tree->SetAttribute(kNameSpaceID_None, kSortSeparatorsAtom, trueStr, PR_FALSE);
tree->SetAttribute(kNameSpaceID_None, kSortSeparatorsAtom, *trueStr, PR_FALSE);
else tree->UnsetAttribute(kNameSpaceID_None, kSortSeparatorsAtom, PR_FALSE);
return(NS_OK);
@ -729,7 +738,7 @@ XULSortServiceImpl::NodeHasSortInfo(nsIContent *child, nsString &sortResource, n
if (NS_SUCCEEDED(rv = child->GetAttribute(kNameSpaceID_None, kSortActiveAtom, value))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE))
{
if (value.EqualsIgnoreCase(trueStr))
if (value.EqualsIgnoreCase(*trueStr))
{
if (NS_SUCCEEDED(rv = child->GetAttribute(kNameSpaceID_None, kResourceAtom,
sortResource)) && (rv == NS_CONTENT_ATTR_HAS_VALUE))
@ -743,7 +752,7 @@ XULSortServiceImpl::NodeHasSortInfo(nsIContent *child, nsString &sortResource, n
if (NS_SUCCEEDED(rv = child->GetAttribute(kNameSpaceID_None, kSortSeparatorsAtom,
value)) && (rv == NS_CONTENT_ATTR_HAS_VALUE))
{
if (value.EqualsIgnoreCase(trueStr))
if (value.EqualsIgnoreCase(*trueStr))
{
inbetweenSeparatorSort = PR_TRUE;
}
@ -1412,7 +1421,7 @@ nsresult
XULSortServiceImpl::GetNodeValue(contentSortInfo *info1, sortPtr sortInfo, PRBool first,
PRBool onlyCollationHint, nsIRDFNode **theNode, PRBool &isCollationKey)
{
nsresult rv;
nsresult rv = NS_OK;
nsCOMPtr<nsIRDFResource> res1;
nsIContent *node1 = info1->content;
@ -1574,6 +1583,12 @@ XULSortServiceImpl::GetNodeValue(contentSortInfo *info1, sortPtr sortInfo, PRBoo
isCollationKey = PR_FALSE;
}
}
else
{
// XXX Is this right?
rv = NS_ERROR_NULL_POINTER;
}
return(rv);
}
@ -1893,7 +1908,7 @@ XULSortServiceImpl::SortTreeChildren(nsIContent *container, sortPtr sortInfo, PR
// if its a container, find its treechildren node, and sort those
if (NS_FAILED(rv = parentNode->GetAttribute(kNameSpaceID_None, kContainerAtom, value)) ||
(rv != NS_CONTENT_ATTR_HAS_VALUE) || (!value.EqualsIgnoreCase(trueStr)))
(rv != NS_CONTENT_ATTR_HAS_VALUE) || (!value.EqualsIgnoreCase(*trueStr)))
continue;
if (NS_FAILED(rv = parentNode->ChildCount(numChildren))) continue;
@ -1991,7 +2006,7 @@ XULSortServiceImpl::InsertContainerNode(nsIRDFCompositeDataSource *db, nsRDFSort
}
else
{
sortDirection.Assign(naturalStr);
sortDirection.Assign(*naturalStr);
}
}
else
@ -2087,11 +2102,11 @@ XULSortServiceImpl::InsertContainerNode(nsIRDFCompositeDataSource *db, nsRDFSort
// set up sort order info
sortInfo.naturalOrderSort = PR_FALSE;
sortInfo.descendingSort = PR_FALSE;
if (sortDirection.Equals(descendingStr))
if (sortDirection.Equals(*descendingStr))
{
sortInfo.descendingSort = PR_TRUE;
}
else if (!sortDirection.Equals(ascendingStr))
else if (!sortDirection.Equals(*ascendingStr))
{
sortInfo.naturalOrderSort = PR_TRUE;
}
@ -2184,7 +2199,7 @@ XULSortServiceImpl::InsertContainerNode(nsIRDFCompositeDataSource *db, nsRDFSort
}
}
if (NS_SUCCEEDED(rv = container->GetAttribute(kNameSpaceID_None, kStaticsSortLastHintAtom, valueStr))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (valueStr.EqualsIgnoreCase(trueStr)))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (valueStr.EqualsIgnoreCase(*trueStr)))
{
// indicate that static XUL comes after RDF-generated content by making negative
staticCount = -staticCount;
@ -2338,7 +2353,7 @@ XULSortServiceImpl::DoSort(nsIDOMNode* node, const nsString& sortResource,
PRBool invertTreeFlag = PR_FALSE;
nsAutoString value;
if (NS_SUCCEEDED(rv = treeNode->GetAttribute(kNameSpaceID_None, kSortActiveAtom, value))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (value.EqualsIgnoreCase(trueStr)))
&& (rv == NS_CONTENT_ATTR_HAS_VALUE) && (value.EqualsIgnoreCase(*trueStr)))
{
if (NS_SUCCEEDED(rv = treeNode->GetAttribute(kNameSpaceID_None, kResourceAtom,
value)) && (rv == NS_CONTENT_ATTR_HAS_VALUE) && (value.EqualsIgnoreCase(sortResource)))
@ -2346,8 +2361,8 @@ XULSortServiceImpl::DoSort(nsIDOMNode* node, const nsString& sortResource,
if (NS_SUCCEEDED(rv = treeNode->GetAttribute(kNameSpaceID_None, kSortDirectionAtom,
value)) && (rv == NS_CONTENT_ATTR_HAS_VALUE))
{
if ((value.Equals(descendingStr) && sortDirection.Equals(ascendingStr)) ||
(value.Equals(ascendingStr) && sortDirection.Equals(descendingStr)))
if ((value.Equals(*descendingStr) && sortDirection.Equals(*ascendingStr)) ||
(value.Equals(*ascendingStr) && sortDirection.Equals(*descendingStr)))
{
invertTreeFlag = PR_TRUE;
}
@ -2372,7 +2387,7 @@ XULSortServiceImpl::DoSort(nsIDOMNode* node, const nsString& sortResource,
sortInfo.kNameSpaceID_XUL = kNameSpaceID_XUL;
// determine new sort resource and direction to use
if (sortDirection.Equals(naturalStr))
if (sortDirection.Equals(*naturalStr))
{
sortInfo.naturalOrderSort = PR_TRUE;
sortInfo.descendingSort = PR_FALSE;
@ -2380,8 +2395,8 @@ XULSortServiceImpl::DoSort(nsIDOMNode* node, const nsString& sortResource,
else
{
sortInfo.naturalOrderSort = PR_FALSE;
if (sortDirection.Equals(ascendingStr)) sortInfo.descendingSort = PR_FALSE;
else if (sortDirection.Equals(descendingStr)) sortInfo.descendingSort = PR_TRUE;
if (sortDirection.Equals(*ascendingStr)) sortInfo.descendingSort = PR_FALSE;
else if (sortDirection.Equals(*descendingStr)) sortInfo.descendingSort = PR_TRUE;
}
// get index of sort column, find tree body, and sort. The sort

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

@ -2791,8 +2791,8 @@ protected:
static nsIXULSortService* gXULSortService;
static nsString kTrueStr;
static nsString kFalseStr;
static nsString* kTrueStr;
static nsString* kFalseStr;
PRBool mIsBuilding;
@ -2887,8 +2887,8 @@ protected:
nsrefcnt nsXULTemplateBuilder::gRefCnt = 0;
nsIXULSortService* nsXULTemplateBuilder::gXULSortService = nsnull;
nsString nsXULTemplateBuilder::kTrueStr;
nsString nsXULTemplateBuilder::kFalseStr;
nsString* nsXULTemplateBuilder::kTrueStr = nsnull;
nsString* nsXULTemplateBuilder::kFalseStr = nsnull;
PRInt32 nsXULTemplateBuilder::kNameSpaceID_RDF;
PRInt32 nsXULTemplateBuilder::kNameSpaceID_XUL;
@ -4075,6 +4075,9 @@ nsXULTemplateBuilder::~nsXULTemplateBuilder(void)
--gRefCnt;
if (gRefCnt == 0) {
delete kTrueStr;
delete kFalseStr;
NS_IF_RELEASE(kNC_Title);
NS_IF_RELEASE(kNC_child);
NS_IF_RELEASE(kNC_Column);
@ -4117,8 +4120,10 @@ nsXULTemplateBuilder::Init()
if (gRefCnt++ == 0) {
nsXULAtoms::AddRef();
kTrueStr.AssignWithConversion("true");
kFalseStr.AssignWithConversion("false");
kTrueStr = new nsString(NS_LITERAL_STRING("true"));
if (!kTrueStr) return NS_ERROR_OUT_OF_MEMORY;
kFalseStr = new nsString(NS_LITERAL_STRING("false"));
if (!kFalseStr) return NS_ERROR_OUT_OF_MEMORY;
nsresult rv;
@ -5481,11 +5486,12 @@ nsXULTemplateBuilder::BuildContentFromTemplate(nsIContent *aTemplateNode,
if (NS_FAILED(rv)) return rv;
if (iscontainer) {
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::container, kTrueStr, PR_FALSE);
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::container,
*kTrueStr, PR_FALSE);
if (! (mFlags & eDontTestEmpty)) {
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty,
isempty ? kTrueStr : kFalseStr,
isempty ? *kTrueStr : *kFalseStr,
PR_FALSE);
}
}
@ -6476,7 +6482,7 @@ nsXULTemplateBuilder::IsOpen(nsIContent* aElement)
if (NS_FAILED(rv)) return PR_FALSE;
if (rv == NS_CONTENT_ATTR_HAS_VALUE) {
if (value == kTrueStr)
if (value == *kTrueStr)
return PR_TRUE;
}
@ -6802,20 +6808,23 @@ nsXULTemplateBuilder::SetContainerAttrs(nsIContent *aElement, const Match* aMatc
PRBool iscontainer, isempty;
CheckContainer(VALUE_TO_IRDFRESOURCE(containerval), &iscontainer, &isempty);
const nsString& newcontainer = iscontainer ? kTrueStr : kFalseStr;
const nsString* newcontainer = iscontainer ? kTrueStr : kFalseStr;
if (oldcontainer != newcontainer) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::container, newcontainer, PR_TRUE);
if (oldcontainer != *newcontainer) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::container,
*newcontainer, PR_TRUE);
}
if (! (mFlags & eDontTestEmpty)) {
nsAutoString oldempty;
aElement->GetAttribute(kNameSpaceID_None, nsXULAtoms::empty, oldempty);
const nsString& newempty = (iscontainer && isempty) ? kTrueStr : kFalseStr;
const nsString* newempty = (iscontainer && isempty)
? kTrueStr : kFalseStr;
if (oldempty != newempty) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty, newempty, PR_TRUE);
if (oldempty != *newempty) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty,
*newempty, PR_TRUE);
}
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -2791,8 +2791,8 @@ protected:
static nsIXULSortService* gXULSortService;
static nsString kTrueStr;
static nsString kFalseStr;
static nsString* kTrueStr;
static nsString* kFalseStr;
PRBool mIsBuilding;
@ -2887,8 +2887,8 @@ protected:
nsrefcnt nsXULTemplateBuilder::gRefCnt = 0;
nsIXULSortService* nsXULTemplateBuilder::gXULSortService = nsnull;
nsString nsXULTemplateBuilder::kTrueStr;
nsString nsXULTemplateBuilder::kFalseStr;
nsString* nsXULTemplateBuilder::kTrueStr = nsnull;
nsString* nsXULTemplateBuilder::kFalseStr = nsnull;
PRInt32 nsXULTemplateBuilder::kNameSpaceID_RDF;
PRInt32 nsXULTemplateBuilder::kNameSpaceID_XUL;
@ -4075,6 +4075,9 @@ nsXULTemplateBuilder::~nsXULTemplateBuilder(void)
--gRefCnt;
if (gRefCnt == 0) {
delete kTrueStr;
delete kFalseStr;
NS_IF_RELEASE(kNC_Title);
NS_IF_RELEASE(kNC_child);
NS_IF_RELEASE(kNC_Column);
@ -4117,8 +4120,10 @@ nsXULTemplateBuilder::Init()
if (gRefCnt++ == 0) {
nsXULAtoms::AddRef();
kTrueStr.AssignWithConversion("true");
kFalseStr.AssignWithConversion("false");
kTrueStr = new nsString(NS_LITERAL_STRING("true"));
if (!kTrueStr) return NS_ERROR_OUT_OF_MEMORY;
kFalseStr = new nsString(NS_LITERAL_STRING("false"));
if (!kFalseStr) return NS_ERROR_OUT_OF_MEMORY;
nsresult rv;
@ -5481,11 +5486,12 @@ nsXULTemplateBuilder::BuildContentFromTemplate(nsIContent *aTemplateNode,
if (NS_FAILED(rv)) return rv;
if (iscontainer) {
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::container, kTrueStr, PR_FALSE);
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::container,
*kTrueStr, PR_FALSE);
if (! (mFlags & eDontTestEmpty)) {
realKid->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty,
isempty ? kTrueStr : kFalseStr,
isempty ? *kTrueStr : *kFalseStr,
PR_FALSE);
}
}
@ -6476,7 +6482,7 @@ nsXULTemplateBuilder::IsOpen(nsIContent* aElement)
if (NS_FAILED(rv)) return PR_FALSE;
if (rv == NS_CONTENT_ATTR_HAS_VALUE) {
if (value == kTrueStr)
if (value == *kTrueStr)
return PR_TRUE;
}
@ -6802,20 +6808,23 @@ nsXULTemplateBuilder::SetContainerAttrs(nsIContent *aElement, const Match* aMatc
PRBool iscontainer, isempty;
CheckContainer(VALUE_TO_IRDFRESOURCE(containerval), &iscontainer, &isempty);
const nsString& newcontainer = iscontainer ? kTrueStr : kFalseStr;
const nsString* newcontainer = iscontainer ? kTrueStr : kFalseStr;
if (oldcontainer != newcontainer) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::container, newcontainer, PR_TRUE);
if (oldcontainer != *newcontainer) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::container,
*newcontainer, PR_TRUE);
}
if (! (mFlags & eDontTestEmpty)) {
nsAutoString oldempty;
aElement->GetAttribute(kNameSpaceID_None, nsXULAtoms::empty, oldempty);
const nsString& newempty = (iscontainer && isempty) ? kTrueStr : kFalseStr;
const nsString* newempty = (iscontainer && isempty)
? kTrueStr : kFalseStr;
if (oldempty != newempty) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty, newempty, PR_TRUE);
if (oldempty != *newempty) {
aElement->SetAttribute(kNameSpaceID_None, nsXULAtoms::empty,
*newempty, PR_TRUE);
}
}