diff options
author | Tim Lunn <tim@feathertop.org> | 2013-10-01 09:23:48 +1000 |
---|---|---|
committer | Tim Lunn <tim@feathertop.org> | 2013-11-09 07:30:59 +1100 |
commit | a3241ac8520053dbf3185c8f171c7a6d81487b52 (patch) | |
tree | a7142bd5a49b2b7a8de11b682fc4b4c1f86946a9 | |
parent | e82315c477e2a95e914555db575facfaa1893311 (diff) | |
download | gjs-wip/js24.tar.gz |
JS_SetVersion has been removed, JS Version is now set on the compartment instead of context.wip/js24
https://bugzilla.gnome.org/show_bug.cgi?id=711046
-rw-r--r-- | gjs/context.cpp | 12 | ||||
-rw-r--r-- | gjs/jsapi-util.cpp | 11 | ||||
-rw-r--r-- | gjs/jsapi-util.h | 3 |
3 files changed, 13 insertions, 13 deletions
diff --git a/gjs/context.cpp b/gjs/context.cpp index 1dfac08b..f5bd933e 100644 --- a/gjs/context.cpp +++ b/gjs/context.cpp @@ -608,18 +608,10 @@ gjs_context_constructor (GType type, */ if (js_version == JSVERSION_UNKNOWN) js_version = JSVERSION_DEFAULT; - /* Set the version if we need to. */ - if (js_version != JSVERSION_DEFAULT && JS_GetVersion(js_context->context) != js_version) { - gjs_debug(GJS_DEBUG_CONTEXT, - "Changing JavaScript version to %s from %s", - JS_VersionToString(js_version), - JS_VersionToString(JS_GetVersion(js_context->context))); - - JS_SetVersion(js_context->context, js_version); - } - if (!gjs_init_context_standard(js_context->context)) + if (!gjs_init_context_standard(js_context->context, js_version)) g_error("Failed to initialize context"); + js_context->global = JS_GetGlobalObject(js_context->context); JSAutoCompartment ac(js_context->context, js_context->global); diff --git a/gjs/jsapi-util.cpp b/gjs/jsapi-util.cpp index 031e7f78..c4beb7e8 100644 --- a/gjs/jsapi-util.cpp +++ b/gjs/jsapi-util.cpp @@ -88,11 +88,18 @@ static JSClass global_class = { * Returns: %TRUE on success, %FALSE otherwise */ gboolean -gjs_init_context_standard (JSContext *context) +gjs_init_context_standard (JSContext *context, + JSVersion js_version) { JSObject *global; + JS::CompartmentOptions options; - global = JS_NewGlobalObject(context, &global_class, NULL); + gjs_debug(GJS_DEBUG_CONTEXT, + "Setting JavaScript version to %s", + JS_VersionToString(js_version)); + + options.setVersion(js_version); + global = JS_NewGlobalObject(context, &global_class, NULL, options); if (global == NULL) return FALSE; diff --git a/gjs/jsapi-util.h b/gjs/jsapi-util.h index a8288738..5c02fe6e 100644 --- a/gjs/jsapi-util.h +++ b/gjs/jsapi-util.h @@ -186,7 +186,8 @@ jsval gjs_##cname##_create_proto(JSContext *context, JSObject *module, const cha return rval; \ } -gboolean gjs_init_context_standard (JSContext *context); +gboolean gjs_init_context_standard (JSContext *context, + JSVersion js_version); JSObject* gjs_get_import_global (JSContext *context); |