diff --git a/dom/json/nsJSON.cpp b/dom/json/nsJSON.cpp index b5481468842..ae399933307 100644 --- a/dom/json/nsJSON.cpp +++ b/dom/json/nsJSON.cpp @@ -22,6 +22,7 @@ #include "nsCRTGlue.h" #include "nsAutoPtr.h" #include "nsIScriptSecurityManager.h" +#include "nsNullPrincipal.h" #include "mozilla/Maybe.h" #include @@ -409,9 +410,19 @@ nsJSON::DecodeInternal(JSContext* cx, return NS_ERROR_OUT_OF_MEMORY; } - nsresult rv = - NS_NewInputStreamChannel(getter_AddRefs(jsonChannel), mURI, aStream, - NS_LITERAL_CSTRING("application/json")); + nsresult rv; + nsCOMPtr nullPrincipal = + do_CreateInstance("@mozilla.org/nullprincipal;1", &rv); + NS_ENSURE_SUCCESS(rv, rv); + + rv = NS_NewInputStreamChannel(getter_AddRefs(jsonChannel), + mURI, + aStream, + nullPrincipal, + nsILoadInfo::SEC_NORMAL, + nsIContentPolicy::TYPE_OTHER, + NS_LITERAL_CSTRING("application/json")); + if (!jsonChannel || NS_FAILED(rv)) return NS_ERROR_FAILURE; diff --git a/dom/jsurl/nsJSProtocolHandler.cpp b/dom/jsurl/nsJSProtocolHandler.cpp index 06ad830f7a6..2d3b56c6568 100644 --- a/dom/jsurl/nsJSProtocolHandler.cpp +++ b/dom/jsurl/nsJSProtocolHandler.cpp @@ -36,6 +36,7 @@ #include "nsIContentViewer.h" #include "nsIXPConnect.h" #include "nsContentUtils.h" +#include "nsNullPrincipal.h" #include "nsJSUtils.h" #include "nsThreadUtils.h" #include "nsIScriptChannel.h" @@ -427,9 +428,18 @@ nsresult nsJSChannel::Init(nsIURI *aURI) // and the underlying Input Stream will not be created... nsCOMPtr channel; + nsCOMPtr nullPrincipal = + do_CreateInstance("@mozilla.org/nullprincipal;1", &rv); + NS_ENSURE_SUCCESS(rv, rv); + // If the resultant script evaluation actually does return a value, we // treat it as html. - rv = NS_NewInputStreamChannel(getter_AddRefs(channel), aURI, mIOThunk, + rv = NS_NewInputStreamChannel(getter_AddRefs(channel), + aURI, + mIOThunk, + nullPrincipal, + nsILoadInfo::SEC_NORMAL, + nsIContentPolicy::TYPE_OTHER, NS_LITERAL_CSTRING("text/html")); if (NS_FAILED(rv)) return rv;