From 12d2d24b2573c19a32d013edbdf545bcb5f6bfd7 Mon Sep 17 00:00:00 2001 From: "dcamp%mozilla.com" Date: Thu, 21 Jun 2007 16:32:46 +0000 Subject: [PATCH] Bug 378685 - Permission manager should operate on innermost URI, r=dveditz sr=mconnor --- extensions/cookie/nsPermissionManager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp index 55bbd300591..8353626a07c 100644 --- a/extensions/cookie/nsPermissionManager.cpp +++ b/extensions/cookie/nsPermissionManager.cpp @@ -992,12 +992,15 @@ nsPermissionManager::Write() nsresult nsPermissionManager::GetHost(nsIURI *aURI, nsACString &aResult) { - aURI->GetHost(aResult); + nsCOMPtr innerURI = NS_GetInnermostURI(aURI); + if (!innerURI) return NS_ERROR_FAILURE; + + innerURI->GetHost(aResult); // If there is no host, use the scheme, and prepend "scheme:", // to make sure it isn't a host or something. if (aResult.IsEmpty()) { - aURI->GetScheme(aResult); + innerURI->GetScheme(aResult); if (aResult.IsEmpty()) { // still empty. Return error. return NS_ERROR_FAILURE;