diff --git a/dom/jsurl/nsJSProtocolHandler.cpp b/dom/jsurl/nsJSProtocolHandler.cpp index 7602e58b0b..5db4d69e0d 100644 --- a/dom/jsurl/nsJSProtocolHandler.cpp +++ b/dom/jsurl/nsJSProtocolHandler.cpp @@ -202,7 +202,12 @@ nsresult nsJSThunk::EvaluateScript(nsIChannel *aChannel, // Sandboxed document check: javascript: URI's are disabled // in a sandboxed document unless 'allow-scripts' was specified. nsIDocument* doc = aOriginalInnerWindow->GetExtantDoc(); + if (doc && !doc->IsScriptEnabled()) { + // Scripts not allowed on the extant doc. + return NS_ERROR_DOM_RETVAL_UNDEFINED; + } if (doc && doc->HasScriptsBlockedBySandbox()) { + // Sandbox policy forbids scripting. return NS_ERROR_DOM_RETVAL_UNDEFINED; }