Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-16 Thread Peter Slegg
> Date: Sun, 14 Feb 2016 01:37:31 GMT
> From: Harriet Bazley 
> Subject: Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM
> On 12 Feb 2016 as I do recall,
>   Michael Drake  wrote:
>
> >
> > Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM
> > ==
> >
> > Over the last couple of weeks I have been lucky enough to be able
> > to do work on the NetSurf project at work.
> > At [Codethink](http://www.codethink.co.uk/) we have an arrangement
> > that allows engineers to fill time between projects by making
> > contributions to certain open source projects.
> >
> > My request to work on [NetSurf](http://www.netsurf-browser.org/),
> > and more particularly, its [LibDOM](http://ns-b.org/projects/libdom/)
> > and [LibCSS](http://ns-b.org/projects/libcss/) sub-projects was
> > approved and I was able to get a good amount done.
>
> [snip]
>
> I'm impressed that so much of this seems to relate to making Netsurf faster
> and more efficient!
>

Michael,

Great work. I am so impressed that your company is forward thinking
enough to let people work on other projects that will deepen and
widen their skills.

More companies should have this level of faith in their developers.

Peter






Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-15 Thread Michael Drake

On 12/02/16 17:46, Jim Nagel wrote:


NetSurf (#3382) timed out when I tried to look at the Codethink site,
but when I immediately tried again it displayed immediately.


We made a change to the fetch behavior some time ago that resulted
in us not waiting very long for a server to respond.

We've moved back to the old behavior in build CI #3406.

Cheers,

--

Michael Drake  http://www.codethink.co.uk/



Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-14 Thread Tim Hill
In article , Harriet Bazley
 wrote:
> On 12 Feb 2016 as I do recall, Michael Drake  wrote:

> >
> > Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM
> > ==
> >
> > Over the last couple of weeks I have been lucky enough to be able to
> > do work on the NetSurf project at work. At
> > [Codethink](http://www.codethink.co.uk/) we have an arrangement that
> > allows engineers to fill time between projects by making
> > contributions to certain open source projects.
> >
> > My request to work on [NetSurf](http://www.netsurf-browser.org/), and
> > more particularly, its [LibDOM](http://ns-b.org/projects/libdom/) and
> > [LibCSS](http://ns-b.org/projects/libcss/) sub-projects was approved
> > and I was able to get a good amount done.

> [snip]

> I'm impressed that so much of this seems to relate to making Netsurf
> faster and more efficient!

As someone who has been a little lax in keeping up with the bleeding edge
I'm really happy having downloaded #3403 to find it seems quicker than
the 'ancient' version I was using.

The spurious carriage returns which showed up inside tables seem to have
gone. Hurrah.

-- 
Tim Hill
www.timil.com

web sites * multimedia * training



Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-14 Thread Harriet Bazley
On 12 Feb 2016 as I do recall,
  Michael Drake  wrote:

>
> Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM
> ==
>
> Over the last couple of weeks I have been lucky enough to be able
> to do work on the NetSurf project at work.
> At [Codethink](http://www.codethink.co.uk/) we have an arrangement
> that allows engineers to fill time between projects by making
> contributions to certain open source projects.
>
> My request to work on [NetSurf](http://www.netsurf-browser.org/),
> and more particularly, its [LibDOM](http://ns-b.org/projects/libdom/)
> and [LibCSS](http://ns-b.org/projects/libcss/) sub-projects was
> approved and I was able to get a good amount done.

[snip]

I'm impressed that so much of this seems to relate to making Netsurf faster
and more efficient!

-- 
Harriet Bazley ==  Loyaulte me lie ==

It is easier to fight for one's principles than to live up to them.



Re: Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-12 Thread Jim Nagel
Excellent effort, Michael.  Thanks from all of Us Users to you and 
Codethink!

> ... At [Codethink](http://www.codethink.co.uk/) we have an arrangement
> that allows engineers to fill time between projects by making
> contributions to certain open-source projects.

Netsurf (#3382) timed out when I tried to look at the Codethink site, 
but when I immediately tried again it displayed immediately.

Curious why that should be.

-- 
Jim Nagelwww.archivemag.co.uk



Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM

2016-02-12 Thread Michael Drake


Review: Codethink sponsored work on NetSurf, LibCSS and LibDOM
==

Over the last couple of weeks I have been lucky enough to be able
to do work on the NetSurf project at work.
At [Codethink](http://www.codethink.co.uk/) we have an arrangement
that allows engineers to fill time between projects by making
contributions to certain open source projects.

My request to work on [NetSurf](http://www.netsurf-browser.org/),
and more particularly, its [LibDOM](http://ns-b.org/projects/libdom/)
and [LibCSS](http://ns-b.org/projects/libcss/) sub-projects was
approved and I was able to get a good amount done.


LibDOM
--

Most of my time has been spent improving LibDOM; the Document Object
Model library.  Since the recent moves towards adding JavaScript
support in NetSurf, various parts of LibDOM that had never been used
are beginning to get exercised.  This has revealed various issues.

The first series of changes affected the specialisations of HTMLElement:

* Added a new, more efficient means of identifying an HTML element's
  tag name.
* Fixed some missing HTML element specialisations.
* Made some optimisations relating to how the appropriate specialisation
  for an element is determined.
* Made the internal workings of HTMLElement specialisation more consistent.
* Exposed a function to enabled client applications to use the new
  efficient means of identifying HTML element tag types.

6d60021 Split out tag names from general string table and enum.
 57 files changed, 502 insertions(+), 324 deletions(-)
3894e33 Split detection of HTML TAG type out into helper.
 1 file changed, 325 insertions(+), 138 deletions(-)
1f07c35 Enable table row HTML element specialisation.
 1 file changed, 4 insertions(+)
dd2e075 Add missing specialisation of BLOCKQUOTE.
 1 file changed, 4 insertions(+)
8d09ec0 Add missing detection of HTMLDivElement specialisation.
 1 file changed, 8 insertions(+)
81c012f Add missing detection of HTMLMetaElement specialisation.
 1 file changed, 7 insertions(+)
e346fef Fix up HTMLBaseElement specialisation.
 2 files changed, 8 insertions(+), 12 deletions(-)
13df5af Add missing detection of HTMLBaseElement specialisation.
 1 file changed, 8 insertions(+)
0174d8b Remove default from HTML element specialisation switch.
 1 file changed, 1 deletion(-)
12385d1 Optimise element specialisation: use non-caseless 
comparison in ladder.

 1 file changed, 63 insertions(+), 63 deletions(-)
13f0636 Optimise HTMLElement specialisation slightly.
 1 file changed, 222 insertions(+), 189 deletions(-)
5b6c191 Fix longstanding failure to handle HTMLDirectoryElement 
specialisation.

 3 files changed, 6 insertions(+), 9 deletions(-)
9def0a4 Merge branch 'tlsa/html-element-type'
4bd00fd Fix: Pass tag_name through to HTMLQuoteElement initialiser.
 3 files changed, 9 insertions(+), 8 deletions(-)
809a7dc Merge branch 'tlsa/html-element-type'
bab3f35 Simplified consistant interface to HTMLElement creation.
 107 files changed, 894 insertions(+), 972 deletions(-)
5007c80 Store HTMLElement tag types as enum on the html elements.
 6 files changed, 15 insertions(+), 7 deletions(-)
fa21110 Style: Fix indentation and tidy up.
 1 file changed, 78 insertions(+), 66 deletions(-)
cedfbbc Add function to get html element's tag type.
 4 files changed, 41 insertions(+), 1 deletion(-)
e137aa0 Merge branch 'tlsa/html-element-type'

Various profiling sessions indicated that the lower-casing of HTML
attributes was taking too long, so that was optimised.

a37713d Optimise dom_string_(toupper|tolower) functions.
 1 file changed, 9 insertions(+), 31 deletions(-)

Another area we were spending too much time was in event dispatch.
Previously we would gather a list of nodes from the event target node
all the way back to the root node.  Now we generate a list containing
nodes with registered listeners.  In most cases, when there is no
scripting involved we can now avoid generating the list at all.

b4a245f Don't add target event to list of capture/bubbling event 
targets.

 1 file changed, 2 insertions(+), 4 deletions(-)
7e9681b Remove parameter documentation for non-existant parameter.
 1 file changed, 1 deletion(-)
2196dd1 Optimise event dispatch.
 1 file changed, 57 insertions(+), 20 deletions(-)
737cb99 Further optimise event dispatch.
 1 file changed, 20 insertions(+), 5 deletions(-)

More changes to HTMLElement handling, mostly to extend the list of
known tags to include those that are not specialised in the DOM spec.

acedecb Sort HTML elements to make it easier to see what's there.
 1 file changed, 44 insertions(+), 44 deletions(-)
c12b1ea Add full list of HTML5 elements to enum.
 2 files changed, 363 insertions(+), 202 deletions(-)
d9c4dec Merge bra