search for: js_newobject

Displaying 18 results from an estimated 18 matches for "js_newobject".

2007 Mar 05
0
5 commits - libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c test/trace
...sval constructor, proto; JSObject *object; const JSClass *clasp; guint n_args; @@ -1414,7 +1414,12 @@ swfdec_action_new_object (JSContext *cx, if (JS_GetClass (object) != &js_FunctionClass) goto fail; clasp = ((JSFunction *) JS_GetPrivate (cx, object))->clasp; - object = JS_NewObject (cx, clasp, NULL, NULL); + if (!JS_GetProperty (cx, object, "prototype", &proto)) + return JS_FALSE; + if (!JSVAL_IS_OBJECT (proto)) { + SWFDEC_ERROR ("prototype of %s is not an object", name); + } + object = JS_NewObject (cx, clasp, JSVAL_IS_OBJECT (proto) ? JSVAL...
2007 Jan 16
0
9 commits - libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_audio_stream.c libswfdec/swfdec_audio_stream.h libswfdec/swfdec_cache.c libswfdec/swfdec_cached.c libswfdec/swfdec_cached.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_image.c
...**/ -gboolean -swfdec_js_add_movie (SwfdecMovie *movie) -{ - JSContext *cx; - GList *walk; - - g_return_val_if_fail (SWFDEC_IS_MOVIE (movie), FALSE); - g_return_val_if_fail (movie->jsobj == NULL, FALSE); - - cx = SWFDEC_ROOT_MOVIE (movie->root)->player->jscx; - - movie->jsobj = JS_NewObject (cx, &movieclip_class, NULL, NULL); - if (movie->jsobj == NULL) { - SWFDEC_ERROR ("failed to create JS object for movie %p", movie); - return FALSE; - } - SWFDEC_LOG ("created JSObject %p for movie %p", movie->jsobj, movie); - g_object_ref (movie); - JS_SetP...
2007 Mar 09
0
17 commits - libswfdec/js libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c
...(!JS_ValueToECMAUint32 (cx, fp->sp[-1], &n_args)) return JS_FALSE; - if ((guint) (fp->sp - fp->spbase) < 2 * n_args + 1) { - SWFDEC_ERROR ("not enough stack space"); + if (!swfdec_script_ensure_stack (cx, 2 * n_args + 1)) return JS_FALSE; - } object = JS_NewObject (cx, &js_ObjectClass, NULL, NULL); if (object == NULL) @@ -1519,10 +1553,8 @@ swfdec_action_init_array (JSContext *cx, if (!JS_ValueToECMAUint32 (cx, fp->sp[-1], &n_items)) return JS_FALSE; - if ((guint) (fp->sp - fp->spbase) < n_items + 1) { - SWFDEC_ERROR (&qu...
2007 Jan 29
0
Branch 'interpreter' - 18 commits - libswfdec/swfdec_image.c libswfdec/swfdec_image.h libswfdec/swfdec_js.c libswfdec/swfdec_js_color.c libswfdec/swfdec_js_sound.c libswfdec/swfdec_pattern.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_script.c
...->fp; + JSObject *object; + guint i, n_args; + + if (!JS_ValueToECMAUint32 (cx, fp->sp[-1], &n_args)) + return JS_FALSE; + if ((guint) (fp->sp - fp->spbase) < 2 * n_args + 1) { + SWFDEC_ERROR ("not enough stack space"); + return JS_FALSE; + } + + object = JS_NewObject (cx, &js_ObjectClass, NULL, NULL); + if (object == NULL) + return JS_FALSE; + for (i = 0; i < n_args; i++) { + const char *s = swfdec_js_to_string (cx, fp->sp[-3 - 2 * i]); + if (s == NULL) + return JS_FALSE; + if (!JS_SetProperty (cx, object, s, &fp->sp[-2 - 2 *...
2007 Mar 14
0
10 commits - libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_flv_decoder.h libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_loadertarget.c
..."swfdec_loadertarget.h" +#include "js/jsapi.h" static void +swfdec_net_stream_onstatus (SwfdecNetStream *stream, const char *code, const char *level) +{ + jsval val; + JSString *string; + JSObject *object; + JSContext *cx; + + cx = stream->player->jscx; + object = JS_NewObject (cx, NULL, NULL, NULL); + if (!object) + return; + string = JS_NewStringCopyZ (cx, code); + if (!string) + return; + val = STRING_TO_JSVAL (string); + if (!JS_SetProperty (cx, object, "code", &val)) + return; + string = JS_NewStringCopyZ (cx, level); + if (!string) +...
2007 Mar 07
1
2 commits - libswfdec/swfdec_script.c test/trace
libswfdec/swfdec_script.c | 14 ++++++++++++-- test/trace/Makefile.am | 2 ++ test/trace/gotoframe.swf |binary test/trace/gotoframe.swf.trace | 13 +++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) New commits: diff-tree 12348410a3509928a6e8e4c8ca00292a58ff542c (from 46e62d4410c20c19774a45758d8ebf11cd0bdf96) Author: Benjamin Otte <otte@gnome.org>
2007 May 23
0
Branch 'as' - 7 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c
...return JS_FALSE; + n_args = swfdec_as_value_to_integer (cx, swfdec_as_stack_pop (stack)); + if (n_args * 2 < swfdec_as_stack_get_size (stack)) { + SWFDEC_FIXME ("InitObject action with too small stack, help!"); + n_args = swfdec_as_stack_get_size (stack) / 2; + } - object = JS_NewObject (cx, &js_ObjectClass, NULL, NULL); + object = swfdec_as_object_new (cx); if (object == NULL) - return JS_FALSE; + return; for (i = 0; i < n_args; i++) { - const char *s = swfdec_js_to_string (cx, fp->sp[-3 - 2 * i]); - if (s == NULL) - return JS_FALSE; - if (!JS...
2007 Feb 22
0
3 commits - libswfdec/swfdec_js.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c
...* with With */ - if (target == cx->fp->scopeChain) - return JS_TRUE; - if (target == cx->fp->thisp) { - /* FIXME: will probably break once SetTarget is called inside DefineFunctions */ - cx->fp->scopeChain = cx->fp->thisp; - return JS_TRUE; - } with = js_NewObject(cx, &js_WithClass, target, cx->fp->scopeChain); if (!with) return JS_FALSE; @@ -1271,6 +1286,17 @@ swfdec_action_do_set_target (JSContext * } static JSBool +swfdec_action_do_unset_target (JSContext *cx) +{ + if (JS_GetClass (cx->fp->scopeChain) != &js_WithClass) { +...
2007 Mar 20
0
9 commits - configure.ac libswfdec/swfdec_bits.c libswfdec/swfdec_debug.c libswfdec/swfdec_js.c libswfdec/swfdec_script.c libswfdec/swfdec_sound.c
..._getenv ("SWFDEC_JS"), "full")) - player->jscx->tracefp = stderr; - JS_SetInterrupt (swfdec_js_runtime, swfdec_js_debug_one, NULL); JS_SetErrorReporter (player->jscx, swfdec_js_error_report); JS_SetContextPrivate(player->jscx, player); player->jsobj = JS_NewObject (player->jscx, &global_class, NULL, NULL); @@ -143,23 +129,6 @@ swfdec_js_finish_player (SwfdecPlayer *p } } -static void -swfdec_disassemble (SwfdecPlayer *player, JSScript *script) -{ - guint i; - - for (i = 0; i < script->length; i ++) { - g_print ("%02X ", scri...
2007 Jul 13
0
4 commits - configure.ac libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_object.h libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h NEWS
...ject * -swfdec_scriptable_create_js_object (SwfdecScriptable *scriptable) -{ - SwfdecScriptableClass *klass; - JSContext *cx; - JSObject *obj; - - klass = SWFDEC_SCRIPTABLE_GET_CLASS (scriptable); - g_return_val_if_fail (klass->jsclass != NULL, NULL); - cx = scriptable->jscx; - - obj = JS_NewObject (cx, (JSClass *) klass->jsclass, NULL, NULL); - if (obj == NULL) { - SWFDEC_ERROR ("failed to create JS object for %s %p", - G_OBJECT_TYPE_NAME (scriptable), scriptable); - return NULL; - } - SWFDEC_LOG ("created JSObject %p for %s %p", obj, - G_OBJECT_TYPE_NA...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...sp--; + cx->fp->sp[-1] = BOOLEAN_TO_JSVAL (cond); + return JS_TRUE; +} + +static void +swfdec_action_do_set_target (SwfdecAsContext *cx, JSObject *target) +{ + JSObject *with; + + /* FIXME: this whole function stops working the moment it's used together + * with With */ + with = js_NewObject(cx, &js_WithClass, target, cx->fp->scopeChain); + if (!with) + return JS_FALSE; + cx->fp->scopeChain = with; + return JS_TRUE; +} + +static void +swfdec_action_do_unset_target (SwfdecAsContext *cx) +{ + if (JS_GetClass (cx->fp->scopeChain) != &js_WithClass) { + S...
2007 Jun 27
0
Branch 'as' - 16 commits - configure.ac libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.c
...swfdec_js_runtime, 8192); - if (player->jscx == NULL) { - SWFDEC_ERROR ("did not get a JS context, trying to live without"); - return; - } - - JS_SetErrorReporter (player->jscx, swfdec_js_error_report); - JS_SetContextPrivate(player->jscx, player); - player->jsobj = JS_NewObject (player->jscx, &global_class, NULL, NULL); - if (player->jsobj == NULL) { - SWFDEC_ERROR ("creating the global object failed"); - swfdec_js_finish_player (player); - return; - } - if (!JS_InitStandardClasses (player->jscx, player->jsobj)) { - SWFDEC_ERROR (&...
2007 Mar 15
0
11 commits - libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_event.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c
...8 100644 --- a/libswfdec/swfdec_net_stream.c +++ b/libswfdec/swfdec_net_stream.c @@ -36,6 +36,7 @@ swfdec_net_stream_onstatus (SwfdecNetStr JSObject *object; JSContext *cx; + SWFDEC_INFO ("emitting onStatus for %s %s", level, code); cx = stream->player->jscx; object = JS_NewObject (cx, NULL, NULL, NULL); if (!object) diff-tree 78a3f9774427296b4382492369dec48c6a427c20 (from 165ab93606a6387834d2cc513085f02d8df3ac8e) Author: Benjamin Otte <otte@gnome.org> Date: Thu Mar 15 19:06:35 2007 +0100 add swfdec_debugger_run and replace swfdebug's run command with it...
2007 Apr 04
0
Branch 'as' - 17 commits - configure.ac doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt doc/swfdec.types libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_loader.h
...wfdec_as_object_unroot (object); + return FALSE; } static gboolean -swfdec_amf_parse_object (JSContext *cx, SwfdecBits *bits, jsval *val) +swfdec_amf_parse_object (SwfdecAsContext *context, SwfdecBits *bits, SwfdecAsValue *val) { - JSObject *object; + SwfdecAsObject *object; - object = JS_NewObject (cx, NULL, NULL, NULL); + object = swfdec_as_object_new (context); if (object == NULL) return FALSE; - - *val = OBJECT_TO_JSVAL (object); - return swfdec_amf_parse_properties (cx, bits, val); + if (!swfdec_amf_parse_properties (context, bits, object)) + return FALSE; + SWFDEC_AS_VAL...
2007 Apr 12
0
Branch 'as' - 15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c
...ext * cx->fp->sp[-1] = BOOLEAN_TO_JSVAL (cond); return JS_TRUE; } - -static void -swfdec_action_do_set_target (SwfdecAsContext *cx, JSObject *target) -{ - JSObject *with; - - /* FIXME: this whole function stops working the moment it's used together - * with With */ - with = js_NewObject(cx, &js_WithClass, target, cx->fp->scopeChain); - if (!with) - return JS_FALSE; - cx->fp->scopeChain = with; - return JS_TRUE; -} - -static void -swfdec_action_do_unset_target (SwfdecAsContext *cx) -{ - if (JS_GetClass (cx->fp->scopeChain) != &js_WithClass) { - S...
2007 Mar 01
0
11 commits - libswfdec/Makefile.am libswfdec/swfdec_connection.c libswfdec/swfdec_connection.h libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_js.c libswfdec/swfdec_js_connection.c libswfdec/swfdec_js.h libswfdec/swfdec_js_net_stream.c
...{ + JSContext *cx = SWFDEC_SCRIPTABLE (conn)->jscx; + JSObject *obj = SWFDEC_SCRIPTABLE (conn)->jsobj; + JSObject *info; + jsval val, fun; + JSString *string; + + if (!JS_GetProperty (cx, obj, "onStatus", &fun)) + return; + if (fun == JSVAL_VOID) + return; + info = JS_NewObject (cx, NULL, NULL, NULL); + if (info == NULL || + (string = JS_NewStringCopyZ (cx, code)) == NULL || + (val = STRING_TO_JSVAL (string)) == 0 || + !JS_SetProperty (cx, info, "code", &val) || + (string = JS_NewStringCopyZ (cx, level)) == NULL || + (val = STRING_T...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...6) | ((movie->color_transform.gb % 256) << 8) | (movie->color_transform.bb % 256); @@ -55,7 +56,8 @@ swfdec_js_color_get_transform (JSContext JSObject *ret; SwfdecMovie *movie = JS_GetPrivate (cx, obj); - g_assert (movie); + if (!movie) + return JS_TRUE; ret = JS_NewObject (cx, NULL, NULL, NULL); if (ret == NULL) return JS_TRUE; @@ -78,7 +80,8 @@ swfdec_js_color_set_rgb (JSContext *cx, unsigned int color; SwfdecMovie *movie = JS_GetPrivate (cx, obj); - g_assert (movie); + if (!movie) + return JS_TRUE; if (!JS_ValueToECMAUint32 (cx, argv[0], &...
2007 Jan 31
0
Branch 'interpreter' - 20 commits - autogen.sh configure.ac libswfdec/js libswfdec/swfdec_debug.h libswfdec/swfdec_js.c libswfdec/swfdec_js_color.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_script.c
...6) | ((movie->color_transform.gb % 256) << 8) | (movie->color_transform.bb % 256); @@ -55,7 +56,8 @@ swfdec_js_color_get_transform (JSContext JSObject *ret; SwfdecMovie *movie = JS_GetPrivate (cx, obj); - g_assert (movie); + if (!movie) + return JS_TRUE; ret = JS_NewObject (cx, NULL, NULL, NULL); if (ret == NULL) return JS_TRUE; @@ -78,7 +80,8 @@ swfdec_js_color_set_rgb (JSContext *cx, unsigned int color; SwfdecMovie *movie = JS_GetPrivate (cx, obj); - g_assert (movie); + if (!movie) + return JS_TRUE; if (!JS_ValueToECMAUint32 (cx, argv[0], &...