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...