зеркало из https://github.com/mozilla/gecko-dev.git
Bug #54408, r=mccabe, a=brendan. LiveConnect top-level property names
predefined readonly.
This commit is contained in:
Родитель
13899dbffa
Коммит
f9deb5124e
|
@ -68,13 +68,13 @@ typedef struct {
|
||||||
|
|
||||||
static JSObject *
|
static JSObject *
|
||||||
define_JavaPackage(JSContext *cx, JSObject *parent_obj,
|
define_JavaPackage(JSContext *cx, JSObject *parent_obj,
|
||||||
const char *obj_name, const char *path, int flags)
|
const char *obj_name, const char *path, int flags, int access)
|
||||||
{
|
{
|
||||||
JSObject *package_obj;
|
JSObject *package_obj;
|
||||||
JavaPackage_Private *package;
|
JavaPackage_Private *package;
|
||||||
|
|
||||||
package_obj = JS_DefineObject(cx, parent_obj, obj_name, &JavaPackage_class, 0,
|
package_obj = JS_DefineObject(cx, parent_obj, obj_name, &JavaPackage_class, 0, JSPROP_PERMANENT | access);
|
||||||
JSPROP_PERMANENT | JSPROP_READONLY);
|
|
||||||
if (!package_obj)
|
if (!package_obj)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ JavaPackage_resolve(JSContext *cx, JSObject *obj, jsval id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!define_JavaPackage(cx, obj, subPath, newPath, 0)) {
|
if (!define_JavaPackage(cx, obj, subPath, newPath, 0, JSPROP_READONLY)) {
|
||||||
ok = JS_FALSE;
|
ok = JS_FALSE;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -342,53 +342,53 @@ JSClass JavaPackage_class = {
|
||||||
|
|
||||||
JavaPackageDef
|
JavaPackageDef
|
||||||
standard_java_packages[] = {
|
standard_java_packages[] = {
|
||||||
{"java", NULL, PKG_USER},
|
{"java", NULL, PKG_USER, 0},
|
||||||
{"java.applet", NULL, PKG_USER},
|
{"java.applet", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.awt", NULL, PKG_USER},
|
{"java.awt", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.awt.datatransfer",
|
{"java.awt.datatransfer",
|
||||||
NULL, PKG_SYSTEM},
|
NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.awt.event", NULL, PKG_SYSTEM},
|
{"java.awt.event", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.awt.image", NULL, PKG_SYSTEM},
|
{"java.awt.image", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.awt.peer", NULL, PKG_SYSTEM},
|
{"java.awt.peer", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.beans", NULL, PKG_USER},
|
{"java.beans", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.io", NULL, PKG_SYSTEM},
|
{"java.io", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.lang", NULL, PKG_USER},
|
{"java.lang", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.lang.reflect", NULL, PKG_SYSTEM},
|
{"java.lang.reflect", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.math", NULL, PKG_SYSTEM},
|
{"java.math", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.net", NULL, PKG_USER},
|
{"java.net", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.rmi", NULL, PKG_USER},
|
{"java.rmi", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.rmi.dgc", NULL, PKG_USER},
|
{"java.rmi.dgc", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.rmi.user", NULL, PKG_USER},
|
{"java.rmi.user", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.rmi.registry", NULL, PKG_USER},
|
{"java.rmi.registry", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.rmi.server", NULL, PKG_USER},
|
{"java.rmi.server", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.security", NULL, PKG_USER},
|
{"java.security", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.security.acl", NULL, PKG_SYSTEM},
|
{"java.security.acl", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.security.interfaces",
|
{"java.security.interfaces",
|
||||||
NULL, PKG_SYSTEM},
|
NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.sql", NULL, PKG_USER},
|
{"java.sql", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.text", NULL, PKG_USER},
|
{"java.text", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.text.resources", NULL, PKG_SYSTEM},
|
{"java.text.resources", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"java.util", NULL, PKG_USER},
|
{"java.util", NULL, PKG_USER, JSPROP_READONLY},
|
||||||
{"java.util.zip", NULL, PKG_SYSTEM},
|
{"java.util.zip", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
|
|
||||||
{"netscape", NULL, PKG_USER},
|
{"netscape", NULL, PKG_USER, 0},
|
||||||
{"netscape.applet", NULL, PKG_SYSTEM},
|
{"netscape.applet", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.application",NULL, PKG_SYSTEM},
|
{"netscape.application",NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.debug", NULL, PKG_SYSTEM},
|
{"netscape.debug", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.javascript", NULL, PKG_SYSTEM},
|
{"netscape.javascript", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.ldap", NULL, PKG_SYSTEM},
|
{"netscape.ldap", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.misc", NULL, PKG_SYSTEM},
|
{"netscape.misc", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.net", NULL, PKG_SYSTEM},
|
{"netscape.net", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.plugin", NULL, PKG_SYSTEM},
|
{"netscape.plugin", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.util", NULL, PKG_SYSTEM},
|
{"netscape.util", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.secfile", NULL, PKG_SYSTEM},
|
{"netscape.secfile", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.security", NULL, PKG_SYSTEM},
|
{"netscape.security", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
{"netscape.WAI", NULL, PKG_SYSTEM},
|
{"netscape.WAI", NULL, PKG_SYSTEM, JSPROP_READONLY},
|
||||||
|
|
||||||
{"sun", NULL, PKG_USER},
|
{"sun", NULL, PKG_USER, 0},
|
||||||
{"Packages", "", PKG_USER},
|
{"Packages", "", PKG_USER, JSPROP_READONLY},
|
||||||
|
|
||||||
{NULL, NULL, 0}
|
{NULL, NULL, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -468,7 +468,8 @@ pre_define_java_packages(JSContext *cx, JSObject *global_obj,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
flags = package_def->flags;
|
flags = package_def->flags;
|
||||||
parent_obj = define_JavaPackage(cx, parent_obj, simple_name, path, flags);
|
parent_obj = define_JavaPackage(cx, parent_obj, simple_name, path, flags,
|
||||||
|
package_def->access);
|
||||||
if (!parent_obj)
|
if (!parent_obj)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,7 @@ typedef struct JavaPackageDef {
|
||||||
const char * name; /* e.g. "java.lang" */
|
const char * name; /* e.g. "java.lang" */
|
||||||
const char * path; /* e.g. "java/lang", or NULL for default */
|
const char * path; /* e.g. "java/lang", or NULL for default */
|
||||||
int flags; /* PKG_USER, PKG_SYSTEM, etc. */
|
int flags; /* PKG_USER, PKG_SYSTEM, etc. */
|
||||||
|
int access; /* JSPROP_READONLY or 0 */
|
||||||
} JavaPackageDef;
|
} JavaPackageDef;
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
Загрузка…
Ссылка в новой задаче