From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from resqmta-po-04v.sys.comcast.net (resqmta-po-04v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:163]) by hurricane.the-brannons.com (Postfix) with ESMTPS id C809D7884B for ; Tue, 23 Dec 2014 11:52:08 -0800 (PST) Received: from resomta-po-10v.sys.comcast.net ([96.114.154.234]) by resqmta-po-04v.sys.comcast.net with comcast id X7ps1p00553iAfU017q1mK; Tue, 23 Dec 2014 19:50:01 +0000 Received: from eklhad ([68.84.191.77]) by resomta-po-10v.sys.comcast.net with comcast id X7q01p00R1gep30017q0lq; Tue, 23 Dec 2014 19:50:01 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.5.2 Date: Tue, 23 Dec 2014 14:50:00 -0500 Message-ID: <20141123145000.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1419364201; bh=Md8I+37QaPvosY0AEtv4VED0vXWzN2bCugG3VLVseL4=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=bEExef9ETyo26Yxwl67iNgljImyK4uf2uwBsyv1KzoVYQ5cEbgRbHCffjpukheJQ+ hdth6bgdYlMJBWIofKG+qLTnPNBmEvCN2ZdTpnJii/4yQDovpu0UEk+gfeHqAHNf+K trxPnxdwKpoEgD0QYcQLsdzkOzzf+z9HcKiPHS2z0vlQBbk1cAkY0G7uUzZ5hFb4Ei 8D5k4zcOHkSGCJCMjz+zCvpZGdSF3nDizLRovaYq827qQuUQzU63O048rPkgZNGSLh puVA11yPDR064GGR1XQx7eLWh73GgEwx/PPnLSUd9/WNrYVZtaNpvAOuW063TF2BRI 4iyHbrgpnAp2w== Subject: [Edbrowse-dev] js engine process, version 1 X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 19:52:09 -0000 Adam offers: > I may have a go at plugging in the new code at some stage. Let me know if you want to take a whack at it. That would be great. If not I may try it next week. Either is fine with me. This is a roadmap. struct tagInfo and htmlTag move back into eb.h. In fact we won't need js.h at all. Once the vital declarations move from js.h into eb.h, change makefile so it doesn't refer to js.h or jsdom.cpp or jsloc.cpp. Nor does it need the mozilla headers or libraries, except for the target edbrowse-js, which builds properly today. And include edbrowse-js under all: struct htmlTag has the member jv, javascript variable, which links this tag to the corresponding object in the js world. currently HeapRootedObject jv; needs to be jsobjtype jv; Rename createJavaContext1 to createJavaContext in ebjs.c and similarly for freeJavaContext1. Remove the block at the top of ebjs.c that is there just for stand alone compilation. Generate the prototypes for ebjs.c, I can do it with my tool if you like, and put them into eb.p. We won't need ebjs.p any more. Many of these functions are plug in replacements for the old functions. get_property_string(object, name) it does what it did before. So I'm hoping it is an easy process from here. Put it all together and build the new edbrowse. Make sure edbrowse-js is linked into your path, or edbrowse won't be able to exec edbrowse-js - although you may want to test that condition as well. Lots of testing, websites, javascript, and of course exercising jsrt. Once we have some confidence in the new architecture, delete js.h ebjs.p jsdom.cpp jsloc.cpp. Convert html.cpp back to html.c. Sadly, there were a few times I used c++ strings in here, for convenience, and I think you told me not to, and now I see why. Switch these back to strings using my dynamic string management routines in stringfile.c, then the file can go back to html.c Change makefile flags and libraries so edbrowse is a C program again. Globally replace eb_bool eb_true eb_false with bool true false, and appropriate #defines in eb.h, as it was before. 3.5.3 Then we can take the next step and the next and the next. Karl Dahlke