Displaying 20 results from an estimated 22 matches for "js_setproperty".
Did you mean:
js_getproperty
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 Jan 31
0
Branch 'interpreter' - 3 commits - libswfdec/js libswfdec/swfdec_script.c
...int action, const guint8 *data, guint len)
+{
+ const char *name;
+
+ if (cx->fp->callobj == NULL) {
+ SWFDEC_ERROR ("FIXME: no local scope");
+ return JS_FALSE;
+ }
+ name = swfdec_js_to_string (cx, cx->fp->sp[-2]);
+ if (name == NULL)
+ return JS_FALSE;
+ if (!JS_SetProperty (cx, cx->fp->callobj, name, &cx->fp->sp[-1]))
+ return JS_FALSE;
+ cx->fp->sp -= 2;
+ return JS_TRUE;
+}
+
+static JSBool
+swfdec_action_define_local2 (JSContext *cx, guint action, const guint8 *data, guint len)
+{
+ const char *name;
+ jsval val = JSVAL_VOID;
+
+ if (...
2007 Feb 19
0
22 commits - libswfdec/js libswfdec/swfdec_debugger.c libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_script.c
...ript.c
@@ -1643,11 +1643,11 @@ swfdec_action_define_local (JSContext *c
{
const char *name;
- g_assert (cx->fp->callobj != NULL);
+ g_assert (cx->fp->scopeChain != NULL);
name = swfdec_js_to_string (cx, cx->fp->sp[-2]);
if (name == NULL)
return JS_FALSE;
- if (!JS_SetProperty (cx, cx->fp->callobj, name, &cx->fp->sp[-1]))
+ if (!JS_SetProperty (cx, cx->fp->scopeChain, name, &cx->fp->sp[-1]))
return JS_FALSE;
cx->fp->sp -= 2;
return JS_TRUE;
@@ -1659,11 +1659,11 @@ swfdec_action_define_local2 (JSContext *
const char *na...
2007 Mar 01
0
7 commits - libswfdec/swfdec_connection.c libswfdec/swfdec_js_connection.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h
...jsobj = swfdec_scriptable_get_object (script);
val = OBJECT_TO_JSVAL (jsobj);
@@ -1138,7 +1139,11 @@ swfdec_js_movie_add_property (SwfdecMovi
jsobj = SWFDEC_ROOT_MOVIE (movie)->player->jsobj;
SWFDEC_LOG ("setting %s as property for _global", movie->name);
}
- JS_SetProperty (cx, jsobj, movie->name, &val);
+ if (!JS_SetProperty (cx, jsobj, movie->name, &val) ||
+ !JS_SetPropertyAttributes (cx, jsobj, movie->name, JSPROP_READONLY | JSPROP_PERMANENT, &found) ||
+ found != JS_TRUE) {
+ SWFDEC_ERROR ("could not set property %s correc...
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
...')
+ val = OBJECT_TO_JSVAL (cx->fp->varobj);
+ movie = swfdec_scriptable_from_jsval (cx, val, SWFDEC_TYPE_MOVIE);
+ if (movie == NULL) {
+ SWFDEC_WARNING ("specified target does not reference a movie clip");
+ goto out;
+ }
+ jsobj = JSVAL_TO_OBJECT (val);
+
+ if (!JS_SetProperty (cx, jsobj, properties[id], &cx->fp->sp[-1]))
+ return JS_FALSE;
+
+out:
+ cx->fp->sp -= 3;
+ return JS_TRUE;
+}
+
+static void
+swfdec_action_binary (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ jsval lval, rval;
+ double l, r;
+
+ rval = cx->fp...
2007 Mar 11
0
10 commits - libswfdec/js libswfdec/swfdec_js_color.c libswfdec/swfdec_js_connection.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_js_video.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_script.c player/.gitignore
...script.c
index 50dbf2b..8c24c5d 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -1684,7 +1684,7 @@ swfdec_action_define_function (JSContext
*cx->fp->sp++ = OBJECT_TO_JSVAL (fun->object);
} else {
jsval val = OBJECT_TO_JSVAL (fun->object);
- if (!JS_SetProperty (cx, cx->fp->thisp, function_name, &val))
+ if (!JS_SetProperty (cx, cx->fp->scopeChain, function_name, &val))
return JS_FALSE;
}
diff-tree 41a55370d4636e6bb3d39e0e6a3f1af1438df5db (from b86811135dd32ae460e5082f4f986664de624b89)
Author: Benjamin Otte <otte@gnom...
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
...ct (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_SetProperty (cx, object, s, &fp->sp[-2 - 2 * i]))
- return JS_FALSE;
+ const char *s = swfdec_as_value_to_string (cx, swfdec_as_stack_peek (stack, 2));
+ swfdec_as_object_set_variable (object, s, swfdec_as_stack_peek (stack, 1));
+ swfdec_as_stack_pop_n (stack, 2);
}
- fp->sp -= 2 *...
2007 Feb 22
0
3 commits - libswfdec/swfdec_js.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c
...cx->fp->sp[-2], &id))
- return JS_FALSE;
-
- if (id > (((SwfdecScript *) cx->fp->swf)->version > 4 ? 21 : 18))
- goto out;
-
- if (!(jsobj = swfdec_scriptable_get_object (SWFDEC_SCRIPTABLE (movie))))
- return JS_FALSE;
+ jsobj = JSVAL_TO_OBJECT (val);
if (!JS_SetProperty (cx, jsobj, properties[id], &cx->fp->sp[-1]))
return JS_FALSE;
@@ -1256,13 +1278,6 @@ swfdec_action_do_set_target (JSContext *
/* FIXME: this whole function stops working the moment it's used together
* with With */
- if (target == cx->fp->scopeChain)
- retu...
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 = OBJECT_TO_JSVAL (cx->fp->varobj);
- movie = swfdec_scriptable_from_jsval (cx, val, SWFDEC_TYPE_MOVIE);
- if (movie == NULL) {
- SWFDEC_WARNING ("specified target does not reference a movie clip");
- goto out;
- }
- jsobj = JSVAL_TO_OBJECT (val);
-
- if (!JS_SetProperty (cx, jsobj, properties[id], &cx->fp->sp[-1]))
- return JS_FALSE;
-
-out:
- cx->fp->sp -= 3;
- return JS_TRUE;
+ swfdec_as_stack_pop (cx->frame->stack);
}
+#if 0
static void
swfdec_action_binary (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
@@...
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
...variable (JSContext *cx, guint action, const guint8 *data, guint len)
+{
+ const char *s;
+
+ s = swfdec_js_to_string (cx, cx->fp->sp[-2]);
+ if (s == NULL)
+ return JS_FALSE;
+
+ if (strpbrk (s, "./:")) {
+ SWFDEC_WARNING ("FIXME: implement paths");
+ }
+ if (!JS_SetProperty (cx, cx->fp->scopeChain, s, &cx->fp->sp[-1]))
+ return JS_FALSE;
+ cx->fp->sp -= 2;
return JS_TRUE;
}
@@ -425,7 +444,8 @@ swfdec_eval_jsval (JSContext *cx, JSObje
const char *bytes = swfdec_js_to_string (cx, *val);
if (bytes == NULL)
return JS_FALSE;...
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
...sval 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)
+ return;
+ val = STRING_TO_JSVAL (string);
+ if (!JS_SetProperty (cx, object, "level", &val))
+ return;
+
+ val = OBJECT_TO_JSVAL (object);
+ swfdec_scriptable_...
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
...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_TO_JSVAL (string)) == 0 ||
+ !JS_SetProperty (cx, info, "level", &val))
+ return;
+ if (description) {
+ if ((string = JS_NewStringCopyZ (cx, level)) =...
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
...return TRUE;
+ break;
if (type >= SWFDEC_AMF_N_TYPES ||
(func = parse_funcs[type]) == NULL) {
SWFDEC_ERROR ("no parse func for AMF type %u", type);
- return FALSE;
+ goto error;
}
- if (!func (cx, bits, &val))
- return FALSE;
- if (!JS_SetProperty (cx, object, JS_GetStringBytes (JSVAL_TO_STRING (id)), &val))
- return FALSE;
+ swfdec_as_object_set_variable (object, &id, &id); /* GC... */
+ if (!func (context, bits, &val)) {
+ goto error;
+ }
+ swfdec_as_object_set_variable (object, &id, &val); /*...
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
...g_free (value);
- break;
- }
- string = JS_NewStringCopyZ (script->jscx, value);
- if (string == NULL) {
- g_free (name);
- g_free (value);
- SWFDEC_ERROR ("could not create string");
- break;
- }
- val = STRING_TO_JSVAL (string);
- if (!JS_SetProperty (script->jscx, object, name, &val)) {
- g_free (name);
- g_free (value);
- SWFDEC_ERROR ("error setting property \"%s\"", name);
- break;
- }
- SWFDEC_DEBUG ("Set variable \"%s\" to \"%s\"", name, value);
- g_free...
2007 Feb 17
0
8 commits - configure.ac doc/swfdec-sections.txt libswfdec/swfdec_loader.c libswfdec/swfdec_player.c libswfdec/swfdec_player.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h
...e);
+ break;
+ }
+ variables++;
+ string = JS_NewStringCopyZ (script->jscx, value);
+ if (string == NULL) {
+ g_free (name);
+ g_free (value);
+ SWFDEC_ERROR ("could not create string");
+ break;
+ }
+ val = STRING_TO_JSVAL (string);
+ if (!JS_SetProperty (script->jscx, object, name, &val)) {
+ g_free (name);
+ g_free (value);
+ SWFDEC_ERROR ("error setting property \"%s\"", name);
+ break;
+ }
+ SWFDEC_DEBUG ("Set variable \"%s\" to \"%s\"", name, value);
+ g_free...
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
...== NULL)
+ return;
+ SWFDEC_LOG ("setting %s as property for %s", movie->name,
+ movie->parent->name);
+ } else {
+ jsobj = SWFDEC_ROOT_MOVIE (movie)->player->jsobj;
+ SWFDEC_LOG ("setting %s as property for _global", movie->name);
+ }
+ if (!JS_SetProperty (cx, jsobj, movie->name, &val) ||
+ !JS_SetPropertyAttributes (cx, jsobj, movie->name, JSPROP_READONLY | JSPROP_PERMANENT, &found) ||
+ found != JS_TRUE) {
+ SWFDEC_ERROR ("could not set property %s correctly", movie->name);
+ }
+}
+
+static void
+swfdec_js_...
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
...>str ? text->str : "");
- string = JS_NewStringCopyZ (player->jscx, text->str ? text->str : "");
+ string = JS_NewStringCopyZ (parent->jscx, text->str ? text->str : "");
if (string == NULL)
return;
val = STRING_TO_JSVAL (string);
- JS_SetProperty (player->jscx, object, text->text->variable_name, &val);
+ JS_SetProperty (parent->jscx, jsobj, text->text->variable_name, &val);
}
static void
diff --git a/libswfdec/swfdec_js.c b/libswfdec/swfdec_js.c
index 3824fb6..4ce01a5 100644
--- a/libswfdec/swfdec_js.c
+++ b/l...
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
...c4c81..32af30e 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -329,11 +329,8 @@ swfdec_action_set_variable (JSContext *c
if (s == NULL)
return JS_FALSE;
- if (strpbrk (s, "./:")) {
- SWFDEC_WARNING ("FIXME: implement paths");
- }
- if (!JS_SetProperty (cx, cx->fp->scopeChain, s, &cx->fp->sp[-1]))
- return JS_FALSE;
+ swfdec_js_eval_set (cx, cx->fp->scopeChain, s, cx->fp->sp[-1],
+ ((SwfdecScript *) cx->fp->swf)->version < 7);
cx->fp->sp -= 2;
return JS_TRUE;
}
diff-tree 9dab0726ed4e3...
2007 Mar 07
0
13 commits - libswfdec/Makefile.am libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_root_movie.c libswfdec/swfdec_root_movie.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c
...ions (player->jscx, player->jsobj, global_methods)) {
- SWFDEC_ERROR ("failed to initialize global methods");
+ JSBool found = JS_FALSE;
+ jsval val = OBJECT_TO_JSVAL (player->jsobj);
+
+ if (!JS_DefineFunctions (player->jscx, player->jsobj, global_methods) ||
+ !JS_SetProperty (player->jscx, player->jsobj, "_global", &val) ||
+ !JS_SetPropertyAttributes (player->jscx, player->jsobj, "_global",
+ JSPROP_READONLY | JSPROP_PERMANENT, &found) ||
+ found != JS_TRUE) {
+ SWFDEC_ERROR ("failed to initialize global obje...
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
...int action, const guint8 *data, guint len)
{
@@ -1207,7 +1234,9 @@ swfdec_action_define_function (JSContext
}
*cx->fp->sp++ = OBJECT_TO_JSVAL (fun->object);
} else {
- SWFDEC_ERROR ("FIXME: implement");
+ jsval val = OBJECT_TO_JSVAL (fun->object);
+ if (!JS_SetProperty (cx, OBJ_THIS_OBJECT (cx, cx->fp->scopeChain), function_name, &val))
+ return JS_FALSE;
}
/* update current context */
@@ -1215,6 +1244,36 @@ swfdec_action_define_function (JSContext
return JS_TRUE;
}
+static JSBool
+swfdec_action_shift (JSContext *cx, guint action, con...