edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Karl Dahlke <eklhad@comcast.net>
To: Edbrowse-dev@lists.the-brannons.com
Subject: [Edbrowse-dev]  js engine process, version 1
Date: Tue, 23 Dec 2014 14:50:00 -0500	[thread overview]
Message-ID: <20141123145000.eklhad@comcast.net> (raw)

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

             reply	other threads:[~2014-12-23 19:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-23 19:50 Karl Dahlke [this message]
2014-12-23 21:38 ` Adam Thompson
  -- strict thread matches above, loose matches on Subject: below --
2014-12-23 22:50 Karl Dahlke
2014-12-24  8:09 ` Adam Thompson
2014-12-23 22:17 Karl Dahlke
2014-12-23 22:31 ` Adam Thompson
2014-12-22 20:23 Karl Dahlke
2014-12-23 18:46 ` Adam Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141123145000.eklhad@comcast.net \
    --to=eklhad@comcast.net \
    --cc=Edbrowse-dev@lists.the-brannons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).