fix(scenario): NPE when no angular loaded in test page

This commit is contained in:
Jimmy Zhuo 2012-09-08 12:46:24 +08:00 committed by Misko Hevery
parent 79941d2527
commit 84c13d96ff

View file

@ -294,10 +294,11 @@ function browserTrigger(element, type, keys) {
iframe = _jQuery('#application iframe')[0], iframe = _jQuery('#application iframe')[0],
appWindow = iframe ? iframe.contentWindow : window, appWindow = iframe ? iframe.contentWindow : window,
fakeProcessDefault = true, fakeProcessDefault = true,
finalProcessDefault; finalProcessDefault,
angular = appWindow.angular || {};
// igor: temporary fix for https://bugzilla.mozilla.org/show_bug.cgi?id=684208 // igor: temporary fix for https://bugzilla.mozilla.org/show_bug.cgi?id=684208
appWindow.angular['ff-684208-preventDefault'] = false; angular['ff-684208-preventDefault'] = false;
evnt.preventDefault = function() { evnt.preventDefault = function() {
fakeProcessDefault = false; fakeProcessDefault = false;
return originalPreventDefault.apply(evnt, arguments); return originalPreventDefault.apply(evnt, arguments);
@ -307,9 +308,9 @@ function browserTrigger(element, type, keys) {
pressed('shift'), pressed('meta'), 0, element); pressed('shift'), pressed('meta'), 0, element);
element.dispatchEvent(evnt); element.dispatchEvent(evnt);
finalProcessDefault = !(appWindow.angular['ff-684208-preventDefault'] || !fakeProcessDefault); finalProcessDefault = !(angular['ff-684208-preventDefault'] || !fakeProcessDefault);
delete appWindow.angular['ff-684208-preventDefault']; delete angular['ff-684208-preventDefault'];
return finalProcessDefault; return finalProcessDefault;
} }