gnash-commit
[Top][All Lists]
Advanced

[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__




reply via email to

[Prev in Thread] Current Thread [Next in Thread]