Text box redraws
by Peter Slegg
Hi all,
I am using 2.9 on a 68060 Atari clone (Milan) and it is starting to
become my default browser.
I have noticed that when typing into a text box, Netsurf redraws all
of the text with each key press. On fast machines you probably
don't notice but it does slow things down quite a bit on the Milan.
Would it be possible to just render the latest character or the
current line ? Obviously once input reaches the right margin and the
box has to be scrolled horizontally it must redraw all the text
but that could also be made more slick by moving the text across by
more than one char, reducing redraws.
Also, after the first 5-7 characters there is a pause before any more
input is accepted. I have seen this a few times but will keep an eye
on it to see if it is a regular occurrence.
Cheers,
Peter
10 years, 11 months
Patch: avoid repeated initialization/allocation of global object in js_newcompartment
by Ole
Hello,
this patch tries to avoid repeated initialization of JS context,
altough there is already one setup.
Maybe an assert(JS_GetGlobalObject(cx) == NULL) would be better here,
because js_newcompartment is not intended to be called twice on the same
context?
(fixes an failed assert in spidermonkey when reloading the page)
Greets,
Ole
11 years, 2 months
Re: JavaScript
by Chris Young
On Sat, 30 Jun 2012 02:13:45 +0200, Ole wrote:
> This patch adds support for older spidermonkey versions (tested with
> 1.7):
> http://pastebin.com/XEUhYhYY
That seems to work with 1.5, bar a crash in js_Execute() which I can
ignore past (and don't have time to investigate atm).
> Also remember to update desktop/netsurf.c
What needs updating in desktop/netsurf.c??
Chris
11 years, 2 months
SVN is now readonly
by John-Mark Bell
All,
As preparation for the move to Git tomorrow, SVN is now read-only.
Cheers,
J.
11 years, 2 months
JavaScript
by Vincent Sanders
I have been asked to write a small introduction about the work i have
been doing to integrate javascript.
The handling of <script> elements has been added, this required a
refactoring of code in desktop/browser.c to correctly handle script
elements and attempt to execute them with the correct interpreter.
The script implementation is functional but incomplete and probably
ought to be split to add a full object factory for script
interpreters. A decision on handling of <noscript> elements and how
the parser options are set to handle these.
A simple javascript abstraction has been added allowing for
alternative javascript interpreters to be added in future. And an
initial implementation added for the spidermonkey interpreter/jit
(jsapi) this integration allows for javascript code to be correctly
gathered and executed from script tags.
What is now required is to add bindings to the javascript runtime for
all the DOM operations including the so called DOM0 objects like the
global window object and all the associated sub objects like
navigator, console etc.
I initially intended to use a tool to generate these bindings either
from web IDL or from a DSL but it has become apparent that the
existing tools (such as jsapigen) are grossly inadequate and rolling
our own requires so much domain specific code that simply writing the
bindings by hand with helper functions is massively less effort.
The Makefile.defaults currently has NETSURF_USE_JS and
NETSURF_USE_MOZJS set to NO thus disabling all javascript in normal
builds, simply overriding these to AUTO in Makefile.config and ensuring
you have the mozilla spidermonkey packages installed (libmozjs-dev or
similar) should be enough to compile with javascript support
Ongoing work is now concentrating on adding bindings and completing
their implementation. Although there is no explicit dependency on
specific versions of spidermonkey I am primarily basing my efforts on
the 1.8.5 releases as this are the most common version found in
distributions.
--
Regards Vincent
http://www.kyllikki.org/
11 years, 2 months
Git push access, Still various missing users
by Daniel Silverstone
Hi,
The following users have SSH keys registered for push access:
Daniel Silverstone
Rob Kendrick
Michael Drake
Chris Young
Vincent Sanders
Ole Loots
It's critical that you get your SSH public keys to me ASAP if you want to be
able to push on Sunday.
D.
--
Daniel Silverstone http://www.netsurf-browser.org/
PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69
11 years, 3 months
New build system infra
by Daniel Silverstone
Hi,
If you've been watching the commits, you'll know that in preparation for the
switch to Git on Sunday, I have been reworking how the libraries and tools
find/use the shared build infrastructure.
I have been removing the use of svn:externals since we could not agree on a
fully acceptable way to expose them with Git.
As such, there is now a Makefile in tools/buildsystem and before you do
anything else, you should svn up in that tree and run the makefile.
That makefile will install into $PREFIX/share/netsurf-buildsystem all the
shared makefiles and test tools.
If you really don't want to do that, then you can, instead, export NSSHARED in
your environment as the full path to the tools/buildsystem checkout (i.e. the
dir containing example, makefiles, testtools, llvm, etc).
Then you can svn up in the library trees and they should continue to build as
before.
Once the Git transition is complete, the externals warts will vanish.
A variant of this information will be presented as part of the 'Getting started
with building NetSurf from source' wiki page I'll be roughing out before the
end of Sunday.
D.
--
Daniel Silverstone http://www.netsurf-browser.org/
PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69
11 years, 3 months
Patch: Call js_finalise after gui_quit()
by Ole
Hello,
this patch changes the shutdown order. js_finalise() must be called
after gui_quit, otherwise, gui_quit() will try to free javascript
context belonging to a javascript runtime which is already shutdown.
(gui_quit closes / destroys all open windows, which means it also frees
the js contexts at that point).
Another approach would be to collect all available js context before
calling JS_DestroyRuntime().
Greets,
Ole
11 years, 3 months