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]  tidy5
Date: Thu, 13 Aug 2015 23:37:54 -0400	[thread overview]
Message-ID: <20150713233754.eklhad@comcast.net> (raw)
In-Reply-To: <20150813200725.GE993@toaster.adamthompson.me.uk>

> In terms of an architecture I'm thinking of aiming to have the DOM as an
> abstraction which can be used by both the rendering code and the js. Thus:
> html is parsed into a node tree which is converted to our DOM objects
> These objects are exposed to js via wrapper objects in the js world such that
> any changes js makes are automatically passed through to the DOM
> The renderer renders the DOM automatically on page load,
> with support for re-rendering on a user command (with some sort of
> notifications for js induced changes)
> Form fields are altered in the DOM, which may or may not trigger a re-rendering

Yes this can cause a rerender, example onchange or onselect code,
as exercised by the regression tests in jsrt.

> Any re-rendering would be partial, i.e.
> only the changed segments of the DOM are re-rendered

This sounds like a diff between the old dom and the new,
but it's easier to just rerender and then diff the old buffer against the new,
and then report the lines that have changed, which is how edbrowse works today.
Realize that a small change in dom could change the buffer
on down the page, even into dom elements that have not changed.
So I think you always want to just call render() and then
diff the two buffers.
Maybe even a diff library we can use, if not /bin/diff itself.

These are minor points; and you are definitely on track.
This is where we need to be.

Karl Dahlke

  parent reply	other threads:[~2015-08-14  3:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-10  8:56 [Edbrowse-dev] startwindow / class NodeList Kevin Carhart
2015-08-11 21:38 ` Adam Thompson
2015-08-12  0:15   ` Karl Dahlke
2015-08-12 19:55     ` Kevin Carhart
2015-08-12 20:56       ` Karl Dahlke
2015-08-13  1:08         ` Chris Brannon
2015-08-13  4:36           ` [Edbrowse-dev] tidy5 Kevin Carhart
2015-08-13 20:07             ` Adam Thompson
2015-08-14  0:54               ` Kevin Carhart
2015-08-14  3:45                 ` Karl Dahlke
2015-08-14 20:17                   ` Chris Brannon
2015-08-16  5:54                     ` Kevin Carhart
2015-08-16 10:38                       ` Karl Dahlke
2015-08-14  3:37               ` Karl Dahlke [this message]
2015-08-16 18:10                 ` Adam Thompson
  -- strict thread matches above, loose matches on Subject: below --
2015-02-03 22:15 Karl Dahlke
2015-02-03 23:41 ` Adam Thompson
2015-02-02 19:58 Karl Dahlke
2015-02-03 21:18 ` 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=20150713233754.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).