diff --git a/mozilla/extensions/schema-validation/src/nsSchemaLoader.cpp b/mozilla/extensions/schema-validation/src/nsSchemaLoader.cpp index 51c985be89f..0e086a687a7 100644 --- a/mozilla/extensions/schema-validation/src/nsSchemaLoader.cpp +++ b/mozilla/extensions/schema-validation/src/nsSchemaLoader.cpp @@ -43,7 +43,7 @@ // XPConnect includes #include "nsIXPConnect.h" #include "nsIScriptSecurityManager.h" -#include "nsIPrincipal.h" +#include "nsICodebasePrincipal.h" // XPCOM includes #include "nsIServiceManager.h" @@ -813,7 +813,10 @@ nsSchemaLoader::GetResolvedURI(const nsAString& aSchemaURI, nsCOMPtr principal; rv = secMan->GetSubjectPrincipal(getter_AddRefs(principal)); if (NS_SUCCEEDED(rv)) { - principal->GetURI(getter_AddRefs(baseURI)); + nsCOMPtr codebase = do_QueryInterface(principal); + if (codebase) { + codebase->GetURI(getter_AddRefs(baseURI)); + } } rv = NS_NewURI(aURI, aSchemaURI, nsnull, baseURI);