From ee5bd6103b9fc14501e06ebb7d97baf3770a1e7a Mon Sep 17 00:00:00 2001 From: "pavlov%netscape.com" Date: Wed, 20 Feb 2002 07:44:35 +0000 Subject: [PATCH] bug 125713 sr=brendan git-svn-id: svn://10.0.0.236/trunk@115094 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/base/nsPresContext.cpp | 23 +++++++++++++---------- mozilla/layout/base/src/nsPresContext.cpp | 23 +++++++++++++---------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index e0360810192..c3cd6f0a196 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -1506,19 +1506,22 @@ nsPresContext::LoadImage(const nsString& aURL, if (content) { nsCOMPtr document; rv = content->GetDocument(*getter_AddRefs(document)); - if (NS_FAILED(rv)) return rv; - nsCOMPtr globalScript; - rv = document->GetScriptGlobalObject(getter_AddRefs(globalScript)); - if (NS_FAILED(rv)) return rv; + // If there is no document, skip the policy check + if (document) { + nsCOMPtr globalScript; + rv = document->GetScriptGlobalObject(getter_AddRefs(globalScript)); - nsCOMPtr domWin(do_QueryInterface(globalScript)); + if (globalScript) { + nsCOMPtr domWin(do_QueryInterface(globalScript)); - PRBool shouldLoad = PR_TRUE; - rv = NS_CheckContentLoadPolicy(nsIContentPolicy::IMAGE, - uri, element, domWin, &shouldLoad); - if (NS_SUCCEEDED(rv) && !shouldLoad) - return NS_ERROR_FAILURE; + PRBool shouldLoad = PR_TRUE; + rv = NS_CheckContentLoadPolicy(nsIContentPolicy::IMAGE, + uri, element, domWin, &shouldLoad); + if (NS_SUCCEEDED(rv) && !shouldLoad) + return NS_ERROR_FAILURE; + } + } } nsImageLoader *newLoader = new nsImageLoader(); diff --git a/mozilla/layout/base/src/nsPresContext.cpp b/mozilla/layout/base/src/nsPresContext.cpp index e0360810192..c3cd6f0a196 100644 --- a/mozilla/layout/base/src/nsPresContext.cpp +++ b/mozilla/layout/base/src/nsPresContext.cpp @@ -1506,19 +1506,22 @@ nsPresContext::LoadImage(const nsString& aURL, if (content) { nsCOMPtr document; rv = content->GetDocument(*getter_AddRefs(document)); - if (NS_FAILED(rv)) return rv; - nsCOMPtr globalScript; - rv = document->GetScriptGlobalObject(getter_AddRefs(globalScript)); - if (NS_FAILED(rv)) return rv; + // If there is no document, skip the policy check + if (document) { + nsCOMPtr globalScript; + rv = document->GetScriptGlobalObject(getter_AddRefs(globalScript)); - nsCOMPtr domWin(do_QueryInterface(globalScript)); + if (globalScript) { + nsCOMPtr domWin(do_QueryInterface(globalScript)); - PRBool shouldLoad = PR_TRUE; - rv = NS_CheckContentLoadPolicy(nsIContentPolicy::IMAGE, - uri, element, domWin, &shouldLoad); - if (NS_SUCCEEDED(rv) && !shouldLoad) - return NS_ERROR_FAILURE; + PRBool shouldLoad = PR_TRUE; + rv = NS_CheckContentLoadPolicy(nsIContentPolicy::IMAGE, + uri, element, domWin, &shouldLoad); + if (NS_SUCCEEDED(rv) && !shouldLoad) + return NS_ERROR_FAILURE; + } + } } nsImageLoader *newLoader = new nsImageLoader();