edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
* [Edbrowse-dev] Tasks
@ 2014-12-27  3:17 Karl Dahlke
  2014-12-27  8:38 ` Adam Thompson
  2014-12-28 15:57 ` Adam Thompson
  0 siblings, 2 replies; 5+ messages in thread
From: Karl Dahlke @ 2014-12-27  3:17 UTC (permalink / raw)
  To: Edbrowse-dev

It's kinda funny - we get busy with our lives and don't do substantial
work on edbrowse for several months, then we dive in on things,
sometimes the same things, which isn't very efficient.
I'd like to propose a few tasks, using that term loosely,
and ask who might want to claim which ones.
These are in no order, and there may be others;
I may even be missing the most important ones.

1. Research into v8 or perhaps other js engines.
Just play with it, hello world, what can it do,
is it better or worse than moz, perhaps rewrite jseng.cpp in it if you
really want to dive in.

2. Is there any open source that would help us with DOM?
I thought we might steal from Chrome, which would play better with v8,
but I don't know if any dom software can reasonably be extracted from the whole.

3. How does dom really work anyways?
Is there a book or tutorial that actually tells us what we have to implement?

4. Fork off a copy of edbrowse and download files in the background,
as described in my earlier email.

5. Implement imap. A lot of people want this.
Many more would use it for mail if it had imap,
and curl supports imap,
so I don't think this would be as hard as it first appears.

6. How are we going to approach frames and iframes.
Today I turn them into hyperlinks to the web pages,
but *every* other browser puts all the pages together
into oneseamless whole.
We should probably do that too.
Then buffers and web pages don't corresponds 1 for 1 any more.
Lines 237 through 451 might be this page,
and 452 to 989 that page, and so on.

7. What happens when javascript accesses variables in other documents.
This can be done through frames.
In the mozilla world, those variables are in another compartments.
Doesn't that cause js to blow up?
Or at least not to see those variables?
Or is everything in firefox in one compartment,
but that can't be right either because each compartment
has one global window object.
Maybe interwindow communication doesn't happen enough for us to worry about,
and is usually done for visual effects anyways.

8. What is ajax and jquery and all those, and how much of that
do we have to implement?

9. Find the most common websites, and trace through the js, slowly and painfully,
to see what we really need to do.
This is market driven, the 100 most used websites,
and make edbrowse work for those.
Given our limited resources, we might have to proceed this way,
rather then doing it all.
I've tried to track through js to see where edbrowse fails and why,
and it's a terribly slow and frustrating process,
especially if the js has been deliberately crapized.
I think we really need to do some of this, but I rarely have the patience
to actually do it.


Karl Dahlke

^ permalink raw reply	[flat|nested] 5+ messages in thread
* [Edbrowse-dev] Tasks
@ 2014-12-28 18:42 Karl Dahlke
  2014-12-28 19:17 ` Adam Thompson
  0 siblings, 1 reply; 5+ messages in thread
From: Karl Dahlke @ 2014-12-28 18:42 UTC (permalink / raw)
  To: Edbrowse-dev

> though perhaps we want to be careful with duplicated efort.

Right, specialy since there's only three of us.
Would you like to look at v8?
So far none of us has a hello world program working.
There is one in src, that I got straight from google,
but it doesn't compile.

make js_hello_v8

> I'd really like to get a proper DOM independant of js,
> then plug js into such a DOM.

Yes, yes, and yes.
I'm hoping that ebjs.c holds the api that will make this possible.
That was reason enough to move js into its own process,
though there are other advantages as well.
So ... are the prototypes in eb.p, from sourcefile ebjs.c,
enough to build a dom on top of?
If not then what else do we need?

> As for how much do we need to implement;
> if we want to have a browser that functions properly on the internet in a few
> years then all of it.

Yes I suppose so.
It doesn't scare me, I just wish we had more resources,
like maybe an NFS grant to pay us to do it.

> tracking through js is important,

I tried in particular to track through the js in the jquery library,
to see whether edbrowse is a mile away or ten thousand miles away
from supporting it, but I got rather overwhelmed.
It's still sitting in my to-do directory.

> make the callback given to curl support both operations,

Well of course. That's obviously a better design. Thank you.
I just put the data in memory or on disk,
according to some variables.

> Yeah, I'm wondering if we want to make that string file more c++ anyway

Anything that becomes common to edbrowse and edbrowse-js has to be C,
because edbrowse is entirely in C.
But making it common might not be worth the bother.
The routines are different in subtle ways.
The edbrowse copy calls setError() and such to report error conditions to the user,
but in edbrowse-js those errors aren't as likely, and would be treated another way,
so it will probably be 400 lines of code that look similar in 2 places,
but aren't identical enough to put in common.


Karl Dahlke

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-12-28 19:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-27  3:17 [Edbrowse-dev] Tasks Karl Dahlke
2014-12-27  8:38 ` Adam Thompson
2014-12-28 15:57 ` Adam Thompson
2014-12-28 18:42 Karl Dahlke
2014-12-28 19:17 ` Adam Thompson

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).