search for: jsproperty

Displaying 15 results from an estimated 15 matches for "jsproperty".

2007 Feb 22
0
3 commits - libswfdec/swfdec_js.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c
...s.c index ee5c7b7..b9313c1 100644 --- a/libswfdec/swfdec_js.c +++ b/libswfdec/swfdec_js.c @@ -341,9 +341,16 @@ swfdec_js_eval_set_property (JSContext * if (!atom) return JS_FALSE; if (obj == NULL) { - if (cx->fp == NULL || cx->fp->scopeChain == NULL) + JSObject *pobj; + JSProperty *prop; + if (cx->fp == NULL || cx->fp->varobj == NULL) return JS_FALSE; - obj = cx->fp->thisp; + if (!js_FindProperty (cx, (jsid) atom, &obj, &pobj, &prop)) + return JS_FALSE; + if (pobj) + obj = pobj; + else + obj = cx->fp->varo...
2007 Jan 26
0
Branch 'interpreter' - 9 commits - libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_event.c libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c
...13 100644 --- a/libswfdec/swfdec_js.c +++ b/libswfdec/swfdec_js.c @@ -300,13 +300,13 @@ fail: static JSBool swfdec_js_eval_get_property (JSContext *cx, JSObject *obj, - const char *name, jsval *ret) + const char *name, guint name_len, jsval *ret) { JSAtom *atom; JSObject *pobj; JSProperty *prop; - atom = js_Atomize (cx, name, strlen(name), 0); + atom = js_Atomize (cx, name, name_len, 0); if (!atom) return JS_FALSE; if (obj) { @@ -326,11 +326,11 @@ swfdec_js_eval_get_property (JSContext * static JSBool swfdec_js_eval_set_property (JSContext *cx, JSObject *obj, -...
2007 May 29
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_tag.c player/swfplay.c
...t;frame->stack); + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) + swfdec_as_object_delete_variable (SWFDEC_AS_VALUE_GET_OBJECT (val), name); } static void swfdec_action_delete2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { const char *name; - JSObject *obj, *pobj; - JSProperty *prop; - JSAtom *atom; + SwfdecAsObject *object; - cx->fp->sp -= 1; - name = swfdec_js_to_string (cx, cx->fp->sp[1]); - if (name == NULL) - return JS_FALSE; - if (!(atom = js_Atomize (cx, name, strlen (name), 0)) || - !js_FindProperty (cx, (jsid) atom, &obj, &p...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...&val); - if (id > (((SwfdecScript *) cx->fp->swf)->version > 4 ? 21 : 18)) { - SWFDEC_WARNING ("trying to SetProperty %u, not allowed", id); - goto out; - } - - if (bytes == NULL) - return JS_FALSE; - if (*bytes == '\0') { - JSObject *pobj; - JSProperty *prop; - JSAtom *atom = js_Atomize (cx, properties[id], strlen (properties[id]), 0); - if (atom == NULL) - return JS_FALSE; - if (!js_FindProperty (cx, (jsid) atom, &jsobj, &pobj, &prop)) - return JS_FALSE; - if (!prop) - return JS_FALSE; - if (!OBJ_GET_PRO...
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
...0100 in ActionDelete, only remove one item from the stack, not two diff --git a/libswfdec/swfdec_script.c b/libswfdec/swfdec_script.c index c869e7b..5eda3c1 100644 --- a/libswfdec/swfdec_script.c +++ b/libswfdec/swfdec_script.c @@ -1933,7 +1933,7 @@ swfdec_action_delete2 (JSContext *cx, gu JSProperty *prop; JSAtom *atom; - cx->fp->sp -= 2; + cx->fp->sp -= 1; name = swfdec_js_to_string (cx, cx->fp->sp[1]); if (name == NULL) return JS_FALSE;
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
...ke (cx, n_args, flags); +} + +/* FIXME: lots of overlap with swfdec_action_call_method */ +static void +swfdec_action_call_function (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) +{ + JSStackFrame *fp = cx->fp; + const char *s; + guint32 n_args; + JSObject *obj, *pobj; + JSProperty *prop; + jsval fun; + JSAtom *atom; + + if (!swfdec_script_ensure_stack (cx, 2)) + return JS_FALSE; + s = swfdec_js_to_string (cx, fp->sp[-1]); + if (s == NULL) + return JS_FALSE; + if (!JS_ValueToECMAUint32 (cx, fp->sp[-2], &n_args)) + return JS_FALSE; + + if (!(atom...
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
...RELOAD_PARENT" : ""); + if (script->flags & SWFDEC_SCRIPT_PRELOAD_SUPER) { + SWFDEC_ERROR ("preloading super isn't implemented"); + } + if (script->flags & SWFDEC_SCRIPT_PRELOAD_ROOT) { + JSAtom *atom; + JSObject *obj, *pobj; + JSProperty *prop; + SWFDEC_LOG ("preloading root into register %u", preload_reg); + if (!(atom = js_Atomize (cx, "_root", 5, 0)) || + !js_FindProperty (cx, (jsid) atom, &obj, &pobj, &prop) || + !js_GetProperty (cx, obj, (jsid) atom, &fp->vars[preload...
2007 Feb 01
0
Branch 'interpreter' - 9 commits - libswfdec/js libswfdec/swfdec_script.c libswfdec/swfdec_script.h player/swfdec_debug_stack.c test/trace
...AL_IS_NULL (val)) { + if (JSVAL_IS_OBJECT (val)) { *d = *cx->runtime->jsNaN; return JS_TRUE; } else { @@ -550,8 +550,10 @@ swfdec_action_call_function (JSContext * JSStackFrame *fp = cx->fp; const char *s; guint32 n_args; - JSObject *obj; + JSObject *obj, *pobj; + JSProperty *prop; jsval fun; + JSAtom *atom; s = swfdec_js_to_string (cx, fp->sp[-1]); if (s == NULL) @@ -561,7 +563,9 @@ swfdec_action_call_function (JSContext * if (n_args + 2 > (guint) (fp->sp - fp->spbase)) return JS_FALSE; - obj = OBJ_THIS_OBJECT (cx, cx->fp->...
2007 Jan 24
0
Branch 'interpreter' - 8 commits - libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_js.c libswfdec/swfdec_js.h libswfdec/swfdec_script.c test/swfdec_out.c test/swfdec_out.h test/swfedit_tag.c test/swfedit_token.c test/swfedit_token.h
.... - **/ -jsval -swfdec_js_eval (JSContext *cx, JSObject *obj, const char *str, - gboolean ignore_case) +static JSBool +swfdec_js_eval_set_property (JSContext *cx, JSObject *obj, + const char *name, gboolean initial, gboolean ignore_case, jsval *ret) +{ + JSAtom *atom; + JSObject *pobj; + JSProperty *prop; + + atom = js_Atomize (cx, name, strlen(name), ignore_case ? ATOM_NOCASE : 0); + if (!atom) + return JS_FALSE; + if (initial) { + return OBJ_SET_PROPERTY (cx, obj, (jsid) atom, ret); + } else { + if (!js_FindProperty (cx, (jsid) atom, &obj, &pobj, &prop)) + retu...
2007 Mar 05
0
11 commits - configure.ac libswfdec/swfdec_js_movie.c libswfdec/swfdec_root_movie.c libswfdec/swfdec_root_movie.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_swf_decoder.c
....7f0a833 100644 --- a/libswfdec/swfdec_script.c +++ b/libswfdec/swfdec_script.c @@ -1763,6 +1763,26 @@ swfdec_action_delete (JSContext *cx, gui } static JSBool +swfdec_action_delete2 (JSContext *cx, guint action, const guint8 *data, guint len) +{ + const char *name; + JSObject *obj, *pobj; + JSProperty *prop; + JSAtom *atom; + + cx->fp->sp -= 2; + name = swfdec_js_to_string (cx, cx->fp->sp[1]); + if (name == NULL) + return JS_FALSE; + if (!(atom = js_Atomize (cx, name, strlen (name), 0)) || + !js_FindProperty (cx, (jsid) atom, &obj, &pobj, &prop)) + retur...
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
...arse slash-notated string \"%s\" into dot notation", slash_str); - g_string_free (str, TRUE); - return NULL; -} - -static JSBool -swfdec_js_eval_get_property (JSContext *cx, JSObject *obj, - const char *name, guint name_len, jsval *ret) -{ - JSAtom *atom; - JSObject *pobj; - JSProperty *prop; - - atom = js_Atomize (cx, name, name_len, 0); - if (!atom) - return JS_FALSE; - if (obj) { - return OBJ_GET_PROPERTY (cx, obj, (jsid) atom, ret); - } else { - if (cx->fp == NULL || cx->fp->scopeChain == NULL) - return JS_FALSE; - if (!js_FindProperty (cx, (jsid...
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
...AL_IS_NULL (val)) { + if (JSVAL_IS_OBJECT (val)) { *d = *cx->runtime->jsNaN; return JS_TRUE; } else { @@ -550,8 +550,10 @@ swfdec_action_call_function (JSContext * JSStackFrame *fp = cx->fp; const char *s; guint32 n_args; - JSObject *obj; + JSObject *obj, *pobj; + JSProperty *prop; jsval fun; + JSAtom *atom; s = swfdec_js_to_string (cx, fp->sp[-1]); if (s == NULL) @@ -561,7 +563,9 @@ swfdec_action_call_function (JSContext * if (n_args + 2 > (guint) (fp->sp - fp->spbase)) return JS_FALSE; - obj = OBJ_THIS_OBJECT (cx, cx->fp->...
2007 Jan 25
0
Branch 'interpreter' - 28 commits - configure.ac libswfdec/js libswfdec/swfdec_buffer.c libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_player.c
...b/libswfdec/swfdec_js.c @@ -300,29 +300,26 @@ fail: static JSBool swfdec_js_eval_get_property (JSContext *cx, JSObject *obj, - const char *name, gboolean initial, jsval *ret) + const char *name, gboolean initial, gboolean ignore_case, jsval *ret) { JSAtom *atom; JSObject *pobj; JSProperty *prop; - if (!JS_GetProperty (cx, obj, name, ret)) - return JS_FALSE; - if (!JSVAL_IS_VOID (*ret)) - return JS_TRUE; - if (!initial) - return JS_FALSE; - - atom = js_Atomize(cx, name, strlen(name), 0); + atom = js_Atomize (cx, name, strlen(name), ignore_case ? ATOM_NOCASE : 0);...
2007 Mar 12
0
11 commits - libswfdec/js libswfdec/swfdec_loader.c libswfdec/swfdec_root_sprite.c libswfdec/swfdec_script.c player/swfdebug.c player/swfdec_player_manager.c test/trace
...ct *obj) { - jsint i, n; + jsuint i; + jsint n; jsval iter_state, num_properties; jsid id; JSIdArray *ida; diff --git a/libswfdec/js/jsapi.h b/libswfdec/js/jsapi.h index 9cc1dd0..28dcbfa 100644 --- a/libswfdec/js/jsapi.h +++ b/libswfdec/js/jsapi.h @@ -813,7 +813,7 @@ struct JSProperty { }; struct JSIdArray { - jsint length; + jsuint length; jsid vector[1]; /* actually, length jsid words */ }; diff --git a/libswfdec/js/jsinterp.c b/libswfdec/js/jsinterp.c index 121962f..fbf54b8 100644 --- a/libswfdec/js/jsinterp.c +++ b/libswfdec/js/jsinterp.c @@ -1205,7 +12...
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
...J_GET_PROPERTY (cx, obj, (jsid) prop->id, ret); +#endif + } +} + +static void +swfdec_as_context_eval_set_property (SwfdecAsContext *cx, + SwfdecAsObject *obj, const char *name, const SwfdecAsValue *ret) +{ + if (obj == NULL) { + g_assert_not_reached (); +#if 0 + JSObject *pobj; + JSProperty *prop; + if (cx->fp == NULL || cx->fp->varobj == NULL) + return JS_FALSE; + if (!js_FindProperty (cx, (jsid) atom, &obj, &pobj, &prop)) + return JS_FALSE; + if (pobj) + obj = pobj; + else + obj = cx->fp->varobj; +#endif + } + return swfde...