[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Mous...
From: |
Benjamin Wolsey |
Subject: |
[Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Mous... |
Date: |
Wed, 16 Apr 2008 11:16:38 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Benjamin Wolsey <bwy> 08/04/16 11:16:37
Modified files:
. : ChangeLog
testsuite/actionscript.all: Mouse.as ASnative.as
server : FreetypeGlyphsProvider.cpp
server/asobj : Date.cpp Date.h Global.cpp Mouse.cpp Mouse.h
Log message:
* server/asobj/Date.{h,cpp}, server/asobj/Mouse.{cpp,h}:
register
Native functions separately.
* server/asobj/Global.cpp: register Mouse and Date ASnative
functions for SWF5+ at startup so that they are always
available.
* testsuite/actionscript.all/Mouse.as: couple of new tests.
* testsuite/actionscript.all/Date.as: tests for ASnative(103,
256):
_global.Date. (Will fail, unsurprisingly).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6293&r2=1.6294
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Mouse.as?cvsroot=gnash&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/ASnative.as?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/server/FreetypeGlyphsProvider.cpp?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.cpp?cvsroot=gnash&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.h?cvsroot=gnash&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Global.cpp?cvsroot=gnash&r1=1.113&r2=1.114
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Mouse.cpp?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Mouse.h?cvsroot=gnash&r1=1.9&r2=1.10
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6293
retrieving revision 1.6294
diff -u -b -r1.6293 -r1.6294
--- ChangeLog 16 Apr 2008 09:26:27 -0000 1.6293
+++ ChangeLog 16 Apr 2008 11:16:32 -0000 1.6294
@@ -1,5 +1,15 @@
2008-04-16 Benjamin Wolsey <address@hidden>
+ * server/asobj/Date.{h,cpp}, server/asobj/Mouse.{cpp,h}: register
+ Native functions separately.
+ * server/asobj/Global.cpp: register Mouse and Date ASnative
+ functions for SWF5+ at startup so that they are always available.
+ * testsuite/actionscript.all/Mouse.as: couple of new tests.
+ * testsuite/actionscript.all/Date.as: tests for ASnative(103, 256):
+ _global.Date. (Will fail, unsurprisingly).
+
+2008-04-16 Benjamin Wolsey <address@hidden>
+
* server/asobj/{GMath.h,Math.cpp}: split registering native
functions into a separate method (registerMathNative), which
must be called at startup (logical enough...), or at least
Index: testsuite/actionscript.all/Mouse.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Mouse.as,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- testsuite/actionscript.all/Mouse.as 15 Apr 2008 10:06:45 -0000 1.18
+++ testsuite/actionscript.all/Mouse.as 16 Apr 2008 11:16:34 -0000 1.19
@@ -21,7 +21,7 @@
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: Mouse.as,v 1.18 2008/04/15 10:06:45 bwy Exp $";
+rcsid="$Id: Mouse.as,v 1.19 2008/04/16 11:16:34 bwy Exp $";
#include "check.as"
check_equals ( typeof(Mouse), 'object' );
@@ -47,13 +47,16 @@
check_equals(typeof(Mouse._listeners), 'object');
check(Mouse._listeners instanceof Array);
+ check(Mouse.hasOwnProperty("hide"));
+ check(Mouse.hasOwnProperty("show"));
+
#endif // OUTPUT_VERSION > 5
// test the Mouse::show method
check_equals ( typeof(Mouse.show), 'function' );
#if OUTPUT_VERSION > 5
-check_totals(13);
+check_totals(15);
#else
check_totals(7);
#endif
Index: testsuite/actionscript.all/ASnative.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/ASnative.as,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- testsuite/actionscript.all/ASnative.as 16 Apr 2008 07:27:08 -0000
1.4
+++ testsuite/actionscript.all/ASnative.as 16 Apr 2008 11:16:34 -0000
1.5
@@ -15,7 +15,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-rcsid="$Id: ASnative.as,v 1.4 2008/04/16 07:27:08 bwy Exp $";
+rcsid="$Id: ASnative.as,v 1.5 2008/04/16 11:16:34 bwy Exp $";
#include "check.as"
a = ASnative (100, 0); // escape
@@ -28,21 +28,26 @@
check_equals(a("8.4e6"), 8.4e6);
// Do this first to make sure ASnative is
-// register before Date class itself is called.
+// registered before Date class itself is loaded (Gnash loads
+// on demand).
a = ASnative(103, 257);
check_equals (a(65, 1, 1, 1, 1, 1, 1), Date.UTC(65, 1, 1, 1, 1, 1, 1));
+e = ASnative(103, 256); // _global.Date
+xcheck_equals(e().valueOf(), Date().valueOf());
+
+f = new e(100000000); // not instantiatable
+xcheck_equals(typeof(f), 'object');
+check_equals(typeof(f.getMilliseconds()), 'undefined');
+
d = new Date (123456789);
d.a = ASnative(103, 0);
check_equals (d.a(), d.getFullYear());
-
d.a = ASnative(103, 1);
check_equals (d.a(), d.getYear());
-
d.a = ASnative(103, 2);
check_equals (d.a(), d.getMonth());
-
d.a = ASnative(103, 3);
check_equals (d.a(), d.getDate());
d.a = ASnative(103, 4);
@@ -190,7 +195,7 @@
xcheck_equals (countVO, 25);
#if OUTPUT_VERSION > 5
-check_totals(63);
+check_totals(66);
#else
-check_totals(61);
+check_totals(64);
#endif
Index: server/FreetypeGlyphsProvider.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/FreetypeGlyphsProvider.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- server/FreetypeGlyphsProvider.cpp 19 Feb 2008 19:20:51 -0000 1.20
+++ server/FreetypeGlyphsProvider.cpp 16 Apr 2008 11:16:35 -0000 1.21
@@ -59,7 +59,7 @@
//#define DEBUG_OUTLINE_DECOMPOSITION 1
// Define the following to make device font handling verbose
-//#define GNASH_DEBUG_DEVICEFONTS 1
+#define GNASH_DEBUG_DEVICEFONTS 1
namespace gnash {
@@ -294,6 +294,10 @@
filename = (char *)file;
FcFontSetDestroy(fs);
+
+#ifdef GNASH_DEBUG_DEVICEFONTS
+ log_debug("Loading font from file %d", filename);
+#endif
return true;
}
Index: server/asobj/Date.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- server/asobj/Date.cpp 14 Apr 2008 23:58:04 -0000 1.65
+++ server/asobj/Date.cpp 16 Apr 2008 11:16:35 -0000 1.66
@@ -153,6 +153,10 @@
// or in localtime, so we always use localtime.
// forward declarations
+static as_object* getDateInterface();
+static void attachDateInterface(as_object& o);
+static void attachDateStaticInterface(as_object& o);
+
static as_value date_new(const fn_call& fn);
static as_value date_gettime(const fn_call& fn);
static as_value date_settime(const fn_call& fn);
@@ -194,9 +198,54 @@
// Static AS methods
static as_value date_utc(const fn_call& fn);
-static as_object* getDateInterface();
-static void attachDateInterface(as_object& o);
-static void attachDateStaticInterface(as_object& o);
+void registerDateNative(as_object& global)
+{
+ VM& vm = global.getVM();
+
+ vm.registerNative(date_getfullyear, 103, 0);
+ vm.registerNative(date_getyear, 103, 1);
+ vm.registerNative(date_getmonth, 103, 2);
+ vm.registerNative(date_getdate, 103, 3);
+ vm.registerNative(date_getday, 103, 4);
+ vm.registerNative(date_gethours, 103, 5);
+ vm.registerNative(date_getminutes, 103, 6);
+ vm.registerNative(date_getseconds, 103, 7);
+ vm.registerNative(date_getmilliseconds, 103, 8);
+ vm.registerNative(date_setfullyear, 103, 9);
+ vm.registerNative(date_setmonth, 103, 10);
+ vm.registerNative(date_setdate, 103, 11);
+ vm.registerNative(date_sethours, 103, 12);
+ vm.registerNative(date_setminutes, 103, 13);
+ vm.registerNative(date_setseconds, 103, 14);
+ vm.registerNative(date_setmilliseconds, 103, 15);
+ vm.registerNative(date_gettime, 103, 16);
+ vm.registerNative(date_settime, 103, 17);
+ vm.registerNative(date_gettimezoneoffset, 103, 18);
+ vm.registerNative(date_tostring, 103, 19);
+ vm.registerNative(date_setyear, 103, 20);
+ vm.registerNative(date_getutcfullyear, 103, 128);
+ vm.registerNative(date_getutcyear, 103, 129);
+ vm.registerNative(date_getutcmonth, 103, 130);
+ vm.registerNative(date_getutcdate, 103, 131);
+ vm.registerNative(date_getutcday, 103, 132);
+ vm.registerNative(date_getutchours, 103, 133);
+ vm.registerNative(date_getutcminutes, 103, 134);
+
+ // These two are deliberately the same as non-UTC methods
+ // as there should be no difference:
+ vm.registerNative(date_getseconds, 103, 135);
+ vm.registerNative(date_getmilliseconds, 103, 136);
+ vm.registerNative(date_setutcfullyear, 103, 137);
+ vm.registerNative(date_setutcmonth, 103, 138);
+ vm.registerNative(date_setutcdate, 103, 139);
+ vm.registerNative(date_setutchours, 103, 140);
+ vm.registerNative(date_setutcminutes, 103, 141);
+ vm.registerNative(date_setutcseconds, 103, 142);
+ vm.registerNative(date_setutcmilliseconds, 103, 143);
+
+ vm.registerNative(date_utc, 103, 257);
+
+}
// As UTC offset is measured in minutes, we can use the same
// functions to get seconds and milliseconds in local and utc time.
@@ -207,117 +256,43 @@
{
VM& vm = o.getVM();
- vm.registerNative(date_getfullyear, 103, 0);
o.init_member("getFullYear", vm.getNative(103, 0));
-
- vm.registerNative(date_getyear, 103, 1);
o.init_member("getYear", vm.getNative(103, 1));
-
- vm.registerNative(date_getmonth, 103, 2);
o.init_member("getMonth", vm.getNative(103, 2));
-
- vm.registerNative(date_getdate, 103, 3);
o.init_member("getDate", vm.getNative(103, 3));
-
- vm.registerNative(date_getday, 103, 4);
o.init_member("getDay", vm.getNative(103, 4));
-
- vm.registerNative(date_gethours, 103, 5);
o.init_member("getHours", vm.getNative(103, 5));
-
- vm.registerNative(date_getminutes, 103, 6);
o.init_member("getMinutes", vm.getNative(103, 6));
-
- vm.registerNative(date_getseconds, 103, 7);
o.init_member("getSeconds", vm.getNative(103, 7));
-
- vm.registerNative(date_getmilliseconds, 103, 8);
o.init_member("getMilliseconds", vm.getNative(103, 8));
-
- vm.registerNative(date_setfullyear, 103, 9);
o.init_member("setFullYear", vm.getNative(103, 9));
-
- vm.registerNative(date_setmonth, 103, 10);
o.init_member("setMonth", vm.getNative(103, 10));
-
- vm.registerNative(date_setdate, 103, 11);
o.init_member("setDate", vm.getNative(103, 11));
-
- vm.registerNative(date_sethours, 103, 12);
o.init_member("setHours", vm.getNative(103, 12));
-
- vm.registerNative(date_setminutes, 103, 13);
o.init_member("setMinutes", vm.getNative(103, 13));
-
- vm.registerNative(date_setseconds, 103, 14);
o.init_member("setSeconds", vm.getNative(103, 14));
-
- vm.registerNative(date_setmilliseconds, 103, 15);
o.init_member("setMilliseconds", vm.getNative(103, 15));
-
- vm.registerNative(date_gettime, 103, 16);
o.init_member("getTime", vm.getNative(103, 16));
-
- vm.registerNative(date_settime, 103, 17);
o.init_member("setTime", vm.getNative(103, 17));
-
- vm.registerNative(date_gettimezoneoffset, 103, 18);
o.init_member("getTimezoneOffset", vm.getNative(103, 18));
-
- vm.registerNative(date_tostring, 103, 19);
o.init_member("toString", vm.getNative(103, 19));
-
- vm.registerNative(date_setyear, 103, 20);
o.init_member("setYear", vm.getNative(103, 20));
-
- vm.registerNative(date_getutcfullyear, 103, 128);
o.init_member("getUTCFullYear", vm.getNative(103, 128));
-
- vm.registerNative(date_getutcyear, 103, 129);
o.init_member("getUTCYear", vm.getNative(103, 129));
-
- vm.registerNative(date_getutcmonth, 103, 130);
o.init_member("getUTCMonth", vm.getNative(103, 130));
-
- vm.registerNative(date_getutcdate, 103, 131);
o.init_member("getUTCDate", vm.getNative(103, 131));
-
- vm.registerNative(date_getutcday, 103, 132);
o.init_member("getUTCDay", vm.getNative(103, 132));
-
- vm.registerNative(date_getutchours, 103, 133);
o.init_member("getUTCHours", vm.getNative(103, 133));
-
- vm.registerNative(date_getutcminutes, 103, 134);
o.init_member("getUTCMinutes", vm.getNative(103, 134));
-
- vm.registerNative(date_getseconds, 103, 135);
- o.init_member("getUTCSeconds", vm.getNative(103, 135)); // same
-
- vm.registerNative(date_getmilliseconds, 103, 136);
- o.init_member("getUTCMilliseconds", vm.getNative(103, 136)); // same
-
- vm.registerNative(date_setutcfullyear, 103, 137);
+ o.init_member("getUTCSeconds", vm.getNative(103, 135));
+ o.init_member("getUTCMilliseconds", vm.getNative(103, 136));
o.init_member("setUTCFullYear", vm.getNative(103, 137));
-
- vm.registerNative(date_setutcmonth, 103, 138);
o.init_member("setUTCMonth", vm.getNative(103, 138));
-
- vm.registerNative(date_setutcdate, 103, 139);
o.init_member("setUTCDate", vm.getNative(103, 139));
-
- vm.registerNative(date_setutchours, 103, 140);
o.init_member("setUTCHours", vm.getNative(103, 140));
-
- vm.registerNative(date_setutcminutes, 103, 141);
o.init_member("setUTCMinutes", vm.getNative(103, 141));
-
- vm.registerNative(date_setutcseconds, 103, 142);
o.init_member("setUTCSeconds", vm.getNative(103, 142));
-
- vm.registerNative(date_setutcmilliseconds, 103, 143);
o.init_member("setUTCMilliseconds", vm.getNative(103, 143));
-
o.init_member("valueOf", new builtin_function(date_valueof));
}
@@ -326,8 +301,6 @@
attachDateStaticInterface(as_object& o)
{
VM& vm = o.getVM();
-
- vm.registerNative(date_utc, 103, 257);
o.init_member("UTC", vm.getNative(103, 257));
}
@@ -1355,7 +1328,7 @@
}
-#if USE_MATHEMATICAL_ALGORITHM
+#ifdef USE_MATHEMATICAL_ALGORITHM
/// Helper function for getYearMathematical
static double
daysSinceUTCForYear(double year)
Index: server/asobj/Date.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/asobj/Date.h 26 Mar 2008 21:34:21 -0000 1.12
+++ server/asobj/Date.h 16 Apr 2008 11:16:35 -0000 1.13
@@ -23,6 +23,7 @@
namespace gnash {
+void registerDateNative(as_object& global);
void date_class_init(as_object& global);
} // end of gnash namespace
Index: server/asobj/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Global.cpp,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -b -r1.113 -r1.114
--- server/asobj/Global.cpp 16 Apr 2008 09:26:28 -0000 1.113
+++ server/asobj/Global.cpp 16 Apr 2008 11:16:36 -0000 1.114
@@ -623,9 +623,8 @@
color_class_init(*this);
textformat_class_init(*this);
- date_class_init(*this);
- ch->getGlobalNs()->stubPrototype(NSV::CLASS_DATE);
- ch->getGlobalNs()->getClass(NSV::CLASS_DATE)->setDeclared();
+ registerDateNative(*this);
+ registerMouseNative(*this);
if ( vm.getSWFVersion() < 6 ) goto extscan;
//-----------------------
Index: server/asobj/Mouse.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Mouse.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- server/asobj/Mouse.cpp 15 Apr 2008 10:06:45 -0000 1.20
+++ server/asobj/Mouse.cpp 16 Apr 2008 11:16:37 -0000 1.21
@@ -35,15 +35,20 @@
static as_value mouse_show(const fn_call& fn);
static void attachMouseInterface(as_object& o);
+void registerMouseNative(as_object& o)
+{
+ VM& vm = o.getVM();
+
+ vm.registerNative(mouse_show, 5, 0);
+ vm.registerNative(mouse_hide, 5, 1);
+}
+
static void
attachMouseInterface(as_object& o)
{
VM& vm = o.getVM();
- vm.registerNative(mouse_show, 5, 0);
o.init_member("show", vm.getNative(5, 0));
-
- vm.registerNative(mouse_hide, 5, 1);
o.init_member("hide", vm.getNative(5, 1));
if (vm.getSWFVersion() > 5)
Index: server/asobj/Mouse.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Mouse.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/asobj/Mouse.h 26 Mar 2008 21:34:22 -0000 1.9
+++ server/asobj/Mouse.h 16 Apr 2008 11:16:37 -0000 1.10
@@ -25,12 +25,12 @@
class as_object;
+/// Register native functions with the VM
+void registerMouseNative(as_object& global);
+
/// Initialize the global Mouse class
void mouse_class_init(as_object& global);
-/// Return a Mouse instance (in case the core lib needs it)
-//std::auto_ptr<as_object> init_mouse_instance();
-
} // end of gnash namespace
// __GNASH_ASOBJ_MOUSE_H__