But is the location to place the file and the source code looks fine?? On Mon, Aug 3, 2009 at 6:00 PM, Jack Wootton <[email protected]> wrote:
> I have only modified an old s60 branch of webkit so can't help you on > where to put the files and compile it, since this is done differently > on s60. I'm sure someone who knows more can help with this (I would > be interested too). However in the list of errors you get you don't > have JSObjectCallAsFunction or JSObjectSetProperty. Presumably these > are not undefined references? I had a similar problem on an old S60 > branch, I posted about it on Forum Nokia here > http://discussion.forum.nokia.com/forum/showthread.php?t=172429 but > received no help (but since you're using SquirrelFish I doubt it's the > same issue). > > On Mon, Aug 3, 2009 at 12:56 PM, LG<[email protected]> wrote: > > Hi Jack, > > > > thanks for the info, > > > > the problem here is i tried this and didnot work > > i ll elaborate on what i have tried > > > > 1. i have created a class in JavascriptCore/API > > > > test.cpp > > > > #include "UnusedParam.h" > > #include <JavaScriptCore/JavaScript.h> > > #include <assert.h> > > #include <math.h> > > #include <setjmp.h> > > > > > > static JSGlobalContextRef context = 0; > > JSValueRef v; > > JSValueRef exception; > > JSStringRef functionBody; > > JSObjectRef function; > > > > int main() > > { > > > > //create a class with a name > > JSStringRef calObjectName = > JSStringCreateWithUTF8CString("calendar"); > > > > //create a class definition > > JSClassDefinition calObjectDef; > > calObjectDef.version = 1; > > //calObjectDef.className = calObjectName > > > > > > //create a context > > //context = JSGlobalContextCreate(NULL); > > //assert(JSValueIsObject(context, globalObject)); > > > > //create the class > > JSClassRef globalObjectClass = JSClassCreate(&calObjectDef); > > > > //create a global context > > JSGlobalContextRef context = > JSGlobalContextCreate(globalObjectClass); > > JSObjectRef globalObject = JSContextGetGlobalObject(context); > > > > //make the object > > JSObjectRef calObject = JSObjectMake(context, globalObjectClass, > NULL); > > > > > > //set properties > > JSObjectSetProperty(context, globalObject, calObjectName, calObject, > > kJSPropertyAttributeNone, NULL); > > > > > > exception = NULL; > > v = NULL; > > > > JSStringRef getCal = JSStringCreateWithUTF8CString("getCalendars"); > > functionBody = JSStringCreateWithUTF8CString("return NULL;"); > > function = JSObjectMakeFunction(context, getCal,0, NULL, > functionBody, > > NULL, 1, &exception); > > assert(function && !exception); > > JSValueRef arguments[] = { JSValueMakeNumber(context, 2) }; > > v = JSObjectCallAsFunction(context, function, NULL, 1, arguments, > > &exception); > > JSStringRelease(getCal); > > JSStringRelease(functionBody); > > > > return 1; > > } > > > > > > 2. i added this to the make file and i get the following errors > > > > undefined reference to `JSStringCreateWithUTF8CString` > > undefined reference to `JSClassCreate` > > undefined reference to `JSGlobalContextCreate` > > > > etc > > > > i am not sure where to put the file and compile > > please guide me through the approach > > > > > > > > > > On Mon, Aug 3, 2009 at 2:29 PM, Jack Wootton <[email protected]> > wrote: > >> > >> Hello, > >> > >> If you mean add a new JavaScript object, then here is a reply I wrote > >> some time ago (copied and pasted). > >> > >> Here is the API: > >> > >> > >> > http://gemma.apple.com/documentation/Carbon/Reference/WebKit_JavaScriptCore_Ref/index.html#//apple_ref/doc/framework/javascriptcore_fw > >> > >> If this is what you wish to do, then the following is a rough guide of > >> what you need to do: > >> > >> 1. Create an empty class definition, you can create an empty class > >> definition using kJSClassDefinitionEmpty. > >> 2. Use the class definition with the JSCoreAPI method "JSClassCreate" > >> to create your class. > >> 3. Use your new class with JSObjectMake to create your new JSObject > >> (this will be your widget object). > >> 4 Use JSObjectSetProperty to add your new JSObject as a property of > >> the Window object. > >> > >> It maybe useful to look at the following files in the > >> JavaScriptCore (Although, personally I didn't find them particularly > >> easy to understand.) > >> > >> JavaScriptCore\API\testapi.c > >> testapi.js > >> > >> > >> There are also some example programs that do what you want to do, only > >> with different objects. > >> > >> JSPong: http://developer.apple.com/SampleCode/JSPong/index.html > >> > >> JSInterpreter: > >> http://developer.apple.com/samplecode/JSInterpreter/index.html > >> > >> More programs can be found here: > >> > >> http://developer.apple.com/SampleCode/Cocoa/idxInternetWeb-date.html > >> > >> On Mon, Aug 3, 2009 at 5:34 AM, LG<[email protected]> wrote: > >> > Hi all, > >> > > >> > i am new to webkit and i need to add an new object/api to javascript > >> > core > >> > can someone share and example and tell me how to compile it in webkit > >> > > >> > anyhelp would be useful > >> > thanks a lot > >> > > >> > > >> > -- > >> > Ganesh > >> > > >> > _______________________________________________ > >> > webkit-help mailing list > >> > [email protected] > >> > http://lists.webkit.org/mailman/listinfo.cgi/webkit-help > >> > > >> > > >> > >> > >> > >> -- > >> Regards > >> Jack > > > > > > > > -- > > LG > > > > > > -- > Regards > Jack > -- LG
_______________________________________________ webkit-help mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-help
