mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug 883592: stop trying to evaluate scripts for documents with no inner windows, r=sicking
--HG-- extra : transplant_source : %99%1Ap-%EC%80b%2B%DE%A5%05%EE%9C%24Dl%22%E7G%D3
This commit is contained in:
parent
af8ed74358
commit
46e72e6454
@ -15,7 +15,6 @@ include $(DEPTH)/config/autoconf.mk
|
|||||||
# browser_589246.js is disabled for leaking browser windows (bug 752467)
|
# browser_589246.js is disabled for leaking browser windows (bug 752467)
|
||||||
# browser_580512.js is disabled for leaking browser windows (bug 752467)
|
# browser_580512.js is disabled for leaking browser windows (bug 752467)
|
||||||
# browser_capabilities.js is disabled for using resources outside of the build network (bug 882575)
|
# browser_capabilities.js is disabled for using resources outside of the build network (bug 882575)
|
||||||
# browser_707862.js & browser_705597.js are disabled whilst waiting for review (bug 861700 & bug 883592)
|
|
||||||
|
|
||||||
MOCHITEST_BROWSER_FILES = \
|
MOCHITEST_BROWSER_FILES = \
|
||||||
head.js \
|
head.js \
|
||||||
@ -134,6 +133,8 @@ MOCHITEST_BROWSER_FILES = \
|
|||||||
browser_687710_2.js \
|
browser_687710_2.js \
|
||||||
browser_694378.js \
|
browser_694378.js \
|
||||||
browser_701377.js \
|
browser_701377.js \
|
||||||
|
browser_705597.js \
|
||||||
|
browser_707862.js \
|
||||||
browser_739531.js \
|
browser_739531.js \
|
||||||
browser_739531_sample.html \
|
browser_739531_sample.html \
|
||||||
browser_739805.js \
|
browser_739805.js \
|
||||||
|
@ -728,11 +728,16 @@ nsScriptLoader::ProcessRequest(nsScriptLoadRequest* aRequest)
|
|||||||
|
|
||||||
FireScriptAvailable(NS_OK, aRequest);
|
FireScriptAvailable(NS_OK, aRequest);
|
||||||
|
|
||||||
bool runScript = true;
|
// The window may have gone away by this point, in which case there's no point
|
||||||
nsContentUtils::DispatchTrustedEvent(scriptElem->OwnerDoc(),
|
// in trying to run the script.
|
||||||
scriptElem,
|
nsPIDOMWindow *pwin = mDocument->GetInnerWindow();
|
||||||
NS_LITERAL_STRING("beforescriptexecute"),
|
bool runScript = !!pwin;
|
||||||
true, true, &runScript);
|
if (runScript) {
|
||||||
|
nsContentUtils::DispatchTrustedEvent(scriptElem->OwnerDoc(),
|
||||||
|
scriptElem,
|
||||||
|
NS_LITERAL_STRING("beforescriptexecute"),
|
||||||
|
true, true, &runScript);
|
||||||
|
}
|
||||||
|
|
||||||
nsresult rv = NS_OK;
|
nsresult rv = NS_OK;
|
||||||
if (runScript) {
|
if (runScript) {
|
||||||
@ -807,9 +812,8 @@ nsScriptLoader::EvaluateScript(nsScriptLoadRequest* aRequest,
|
|||||||
}
|
}
|
||||||
|
|
||||||
nsPIDOMWindow *pwin = mDocument->GetInnerWindow();
|
nsPIDOMWindow *pwin = mDocument->GetInnerWindow();
|
||||||
if (!pwin) {
|
NS_ASSERTION(pwin, "shouldn't be called with a null inner window");
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
nsCOMPtr<nsIScriptGlobalObject> globalObject = do_QueryInterface(pwin);
|
nsCOMPtr<nsIScriptGlobalObject> globalObject = do_QueryInterface(pwin);
|
||||||
NS_ASSERTION(globalObject, "windows must be global objects");
|
NS_ASSERTION(globalObject, "windows must be global objects");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user