search for: js_getprivate

Displaying 20 results from an estimated 26 matches for "js_getprivate".

2007 Mar 22
0
7 commits - configure.ac doc/swfdec-docs.sgml libswfdec/js libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h libswfdec/swfdec_js_movie.c test/trace
...failure but silently return diff --git a/libswfdec/swfdec_js_movie.c b/libswfdec/swfdec_js_movie.c index 2d9b1a1..3f6333c 100644 --- a/libswfdec/swfdec_js_movie.c +++ b/libswfdec/swfdec_js_movie.c @@ -116,7 +116,11 @@ mc_play (JSContext *cx, JSObject *obj, u { SwfdecMovie *movie; - movie = JS_GetPrivate(cx, obj); + movie = swfdec_scriptable_from_object (cx, obj, SWFDEC_TYPE_MOVIE); + if (movie == NULL) { + SWFDEC_WARNING ("not a movie"); + return JS_TRUE; + } g_assert (movie); movie->stopped = FALSE; @@ -128,8 +132,11 @@ mc_stop (JSContext *cx, JSObject *obj, u {...
2007 Mar 05
0
5 commits - libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c test/trace
...ckFrame *fp = cx->fp; - jsval constructor; + jsval 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_New...
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
...e "swfdec_js.h" -#include "swfdec_debug.h" -#include "swfdec_movie.h" -#include "swfdec_player_internal.h" - -static JSBool -swfdec_js_color_get_rgb (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) -{ - int result; - SwfdecMovie *movie = JS_GetPrivate (cx, obj); - - if (!movie) - return JS_TRUE; - result = (movie->color_transform.rb << 16) | - ((movie->color_transform.gb % 256) << 8) | - (movie->color_transform.bb % 256); - *rval = INT_TO_JSVAL (result); - return JS_TRUE; -} - -static inline void -add_variable...
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
...ute it and/or * modify it under the terms of the GNU Lesser General Public @@ -39,30 +39,12 @@ JSBool swfdec_js_global_eval (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); -static void -movie_finalize (JSContext *cx, JSObject *obj) -{ - SwfdecMovie *movie; - - movie = JS_GetPrivate (cx, obj); - /* since we also finalize the class, not everyone has a private object */ - if (movie) { - g_assert (movie->jsobj != NULL); - - SWFDEC_LOG ("destroying JSObject %p for movie %p", obj, movie); - movie->jsobj = NULL; - g_object_unref (movie); - } else { -...
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
...TYPE_SCRIPTABLE), NULL); + + if (object == NULL) + return NULL; + klass = g_type_class_peek (type); + if (klass == NULL) + return NULL; /* class doesn't exist -> no object of this type exists */ + if (!JS_InstanceOf (cx, object, klass->jsclass, NULL)) + return NULL; + return JS_GetPrivate (cx, object); +} + +/** * swfdec_scriptable_from_jsval: * @cx: a #JSContext * @val: the jsval to convert @@ -138,22 +167,14 @@ swfdec_scriptable_get_object (SwfdecScri gpointer swfdec_scriptable_from_jsval (JSContext *cx, jsval val, GType type) { - SwfdecScriptableClass *klass; JSObjec...
2007 Mar 13
0
4 commits - test/swfscript.c
...oid *movieclip); extern void g_free (void *p); JSBool @@ -921,7 +921,7 @@ js_obj_toString(JSContext *cx, JSObject *rval = STRING_TO_JSVAL(cx->runtime->emptyString); return JS_TRUE; } - if (clasp == &movieclip_class) { + if (swfdec_js_is_movieclip (cx, obj)) { void *p = JS_GetPrivate (cx, obj); if (p) { char *path = swfdec_movie_get_path (p);
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
...able_finalize: - * @cx: a #JSContext - * @obj: a #JSObject to finalize - * - * This function is intended to be used as the finalizer in the #JSClass used - * by a scriptable subtype. - **/ -void -swfdec_scriptable_finalize (JSContext *cx, JSObject *obj) -{ - SwfdecScriptable *script; - - script = JS_GetPrivate (cx, obj); - /* since we also finalize the prototype, not everyone has a private object */ - if (script) { - g_assert (SWFDEC_IS_SCRIPTABLE (script)); - g_assert (script->jsobj != NULL); - - SWFDEC_LOG ("destroying JSObject %p for %s %p", obj, - G_OBJECT_TYPE_NAME (script),...
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
...s also fixes the color-new test diff --git a/libswfdec/swfdec_js_color.c b/libswfdec/swfdec_js_color.c index ade8d6a..095abd7 100644 --- a/libswfdec/swfdec_js_color.c +++ b/libswfdec/swfdec_js_color.c @@ -32,7 +32,8 @@ swfdec_js_color_get_rgb (JSContext *cx, int result; SwfdecMovie *movie = JS_GetPrivate (cx, obj); - g_assert (movie); + if (!movie) + return JS_TRUE; result = (movie->color_transform.rb << 16) | ((movie->color_transform.gb % 256) << 8) | (movie->color_transform.bb % 256); @@ -55,7 +56,8 @@ swfdec_js_color_get_transform (JSContext JSObject...
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
...JSVAL (string); + return JS_TRUE; +} + +static JSFunctionSpec net_stream_methods[] = { + { "toString", swfdec_js_net_stream_to_string, 0, 0, 0 }, + {0,0,0,0,0} +}; + +static void +swfdec_js_net_stream_finalize (JSContext *cx, JSObject *obj) +{ + SwfdecNetStream *stream; + + stream = JS_GetPrivate (cx, obj); + if (stream) { + SWFDEC_SCRIPTABLE (stream)->jsobj = NULL; + g_object_unref (stream); + } +} + +static JSClass net_stream_class = { + "NetStream", JSCLASS_HAS_PRIVATE, + JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, + JS_EnumerateSt...
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
...gt; #include <js/jsapi.h> +#include <js/jsinterp.h> /* for JS_IntetrnalCall */ #include "swfdec_js.h" #include "swfdec_movie.h" #include "swfdec_bits.h" @@ -605,11 +606,13 @@ swfdec_js_movie_to_string (JSContext *cx SwfdecMovie *movie; movie = JS_GetPrivate (cx, obj); - g_assert (movie); - - s = swfdec_movie_get_path (movie); - string = JS_NewStringCopyZ (cx, s); - g_free (s); + if (movie) { + s = swfdec_movie_get_path (movie); + string = JS_NewStringCopyZ (cx, s); + g_free (s); + } else { + string = JS_NewStringCopyZ (cx, "[obj...
2007 Mar 21
0
4 commits - libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c player/swfdec_slow_loader.c
...4 --- a/libswfdec/swfdec_js_movie.c +++ b/libswfdec/swfdec_js_movie.c @@ -610,12 +610,26 @@ swfdec_js_getURL (JSContext *cx, JSObjec return JS_TRUE; } +static JSBool +swfdec_js_getDepth (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + SwfdecMovie *movie; + + movie = JS_GetPrivate (cx, obj); + if (!movie) + return JS_TRUE; + + *rval = INT_TO_JSVAL (movie->depth); + return JS_TRUE; +} + static JSFunctionSpec movieclip_methods[] = { { "attachMovie", swfdec_js_movie_attachMovie, 3, 0, 0 }, { "duplicateMovieClip", swfdec_js_movie_duplicateMovi...
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
...hars[nchars] = (jschar)*clazz) != 0) - nchars++, clazz++; - chars[nchars++] = ']'; - chars[nchars] = 0; - - str = js_NewString(cx, chars, nchars, 0); - if (!str) { - JS_free(cx, chars); - return JS_FALSE; + if (clasp == &movieclip_class) { + void *p = JS_GetPrivate (cx, obj); + if (p) { + char *path = swfdec_movie_get_path (p); + str = JS_NewStringCopyZ (cx, path); + g_free (path); + if (!str) + return JS_FALSE; + *rval = STRING_TO_JSVAL(str); + return JS_TRUE; + } } + if (clasp == &js_FunctionClass) { + name = "[type...
2007 Feb 22
0
3 commits - libswfdec/swfdec_js.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_script.c
...al *argv, jsval *rval) { SwfdecMovie *movie; SwfdecDecoder *dec; @@ -101,6 +101,23 @@ mc_getBytesTotal(JSContext *cx, JSObject } static JSBool +mc_getNextHighestDepth (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + SwfdecMovie *movie; + int depth; + + movie = JS_GetPrivate(cx, obj); + if (movie->list) { + depth = SWFDEC_MOVIE (g_list_last (movie->list)->data)->depth + 1; + if (depth < 0) + depth = 0; + } else { + depth = 0; + } + return JS_NewNumberValue (cx, depth, rval); +} + +static JSBool mc_do_goto (JSContext *cx, SwfdecMovie *m...
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
...2007 +0200 merge master diff --git a/libswfdec/swfdec_js_xml.c b/libswfdec/swfdec_js_xml.c index 59632b6..92da66e 100644 --- a/libswfdec/swfdec_js_xml.c +++ b/libswfdec/swfdec_js_xml.c @@ -32,7 +32,7 @@ swfdec_js_xml_load (JSContext *cx, JSObj SwfdecXml *xml; const char *url; - xml = JS_GetPrivate (cx, obj); + xml = swfdec_scriptable_from_object (cx, obj, SWFDEC_TYPE_XML); if (xml == NULL) return JS_TRUE; url = swfdec_js_to_string (cx, argv[0]); diff --git a/player/swfplay.c b/player/swfplay.c index 0c2e062..46737ae 100644 --- a/player/swfplay.c +++ b/player/swfplay.c @@ -122,6 +...
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
...;clear", swfdec_js_video_clear, 0, 0, 0 }, - {0,0,0,0,0} -}; - static void -swfdec_js_video_finalize (JSContext *cx, JSObject *obj) +swfdec_video_clear (SwfdecAsContext *cx, SwfdecAsObject *obj, guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) { - SwfdecVideo *video; - - video = JS_GetPrivate (cx, obj); - if (video) { - SWFDEC_SCRIPTABLE (video)->jsobj = NULL; - g_object_unref (video); - } -} + SwfdecVideoMovie *video = SWFDEC_VIDEO_MOVIE (obj); -const JSClass video_class = { - "Video", JSCLASS_HAS_PRIVATE, - JS_PropertyStub, JS_PropertyStub, JS_PropertyS...
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
...table.h" #include "swfdec_debug.h" +#include "swfdec_loader_internal.h" #include "js/jsapi.h" G_DEFINE_ABSTRACT_TYPE (SwfdecScriptable, swfdec_scriptable, G_TYPE_OBJECT) @@ -154,3 +155,58 @@ swfdec_scriptable_from_jsval (JSContext return NULL; return JS_GetPrivate (cx, object); } + +/** + * swfdec_scriptable_set_variables: + * @script: a #SwfdecScriptable + * @variables: variables to set on @script in application-x-www-form-urlencoded + * format + * + * Verifies @variables to be encoded correctly and sets them as string + * properties on the...
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
...dex 10fde07..dde352d 100644 --- a/libswfdec/swfdec_js_movie.c +++ b/libswfdec/swfdec_js_movie.c @@ -941,6 +941,35 @@ mc_rotation_set (JSContext *cx, JSObject } static JSBool +mc_xmouse_get (JSContext *cx, JSObject *obj, jsval id, jsval *vp) +{ + double x, y; + SwfdecMovie *movie; + + movie = JS_GetPrivate (cx, obj); + g_assert (movie); + + swfdec_movie_get_mouse (movie, &x, &y); + x = rint (x * SWFDEC_TWIPS_SCALE_FACTOR) / SWFDEC_TWIPS_SCALE_FACTOR; + return JS_NewNumberValue (cx, x, vp); +} + +static JSBool +mc_ymouse_get (JSContext *cx, JSObject *obj, jsval id, jsval *vp) +{ + double...
2007 Jun 21
0
Branch 'as' - 5 commits - libswfdec/Makefile.am libswfdec/swfdec_as_strings.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_movie.c libswfdec/swfdec_net_connection.c libswfdec/swfdec_net_stream_as.c libswfdec/swfdec_net_stream.c
...NENT|JSPROP_READONLY, swfdec_js_net_stream_bytes_total, NULL }, - { "time", -1, JSPROP_PERMANENT|JSPROP_READONLY, swfdec_js_net_stream_time, NULL }, - { NULL } -}; - -static void -swfdec_js_net_stream_finalize (JSContext *cx, JSObject *obj) -{ - SwfdecNetStream *stream; - - stream = JS_GetPrivate (cx, obj); - if (stream) { - SWFDEC_SCRIPTABLE (stream)->jsobj = NULL; - g_object_unref (stream); - } -} - -const JSClass net_stream_class = { - "NetStream", JSCLASS_HAS_PRIVATE, - JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, - JS_EnumerateStu...
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
...wfdec_js_copy_props (SwfdecMovie *targe } static JSBool +swfdec_js_movie_attachMovie (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + SwfdecMovie *movie, *ret; + const char *name, *export; + int depth; + SwfdecContent *content; + SwfdecGraphic *sprite; + + movie = JS_GetPrivate (cx, obj); + g_assert (movie); + + export = swfdec_js_to_string (cx, argv[0]); + name = swfdec_js_to_string (cx, argv[1]); + if (export == NULL || name == NULL) + return JS_FALSE; + sprite = swfdec_root_movie_get_export (SWFDEC_ROOT_MOVIE (movie->root), export); + if (!SWFDEC_IS_SPRITE...
2007 Mar 02
0
12 commits - libswfdec/Makefile.am libswfdec/swfdec_audio_flv.c libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_js.c libswfdec/swfdec_js.h libswfdec/swfdec_js_video.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader_internal.h
...swfdec_js_video_attach_video, 1, 0, 0 }, + { "clear", swfdec_js_video_clear, 0, 0, 0 }, + { "toString", swfdec_js_video_to_string, 0, 0, 0 }, + {0,0,0,0,0} +}; + +static void +swfdec_js_video_finalize (JSContext *cx, JSObject *obj) +{ + SwfdecVideo *video; + + video = JS_GetPrivate (cx, obj); + if (video) { + SWFDEC_SCRIPTABLE (video)->jsobj = NULL; + g_object_unref (video); + } +} + +const JSClass video_class = { + "Video", JSCLASS_HAS_PRIVATE, + JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, + JS_EnumerateStub, JS_Resolv...