summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Lunn <tim@feathertop.org>2013-10-01 09:23:48 +1000
committerTim Lunn <tim@feathertop.org>2013-11-09 07:30:59 +1100
commita3241ac8520053dbf3185c8f171c7a6d81487b52 (patch)
treea7142bd5a49b2b7a8de11b682fc4b4c1f86946a9
parente82315c477e2a95e914555db575facfaa1893311 (diff)
downloadgjs-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.cpp12
-rw-r--r--gjs/jsapi-util.cpp11
-rw-r--r--gjs/jsapi-util.h3
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);