@@ -1423,6 +1423,8 @@ public void triggerOnError(final ScriptException e) {
14231423 final int line = e .getFailingLineNumber ();
14241424 final int column = e .getFailingColumnNumber ();
14251425
1426+ final VarScope scope = getWebWindow ().getTopLevelScope ();
1427+
14261428 Object jsError = e .getMessage ();
14271429 if (e .getCause () instanceof JavaScriptException ) {
14281430 msg = "uncaught exception: " + e .getCause ().getMessage ();
@@ -1431,15 +1433,15 @@ public void triggerOnError(final ScriptException e) {
14311433 else if (e .getCause () instanceof EcmaError ecmaError ) {
14321434 msg = "uncaught " + e .getCause ().getMessage ();
14331435
1434- final Scriptable err = Context . getCurrentContext (). newObject (this , "Error" );
1436+ final Scriptable err = JavaScriptEngine . newObject (scope , "Error" , JavaScriptEngine . EMPTY_ARGS );
14351437 ScriptableObject .putProperty (err , "message" , ecmaError .getMessage ());
14361438 ScriptableObject .putProperty (err , "fileName" , ecmaError .sourceName ());
14371439 ScriptableObject .putProperty (err , "lineNumber" , Integer .valueOf (ecmaError .lineNumber ()));
14381440 jsError = err ;
14391441 }
14401442
14411443 final Object [] args = {msg , url , Integer .valueOf (line ), Integer .valueOf (column ), jsError };
1442- f .call (Context .getCurrentContext (), getWebWindow (). getTopLevelScope () , this , args );
1444+ f .call (Context .getCurrentContext (), scope , this , args );
14431445 }
14441446 }
14451447
0 commit comments