mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 04:15:43 +00:00
171460 - add parsetype attribute. r=hyatt sr=hewitt
This commit is contained in:
parent
5ca62716f3
commit
693921e302
@ -317,3 +317,4 @@ XUL_ATOM(screenX, "screenX")
|
||||
XUL_ATOM(screenY, "screenY")
|
||||
XUL_ATOM(hidechrome, "hidechrome")
|
||||
XUL_ATOM(popupset, "popupset")
|
||||
XUL_ATOM(parsetype, "parsetype")
|
||||
|
@ -2185,6 +2185,8 @@ nsXULTemplateBuilder::CompileSimpleRule(nsIContent* aRuleElement,
|
||||
// never compare against {}:id attribute
|
||||
else if ((attr.get() == nsXULAtoms::id) && (attrNameSpaceID == kNameSpaceID_None))
|
||||
continue;
|
||||
else if ((attr.get() == nsXULAtoms::parsetype) && (attrNameSpaceID == kNameSpaceID_None))
|
||||
continue;
|
||||
|
||||
nsAutoString value;
|
||||
rv = aRuleElement->GetAttr(attrNameSpaceID, attr, value);
|
||||
@ -2261,12 +2263,26 @@ nsXULTemplateBuilder::CompileSimpleRule(nsIContent* aRuleElement,
|
||||
|
||||
target = do_QueryInterface(resource);
|
||||
}
|
||||
else {
|
||||
nsCOMPtr<nsIRDFLiteral> literal;
|
||||
rv = gRDFService->GetLiteral(value.get(), getter_AddRefs(literal));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
else {
|
||||
if (aRuleElement->HasAttr(kNameSpaceID_None, nsXULAtoms::parsetype)) {
|
||||
nsAutoString parseType;
|
||||
aRuleElement->GetAttr(kNameSpaceID_None, nsXULAtoms::parsetype, parseType);
|
||||
if (parseType.Equals(NS_LITERAL_STRING("Integer"))) {
|
||||
nsCOMPtr<nsIRDFInt> intLiteral;
|
||||
PRInt32 errorCode = nsnull;
|
||||
rv = gRDFService->GetIntLiteral(value.ToInteger(&errorCode), getter_AddRefs(intLiteral));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
target = do_QueryInterface(intLiteral);
|
||||
}
|
||||
}
|
||||
else {
|
||||
nsCOMPtr<nsIRDFLiteral> literal;
|
||||
rv = gRDFService->GetLiteral(value.get(), getter_AddRefs(literal));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
target = do_QueryInterface(literal);
|
||||
target = do_QueryInterface(literal);
|
||||
}
|
||||
}
|
||||
|
||||
testnode = new nsRDFPropertyTestNode(aParentNode, mConflictSet, mDB, mMemberVar, property, target);
|
||||
|
Loading…
Reference in New Issue
Block a user