You’ll need to manually copy Function.prototype.apply to the TestClass prototype.
Another option is “Function.prototype.apply.call(TestClass, this, arguments)”. Geoff > On Oct 2, 2014, at 8:26 AM, Moritz Moeller <mmoel...@mxs.de> wrote: > > Hi, > > I’ve created a javascript class in native code (i.e. JSClassCreate, > JSObjectMakeConstructor etc.) and want to subclass this class in javascript. > > So pretty much: > > JSClassDefinition classDef = kJSClassDefinitionEmpty; > classDef.className = "TestClass"; > classDef.getProperty = class_getProperty; > classDef.setProperty = class_setProperty; > JSClassRef classRef = JSClassCreate(&classDef); > JSObjectRef constructor = JSObjectMakeConstructor(ctx, gClassRef, > class_constructor); > JSObjectSetProperty(ctx, JSContextGetGlobalObject(ctx), > JsString("TestClass"), constructor, 0, NULL); > > class_constructor does: > return JSObjectMake(ctx, classRef, NULL); > > This works, so I can do > var test = new TestClass(); > test.field = 1; > > and both class_constructor and class_setProperty is called. > > Now I’m trying to subclass the TestClass: > function SubClass() > { > TestClass.apply(this, arguments); > } > > here it already got the problem that TestClass - being a constructor - does > not have .bind() or .apply(). > > Does someone know how to get this working? > > Thank you very much, > > Mo > _______________________________________________ > webkit-dev mailing list > webkit-dev@lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev