From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-x229.google.com (mail-wi0-x229.google.com [IPv6:2a00:1450:400c:c05::229]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 408FB79396 for ; Tue, 3 Feb 2015 15:41:22 -0800 (PST) Received: by mail-wi0-f169.google.com with SMTP id h11so25962999wiw.0 for ; Tue, 03 Feb 2015 15:41:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=bczcmsCK1/dl09ZD1QPcWRFKJGz0EeqMf2W3qNXS+5M=; b=gLyN4jIMxhc61WKvVcF7ab5E7kmfRi5jei3yLsYJ76uMc8R+4YsO33lf5whRbLZike E5H5O9aCcrv9anCvNQLPa4g8s8JY5uMVfD42449q+o00hNzQRxOuS5N8BuBdFvUuRjZe gwLXlquKQ/0czaDjIo7Xv9Ba0U+OOLEvn5DDupJ5AN3mttqAOcO/SEsTmMVDCvOW/Hgb b7zTAXJZlUc8t/oU+RGuiX92vHMUKF9EbETh4G6LEnZedxGCeIbigWp0NrhLSbQULntx 7PIf2uVfSvpKT9N7mdBhSeTIrRBdqU+YUa2AQWZTfG1DfcfFd59pwKGcmOqZR9c40Go5 sWkA== X-Received: by 10.194.61.145 with SMTP id p17mr59840810wjr.35.1423006877821; Tue, 03 Feb 2015 15:41:17 -0800 (PST) Received: from toaster.adamthompson.me.uk (toaster.adamthompson.me.uk. [2001:8b0:1142:9042::2]) by mx.google.com with ESMTPSA id lq5sm40597wjb.35.2015.02.03.15.41.16 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Feb 2015 15:41:17 -0800 (PST) Date: Tue, 3 Feb 2015 23:41:14 +0000 From: Adam Thompson To: Karl Dahlke Message-ID: <20150203234114.GB13593@toaster.adamthompson.me.uk> References: <20150103171517.eklhad@comcast.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="eJnRUKwClWJh1Khz" Content-Disposition: inline In-Reply-To: <20150103171517.eklhad@comcast.net> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: Edbrowse-dev@lists.the-brannons.com Subject: Re: [Edbrowse-dev] tidy5 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, 03 Feb 2015 23:41:23 -0000 --eJnRUKwClWJh1Khz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Feb 03, 2015 at 05:15:17PM -0500, Karl Dahlke wrote: > > if tidy5 builds as a library (I hope it does) > > then we build and install their code same as any other library. >=20 > Sure, that makes sense. > So we'll see who has a chunk of time first to look into this. I may have some time this weekend to have a look. > If said library swallows html and gives us a tree of nodes, should we: >=20 > A) convert those nodes into the struct htmlTags we have today > and use most of our existing machinery, incremental, or >=20 > b) follow that tree directly, build js nodes off of it, use those nodes, > don't use our structures any more, this more of a rewrite. >=20 > I'm not expecting an answer, because we'd probably have to look > at the code, and library, and resulting tree to answer the question. > Just something to chew on. =46rom what I've seen of tidy (based on the curl example code), I'd go for something between the two. Basically I'm thinking that our existing tag machinary needs work anyway, so we'd want to adapt it, but then we'd follow the tidy-generated tree, building our DOM based on that. We'd then have js hooks into our DOM which allow js to alter it since I sus= pect doing that with the tidy tree would be somewhat mor involved with the tidy code-base than we want to get. This also gives us greater flexibility in DOM implementation. Once js's finished with the DOM, we'd then render it. This logic would have to be repeated each time js alters things (with some optimisations) to ensure we get an accurate representation of what js's don= e to the page. On another DOM-related note, it seems that we probably need to move the contents of startwindow.js out of js and into our DOM implementation since = DOM objects are supposed to be "host" objects rather than javascript objects as we're implementing them. This is another reason to get a fully functional c DOM implementation, since then we can plug in tidy5 to generate the initial structure and js to= do its thing, whilst allowing the js stuff to be in c++ and the tidy5 stuff to= be in whatever we need it to be. This isn't going to be incremental, but at some stage I think we need to ju= st do it and stop making things "just work" for a few days until the next thing which "j= ust doesn't work" pops up. Cheers, Adam. --eJnRUKwClWJh1Khz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJU0VyaAAoJELZ22lNQBzHO7r0H/RBKhmC4nRUYhvB0MLtA6K3u Jot/xjgqqod9LHBKN/nKpaDl3KbLPFwo4om4JN9kZ0TgDIcDGbvtSXo7oLi3/ks8 mGiqpF1BzXEuwJovxbmWwRU46Bpc8ObEmFXJCRZa4tx3SmD5VIr78uFYQsPd/NNg PwzDDrleb3KyCSgiLd3c/5aSS+iGjlPm/9Hgn+TtGLt+IY8YDh0QuhrSFAKQ/0eA 6sDGzgEpe5VFW/2ItWweqaCKjBNGgHm9tIWmYiY/2uFNPQOLcvC+WPMPTxLi4dwE aCln25N8+IL+p9jRXt3DclFEbPf8DTVm+LA5FiQg/DPCVcOOVsK+z+UIfSjPZqg= =G3O6 -----END PGP SIGNATURE----- --eJnRUKwClWJh1Khz--