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], &...