* Make sure global reference is always available, even if there is no per-thread scope
(e.g. when compiling scripts)
This commit is contained in:
parent
e6824fe0ee
commit
edfdfd5a79
2 changed files with 5 additions and 4 deletions
|
@ -39,10 +39,10 @@ public class DynamicGlobalObject extends GlobalObject {
|
||||||
if (obj != null && obj != NOT_FOUND) {
|
if (obj != null && obj != NOT_FOUND) {
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
}
|
// make thread scope accessible as "global"
|
||||||
// make thread scope accessible as "global"
|
if ("global".equals(s)) {
|
||||||
if ("global".equals(s)) {
|
return scope;
|
||||||
return scope;
|
}
|
||||||
}
|
}
|
||||||
return super.get(s, scriptable);
|
return super.get(s, scriptable);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,6 +75,7 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder {
|
||||||
defineFunctionProperties(globalFuncs, GlobalObject.class, 0);
|
defineFunctionProperties(globalFuncs, GlobalObject.class, 0);
|
||||||
put("app", this, Context.toObject(new ApplicationBean(app), this));
|
put("app", this, Context.toObject(new ApplicationBean(app), this));
|
||||||
put("Xml", this, Context.toObject(new XmlObject(core), this));
|
put("Xml", this, Context.toObject(new XmlObject(core), this));
|
||||||
|
put("global", this, this);
|
||||||
// Define dontEnum() on Object prototype
|
// Define dontEnum() on Object prototype
|
||||||
String[] objFuncs = { "dontEnum" };
|
String[] objFuncs = { "dontEnum" };
|
||||||
ScriptableObject objproto = (ScriptableObject) getObjectPrototype(this);
|
ScriptableObject objproto = (ScriptableObject) getObjectPrototype(this);
|
||||||
|
|
Loading…
Add table
Reference in a new issue