Reduce string copying from nsGenericHTMLElement::GetHrefURIForAnchors (bug 267506). r+sr=jst.
git-svn-id: svn://10.0.0.236/trunk@164872 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
dad99a0cc9
commit
b17a54f274
@ -1538,11 +1538,8 @@ nsContentUtils::NewURIWithDocumentCharset(nsIURI** aResult,
|
||||
nsIDocument* aDocument,
|
||||
nsIURI* aBaseURI)
|
||||
{
|
||||
nsCAutoString originCharset;
|
||||
if (aDocument)
|
||||
originCharset = aDocument->GetDocumentCharacterSet();
|
||||
|
||||
return NS_NewURI(aResult, NS_ConvertUCS2toUTF8(aSpec), originCharset.get(),
|
||||
return NS_NewURI(aResult, aSpec,
|
||||
aDocument ? aDocument->GetDocumentCharacterSet().get() : nsnull,
|
||||
aBaseURI, sIOService);
|
||||
}
|
||||
|
||||
|
||||
@ -1583,16 +1583,16 @@ nsGenericHTMLElement::GetHrefURIForAnchors(nsIURI** aURI)
|
||||
// nsHTMLStyleElement.
|
||||
|
||||
// Get href= attribute (relative URI).
|
||||
nsAutoString relURISpec;
|
||||
|
||||
if (NS_CONTENT_ATTR_HAS_VALUE ==
|
||||
GetAttr(kNameSpaceID_None, nsHTMLAtoms::href, relURISpec)) {
|
||||
// We use the nsAttrValue's copy of the URI string to avoid copying.
|
||||
const nsAttrValue* attr = mAttrsAndChildren.GetAttr(nsHTMLAtoms::href);
|
||||
if (attr) {
|
||||
// Get base URI.
|
||||
nsCOMPtr<nsIURI> baseURI = GetBaseURI();
|
||||
|
||||
// Get absolute URI.
|
||||
nsresult rv = nsContentUtils::NewURIWithDocumentCharset(aURI,
|
||||
relURISpec,
|
||||
attr->GetStringValue(),
|
||||
GetOwnerDoc(),
|
||||
baseURI);
|
||||
if (NS_FAILED(rv)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user