Make SelectorMatches() faster by eleminating a few function calls
r=Shaver Tree is green enough = waterson git-svn-id: svn://10.0.0.236/trunk@58871 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
d400676ed4
commit
723d9997d5
@ -2295,12 +2295,19 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext,
|
||||
{
|
||||
PRBool result = PR_FALSE;
|
||||
nsIAtom* contentTag;
|
||||
aContent->GetTag(contentTag);
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag)) &&
|
||||
((kNameSpaceID_Unknown == aSelector->mNameSpace) || (nameSpaceID == aSelector->mNameSpace))) {
|
||||
// Bail out early if we can
|
||||
if(kNameSpaceID_Unknown != aSelector->mNameSpace) {
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
if(nameSpaceID != aSelector->mNameSpace) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
aContent->GetTag(contentTag);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag))) {
|
||||
result = PR_TRUE;
|
||||
// namespace/tag match
|
||||
if (nsnull != aSelector->mAttrList) { // test for attribute match
|
||||
|
||||
@ -2295,12 +2295,19 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext,
|
||||
{
|
||||
PRBool result = PR_FALSE;
|
||||
nsIAtom* contentTag;
|
||||
aContent->GetTag(contentTag);
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag)) &&
|
||||
((kNameSpaceID_Unknown == aSelector->mNameSpace) || (nameSpaceID == aSelector->mNameSpace))) {
|
||||
// Bail out early if we can
|
||||
if(kNameSpaceID_Unknown != aSelector->mNameSpace) {
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
if(nameSpaceID != aSelector->mNameSpace) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
aContent->GetTag(contentTag);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag))) {
|
||||
result = PR_TRUE;
|
||||
// namespace/tag match
|
||||
if (nsnull != aSelector->mAttrList) { // test for attribute match
|
||||
|
||||
@ -2295,12 +2295,19 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext,
|
||||
{
|
||||
PRBool result = PR_FALSE;
|
||||
nsIAtom* contentTag;
|
||||
aContent->GetTag(contentTag);
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag)) &&
|
||||
((kNameSpaceID_Unknown == aSelector->mNameSpace) || (nameSpaceID == aSelector->mNameSpace))) {
|
||||
// Bail out early if we can
|
||||
if(kNameSpaceID_Unknown != aSelector->mNameSpace) {
|
||||
PRInt32 nameSpaceID;
|
||||
aContent->GetNameSpaceID(nameSpaceID);
|
||||
if(nameSpaceID != aSelector->mNameSpace) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
aContent->GetTag(contentTag);
|
||||
|
||||
if (((nsnull == aSelector->mTag) || (aSelector->mTag == contentTag))) {
|
||||
result = PR_TRUE;
|
||||
// namespace/tag match
|
||||
if (nsnull != aSelector->mAttrList) { // test for attribute match
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user