[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/Object.cpp testsui...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/Object.cpp testsui... |
Date: |
Wed, 24 Oct 2007 21:55:33 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/10/24 21:55:33
Modified files:
. : ChangeLog
server/asobj : Object.cpp
testsuite/actionscript.all: Object.as
Log message:
* server/asobj/Object.cpp: don't replicate all exported
interfaces
to the Object class; move registerClass from prototype to
class;
have hasOwnProperty return false on invalid calls.
* testsuite/actionscript.all/Object.as: one more success, more
tests needed for hasOwnProperty calls.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4695&r2=1.4696
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Object.cpp?cvsroot=gnash&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Object.as?cvsroot=gnash&r1=1.37&r2=1.38
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4695
retrieving revision 1.4696
diff -u -b -r1.4695 -r1.4696
--- ChangeLog 24 Oct 2007 21:31:59 -0000 1.4695
+++ ChangeLog 24 Oct 2007 21:55:32 -0000 1.4696
@@ -1,5 +1,13 @@
2007-10-24 Sandro Santilli <address@hidden>
+ * server/asobj/Object.cpp: don't replicate all exported interfaces
+ to the Object class; move registerClass from prototype to class;
+ have hasOwnProperty return false on invalid calls.
+ * testsuite/actionscript.all/Object.as: one more success, more
+ tests needed for hasOwnProperty calls.
+
+2007-10-24 Sandro Santilli <address@hidden>
+
* server/vm/VM.{cpp,h}: initial support for a native functions table.
* server/asobj/Global.cpp: ASnative global.
* server/asobj/Object.cpp: register Objects' natives (101 series).
Index: server/asobj/Object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Object.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- server/asobj/Object.cpp 24 Oct 2007 21:32:00 -0000 1.33
+++ server/asobj/Object.cpp 24 Oct 2007 21:55:33 -0000 1.34
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: Object.cpp,v 1.33 2007/10/24 21:32:00 strk Exp $ */
+/* $Id: Object.cpp,v 1.34 2007/10/24 21:55:33 strk Exp $ */
#include "tu_config.h"
#include "Object.h"
@@ -54,12 +54,6 @@
VM& vm = o.getVM();
int target_version = vm.getSWFVersion();
- as_function* native;
-
- // Object.registerClass() -- TODO: should this only be in SWF6 or
higher ?
- vm.registerNative(object_registerClass, 101, 8);
- o.init_member("registerClass", vm.getNative(101, 8));
-
// Object.valueOf()
vm.registerNative(as_object::valueof_method, 101, 3);
o.init_member("valueOf", vm.getNative(101, 3));
@@ -165,13 +159,19 @@
// This is going to be the global Object "class"/"function"
static boost::intrusive_ptr<builtin_function> cl=NULL;
+ VM& vm = VM::get();
+
if ( cl == NULL )
{
cl=new builtin_function(&object_ctor, getObjectInterface());
- // replicate all interface to class, to be able to access
- // all methods as static functions
- attachObjectInterface(*cl);
- cl->init_member("prototype", as_value(getObjectInterface()));
+
+ // TODO: is this needed ?
+ //cl->init_member("prototype", as_value(getObjectInterface()));
+
+ // Object.registerClass() -- TODO: should this only be in SWF6
or higher ?
+ vm.registerNative(object_registerClass, 101, 8);
+ cl->init_member("registerClass", vm.getNative(101, 8));
+
}
@@ -338,7 +338,7 @@
IF_VERBOSE_ASCODING_ERRORS(
log_aserror(_("Object.hasOwnProperty() requires one arg"));
);
- return as_value();
+ return as_value(false);
}
as_value& arg = fn.arg(0);
const std::string& propname = arg.to_string(&(fn.env()));
@@ -347,7 +347,7 @@
IF_VERBOSE_ASCODING_ERRORS(
log_aserror(_("Invalid call to Object.hasOwnProperty('%s')"),
arg.to_debug_string().c_str());
);
- return as_value();
+ return as_value(false);
}
return
as_value(fn.this_ptr->getOwnProperty(VM::get().getStringTable().find(propname))
!= NULL);
}
Index: testsuite/actionscript.all/Object.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Object.as,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- testsuite/actionscript.all/Object.as 24 Oct 2007 07:58:14 -0000
1.37
+++ testsuite/actionscript.all/Object.as 24 Oct 2007 21:55:33 -0000
1.38
@@ -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: Object.as,v 1.37 2007/10/24 07:58:14 strk Exp $";
+rcsid="$Id: Object.as,v 1.38 2007/10/24 21:55:33 strk Exp $";
#include "check.as"
@@ -51,11 +51,7 @@
check(!Object.prototype.hasOwnProperty("__proto__"));
#endif
-#if OUTPUT_VERSION < 6
- check_equals(Object.prototype.registerClass, undefined);
-#else
- xcheck_equals(Object.prototype.registerClass, undefined);
-#endif
+check_equals(Object.prototype.registerClass, undefined);
#if OUTPUT_VERSION > 5
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/Object.cpp testsui...,
Sandro Santilli <=