gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/LoadVars.cpp tests...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/LoadVars.cpp tests...
Date: Sun, 25 Feb 2007 14:14:14 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/02/25 14:14:14

Modified files:
        .              : ChangeLog 
        server/asobj   : LoadVars.cpp 
        testsuite/actionscript.all: LoadVars.as 

Log message:
                * server/asobj/LoadVars.cpp: implemented
                  LoadVars.loaded property.
                * testsuite/actionscript.all/LoadVars.as:
                  Test LoadVars.loaded.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2454&r2=1.2455
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/LoadVars.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/LoadVars.as?cvsroot=gnash&r1=1.8&r2=1.9

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2454
retrieving revision 1.2455
diff -u -b -r1.2454 -r1.2455
--- ChangeLog   24 Feb 2007 23:57:46 -0000      1.2454
+++ ChangeLog   25 Feb 2007 14:14:14 -0000      1.2455
@@ -1,3 +1,10 @@
+2007-02-25 Sandro Santilli <address@hidden>
+
+       * server/asobj/LoadVars.cpp: implemented
+         LoadVars.loaded property.
+       * testsuite/actionscript.all/LoadVars.as:
+         Test LoadVars.loaded.
+
 2007-02-25 Markus Gothe <address@hidden>
 
        * macros/libslist: Check in lib32 before lib64.

Index: server/asobj/LoadVars.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/LoadVars.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/asobj/LoadVars.cpp   24 Feb 2007 10:14:25 -0000      1.9
+++ server/asobj/LoadVars.cpp   25 Feb 2007 14:14:14 -0000      1.10
@@ -284,6 +284,11 @@
                return _bytesTotal;
        }
 
+       // Retur number of completed loads
+       unsigned int loaded() const {
+               return _loaded;
+       }
+
 private:
 
        /// Return true if a load is currently in progress.
@@ -335,6 +340,8 @@
 
        static void checkLoads_wrapper(const fn_call& fn);
 
+       static void loaded_getset(const fn_call& fn);
+
        static void onData_getset(const fn_call& fn);
 
        static void onLoad_getset(const fn_call& fn);
@@ -375,6 +382,9 @@
        std::auto_ptr<tu_file> _stream;
 
        unsigned int _loadCheckerTimer;
+
+       /// Number of clompleted loads
+       unsigned int _loaded;
 };
 
 LoadVars::LoadVars(as_environment* env)
@@ -384,7 +394,8 @@
                _bytesTotal(0),
                _bytesLoaded(0),
                _loadRequests(),
-               _currentLoad(_loadRequests.end())
+               _currentLoad(_loadRequests.end()),
+               _loaded(0)
 {
        //log_msg("LoadVars %p created", this);
 }
@@ -438,6 +449,9 @@
 
        gettersetter = new builtin_function(&LoadVars::onData_getset, NULL);
        o.init_property("onData", *gettersetter, *gettersetter);
+
+       gettersetter = new builtin_function(&LoadVars::loaded_getset, NULL);
+       o.init_property("loaded", *gettersetter, *gettersetter);
 }
 
 as_object*
@@ -499,6 +513,7 @@
 
        _bytesLoaded = lr.getBytesLoaded();
        _bytesTotal = lr.getBytesTotal();
+       ++_loaded;
 
        dispatchLoadEvent();
 
@@ -593,6 +608,26 @@
        }
 }
 
+/* private static */
+void
+LoadVars::loaded_getset(const fn_call& fn)
+{
+
+       LoadVars* ptr = ensureLoadVars(fn.this_ptr);
+
+       if ( fn.nargs == 0 ) // getter
+       {
+               fn.result->set_bool(ptr->loaded() > 0);
+       }
+       else // setter
+       {
+               IF_VERBOSE_ASCODING_ERRORS(
+                       log_msg("Tried to set LoadVars.loaded, which is a 
read-only property");
+               );
+               return;
+       }
+}
+
 
 static void
 loadvars_addrequestheader(const fn_call& fn)

Index: testsuite/actionscript.all/LoadVars.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/LoadVars.as,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- testsuite/actionscript.all/LoadVars.as      24 Feb 2007 10:37:57 -0000      
1.8
+++ testsuite/actionscript.all/LoadVars.as      25 Feb 2007 14:14:14 -0000      
1.9
@@ -20,7 +20,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: LoadVars.as,v 1.8 2007/02/24 10:37:57 strk Exp $";
+rcsid="$Id: LoadVars.as,v 1.9 2007/02/25 14:14:14 strk Exp $";
 
 #include "check.as"
 
@@ -80,6 +80,8 @@
        // onLoad is called after all vars have been called
        check_equals( loadvarsObj.getBytesLoaded(), loadvarsObj.getBytesTotal() 
);
 
+       check_equals( loadvarsObj.loaded, true );
+
        //for (var i in _root) { note("_root["+i+"] = "+_root[i]); }
 
        if ( varsloaded == 2 )
@@ -120,6 +122,9 @@
 check( loadvarsObj.load( MEDIA(vars2.txt) ) );
 //loadvarsObj.load( 'vars.cgi' );
 
+check_equals( loadvarsObj.loaded, false );
+loadvars.Obj.loaded = true;
+check_equals( loadvarsObj.loaded, false );
 check_equals(varsloaded, 0);
 check_equals(loadvarsObj['var1'], 'previous val1'); // will be overridden
 check_equals(loadvarsObj['var2'], undefined);




reply via email to

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