Commit Graph

166 Commits

Author SHA1 Message Date
Vincent Sanders
d3c392c3d3 Initial conversion of netsurf gui to callback vtable 2014-01-11 14:20:30 +00:00
Vincent Sanders
277bcec7c6 stop system colours being anything to do with frontends 2014-01-10 14:32:29 +00:00
Vincent Sanders
1502b08925 move option init out of netsurf_init 2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Vincent Sanders
35dacc3671 move the logging initialisation out to be call by frontends
This allows each frontend to pass a distinct callback to configure the
output file stream appropriately for their use.
2013-05-23 11:50:57 +01:00
Vincent Sanders
12ff7a47f4 removed unsuded memdebug utilities 2013-05-23 09:29:00 +01:00
Michael Drake
35eb251244 Fix "error setting certificate verify locations" problem when the Choices file doesn't exist. Now there's a single place for front ends to set options overrides. Fix nsoption_setnull_charp leak. 2012-10-17 14:20:18 +01:00
Michael Drake
d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Daniel Silverstone
2363301c94 Show refcnt in lwc iterator at netsurf exit. 2012-07-22 20:24:33 +01:00
Michael Drake
2ad24f39da Interned string cleanup, phase 2: Create utils/corestrings and use it in css handler. 2012-07-22 15:48:55 +01:00
Daniel Silverstone
8551b9dff0 Move js_finalise(). Fix provided by Ole Loots (mono)
svn path=/trunk/netsurf/; revision=14014
2012-06-29 20:37:32 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Vincent Sanders
67b6f8d4a3 remove unecessary includes
svn path=/trunk/netsurf/; revision=13556
2012-03-23 16:56:43 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Vincent Sanders
6ebaecccaf Totaly prefunctry binding to spidermonkey
svn path=/trunk/netsurf/; revision=13360
2012-01-01 21:42:38 +00:00
Michael Drake
861f88aa43 Port llcache to nsurl.
svn path=/trunk/netsurf/; revision=12904
2011-09-28 11:26:30 +00:00
John Mark Bell
339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
Vincent Sanders
2d33a8f85a Make high level cache, low level cache and image cache all be initialised from passed parameters
Calculate all cache sizes from single memory cache size option and sanity check
have a single global struct to hold all parameters instead of several individual variables

svn path=/trunk/netsurf/; revision=12784
2011-09-10 00:55:39 +00:00
Vincent Sanders
dec633ca8e make high level cache take a parameter structure
make hlcache have a single global container

svn path=/trunk/netsurf/; revision=12779
2011-09-08 12:04:57 +00:00
Vincent Sanders
69bee6fb71 move bitmap cache initialisation up a level
improve stats reporting

svn path=/trunk/netsurf/; revision=12770
2011-09-07 09:15:33 +00:00
John Mark Bell
6807fa854d Sniff content types where appropriate.
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)

svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +00:00
John Mark Bell
b92ca9cd30 Clean up after content factory
svn path=/trunk/netsurf/; revision=12415
2011-05-16 21:16:44 +00:00
John Mark Bell
e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Vincent Sanders
74ffc40e92 move logging initialisation
svn path=/trunk/netsurf/; revision=12152
2011-04-02 13:05:55 +00:00
Vincent Sanders
fff2520409 commandline option setting
svn path=/trunk/netsurf/; revision=12106
2011-03-18 21:58:29 +00:00
Daniel Silverstone
e083b503a0 Ensure we stop the hlcache schedule before we quit the gui
svn path=/trunk/netsurf/; revision=12036
2011-03-13 20:20:31 +00:00
Daniel Silverstone
93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
John Mark Bell
56413fd61c Lose nasty code
svn path=/trunk/netsurf/; revision=11984
2011-03-12 19:14:23 +00:00
John Mark Bell
ceadbafcbc Clean up blank_import on exit
svn path=/trunk/netsurf/; revision=11818
2011-02-26 01:19:11 +00:00
Vincent Sanders
fbb1139214 add default system colour handlers to each frontend
svn path=/trunk/netsurf/; revision=11530
2011-01-30 13:40:47 +00:00
Daniel Silverstone
3e7bf7cfb5 Ensure we correctly release all icon resources associated with trees, SSL certs, search providers, etc.
svn path=/trunk/netsurf/; revision=11421
2011-01-20 13:51:41 +00:00
John Mark Bell
43ce8206b7 Whee. Another runtime that doesn't support stdout = stderr.
We really should stop doing this.

svn path=/trunk/netsurf/; revision=11148
2010-12-29 21:25:47 +00:00
John Mark Bell
c96f682d9d Fix bug #3138151: shut down caches before killing off fetch layer
svn path=/trunk/netsurf/; revision=11069
2010-12-16 00:03:57 +00:00
Michael Drake
5eaeaed909 Remove Hubbub and Wapcaplet initialisation and finalisation.
svn path=/trunk/netsurf/; revision=10980
2010-12-04 20:14:33 +00:00
Vincent Sanders
bda534e12a Clean up how GTK frontend finds resources
svn path=/trunk/netsurf/; revision=10668
2010-07-28 15:22:44 +00:00
John Mark Bell
000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
John Mark Bell
2276afb9f6 Log any remaining interned strings (there should be none)
svn path=/trunk/netsurf/; revision=10502
2010-04-27 22:14:52 +00:00
John Mark Bell
0de2013f25 Clean up caches on exit
svn path=/trunk/netsurf/; revision=10494
2010-04-27 06:48:09 +00:00
John Mark Bell
ad8d0b3350 Handle llcache queries (GTK only for now)
svn path=/trunk/netsurf/; revision=10403
2010-04-14 23:03:49 +00:00
John Mark Bell
9e8849c04c Take the easy way out wrt loading messages files: leave it to the RISC OS frontend to do this.
svn path=/trunk/netsurf/; revision=10374
2010-04-11 22:40:41 +00:00
John Mark Bell
71de3618f1 Implement hlcache_poll(), which drives the low-level cache event loop, and attempts to clean the high-level cache.
Call this, instead of llcache_poll().

svn path=/trunk/netsurf/; revision=10371
2010-04-11 20:21:13 +00:00
Chris Young
103998165a Revert previous change
svn path=/trunk/netsurf/; revision=10215
2010-03-30 18:20:48 +00:00
Chris Young
9b9c26b569 Avoid crash if pargc is NULL. This might happen, for example, when launching NetSurf
from Workbench under AmigaOS :)

svn path=/trunk/netsurf/; revision=10214
2010-03-30 18:14:40 +00:00
Vincent Sanders
e00fb7bd2d second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
2010-03-29 20:03:44 +00:00
Vincent Sanders
7e67527267 first part of initialisation refactor move gui_init2 into frontends
svn path=/trunk/netsurf/; revision=10202
2010-03-29 16:59:30 +00:00
Daniel Silverstone
cb7412181f Replace fetch_poll with llcache_poll throughout. Allow CONTENT_OTHER to complete properly.
svn path=/trunk/netsurf/; revision=10187
2010-03-28 16:00:54 +00:00
Daniel Silverstone
05a4eceae2 Remove fetchcache.[ch]
svn path=/trunk/netsurf/; revision=10183
2010-03-28 15:34:07 +00:00
Daniel Silverstone
270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
Vincent Sanders
55162445db Add Windows frontend
svn path=/trunk/netsurf/; revision=9940
2010-01-31 00:36:02 +00:00
Vincent Sanders
e01d93f344 Refactor main into the frontends
remove unused embedded global

svn path=/trunk/netsurf/; revision=9851
2010-01-20 20:32:30 +00:00
Rob Kendrick
c72b3cf71a OpenBSD 4.4 compilation fixes. Does not deal with lack of -Wextra or -Wstrict-aliasing for lpu or hubbub.
svn path=/trunk/netsurf/; revision=6673
2009-03-02 19:26:11 +00:00
François Revel
e4407cd7e9 Had to split main() into parts to have netsurf_init() called from one thread, and the loop in another to avoid a deadlock in replicants... hope nobody minds.
svn path=/trunk/netsurf/; revision=5586
2008-10-16 20:49:12 +00:00
François Revel
6330f8e475 Have netsurf_main() do the real work and main() call it. This allows ports to call it from elsewhere to embed NetSurf in another application.
The netsurf_embedded bool remembers it for later (like, we shouldn't probably save the hotlist and preferences in that case).

svn path=/trunk/netsurf/; revision=5579
2008-10-16 11:10:43 +00:00
John Mark Bell
6c49f1fcd5 r4153 was mostly right. It does help, however, if you actually force the locale to "C" in the first place. The issues listed in the commit log for r4153 still apply. This should fix the core's parsing of floats in locales that use something other than '.' as the decimal separator.
svn path=/trunk/netsurf/; revision=5568
2008-10-13 23:32:21 +00:00
Rob Kendrick
e7c5e16b9b Performance improvements: rather than calling content_clean() every poll, we now call it no more frequently than once every 5 seconds. Additionally, we cache the result of talloc_total_size() in content_clean() rather than calculating it twice. On large documents, this function took 25% of CPU time. This makes the fetching/rendering/scrolling/redrawing of large documents over twice as fast.
svn path=/trunk/netsurf/; revision=4527
2008-07-07 14:05:29 +00:00
John Mark Bell
23fb72ea6b The core code has always assumed a locale of "C".
Do not change the locale globally, else things will break in weird and 
wonderful ways.

Introduce utils/locale.[ch], which provide locale-specific wrappers for various 
functions (currently just the <ctype.h> ones).

Fix up the few places I can see that actually require that the underlying 
locale is paid attention to.

Some notes:

  1) The GTK frontend code has not been touched. It is possible that reading of 
     numeric values (e.g. from the preferences dialogue) may break with this 
     change, particularly in locales that use something other than '.' as their
     decimal separator.
  2) The search code is left unchanged (i.e. assuming a locale of "C"). 
     This may break case insensitive matching of non-ASCII characters. 
     I doubt that ever actually worked, anyway. In future, it should use
     Unicode case conversion to achieve the same effect.
  3) The text input handling in the core makes use of isspace() to detect
     word boundaries. This is fine for western languages (even in the C locale,
     which it's currently assuming). It will, however, break for CJK et. al. 
     (this has always been the case, rather than being a new issue)
  4) text-transform uses locale-specific variants of to{lower,upper}. In future
     this should probably be performing Unicode case conversion. This is the
     only part of the core code that makes use of locale information.

In future, if you require locale-specific behaviour, do the following:

  setlocale(LC_<whatever>, "");
  <your operation(s) here>
  setlocale(LC_<whatever>, "C");

  The first setlocale will change the current locale to the native environment.
  The second setlocale will reset the current locale to "C".
  Any value other than "" or "C" is probably a bug, unless there's a really
  good reason for it.

In the long term, it is expected that all locale-dependent code will reside in 
platform frontends -- the core being wholly locale agnostic (though assuming 
"C" for things like decimal separators).


svn path=/trunk/netsurf/; revision=4153
2008-05-13 14:37:44 +00:00
John Mark Bell
74a1095cd6 Remove unnecessary includes
svn path=/trunk/netsurf/; revision=4144
2008-05-11 10:09:44 +00:00
John Mark Bell
ae3555ccdd Fixes for targetting NetBSD (Thanks to Adam Hoka)
svn path=/trunk/netsurf/; revision=3775
2008-01-26 16:44:17 +00:00
John Mark Bell
6eeeee1778 Ignore SIGPIPE on all platforms, not just RISC OS.
svn path=/trunk/netsurf/; revision=3638
2007-10-31 15:39:55 +00:00
Vincent Sanders
2f864eeecc Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Rob Kendrick
43257a160b Changes to allow building on Solaris.
* Tested on Solaris Express: Developer Edition,
          which is between Solaris 10 and 11.
        * Used gcc, libmng etc packages using pkg-get and blastwave's resources.
        * Had to build lemon and re2c manually.

svn path=/trunk/netsurf/; revision=3350
2007-06-15 22:07:11 +00:00
Daniel Silverstone
6807b4208a Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.

This is untested under self-hosted RISC OS builds. All else tested and works.


svn path=/trunk/netsurf/; revision=3307
2007-05-30 22:39:54 +00:00
Daniel Silverstone
25e22eb1f5 Add a -v option to enable debug logging. Pass -v by default to the RO runimage.
svn path=/trunk/netsurf/; revision=3306
2007-05-30 22:27:58 +00:00
James Bursa
73281a7add Log libxml2 version in lib_init().
svn path=/trunk/netsurf/; revision=3268
2007-05-06 06:11:00 +00:00
John Mark Bell
9e96993474 Revert r3156 (content cleaner frequency reduction) as it introduces
potential stability issues.

svn path=/trunk/netsurf/; revision=3160
2007-01-31 00:02:38 +00:00
John Mark Bell
f3e6ad3e90 Attempt to perform content cleaning far less frequently.
svn path=/trunk/netsurf/; revision=3156
2007-01-30 00:44:53 +00:00
John Mark Bell
5b3f0755f6 Add URLdb destruction functionality
svn path=/trunk/netsurf/; revision=3115
2006-12-08 22:38:46 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Richard Wilson
74fa727509 Experimental new frames code.
svn path=/trunk/netsurf/; revision=2906
2006-09-02 15:52:41 +00:00
John Mark Bell
a63221a624 Rewrite cookie parser to be more tolerant of junk input
No longer need urldb_init; remove it.

svn path=/trunk/netsurf/; revision=2643
2006-06-24 15:44:48 +00:00
John Mark Bell
4f249f9d0a Merge cookies changes into head - unvalidated transactions and a UI
still need implementing.

svn path=/trunk/netsurf/; revision=2632
2006-06-19 21:49:25 +00:00
John Mark Bell
46bc8ca154 [project @ 2005-07-11 18:10:10 by jmb]
Cache previous iconv conversion descriptor

svn path=/import/netsurf/; revision=1792
2005-07-11 18:10:10 +00:00
Richard Wilson
350247a0f2 [project @ 2005-02-07 23:00:09 by rjw]
Stop toolbar scrolling by 1px, make theme saving use leafnames, improve error handling

svn path=/import/netsurf/; revision=1499
2005-02-07 23:00:09 +00:00
Richard Wilson
12de122415 [project @ 2005-02-07 14:17:35 by rjw]
Stop crashes during buffered rendering freezing RISC OS

svn path=/import/netsurf/; revision=1494
2005-02-07 14:17:35 +00:00
John Mark Bell
5802723281 [project @ 2004-09-27 05:21:00 by jmb]
Improve !Boot file and support protocol fallback positions.

svn path=/import/netsurf/; revision=1287
2004-09-27 05:21:00 +00:00
John Tytgat
6b46a8d916 [project @ 2004-08-26 22:59:02 by joty]
die() doesn't need extra ().

svn path=/import/netsurf/; revision=1252
2004-08-26 22:59:02 +00:00
James Bursa
54d25de371 [project @ 2004-07-30 16:16:07 by bursa]
Implement content_quit() and ro_gui_window_quit() to free resources on quit.

svn path=/import/netsurf/; revision=1164
2004-07-30 16:16:07 +00:00
James Bursa
0f7e16c04f [project @ 2004-07-28 23:07:52 by bursa]
Implement gui_init2() and move RISC OS-specific code in main() to it. Use intro page if option_homepage_url is "".

svn path=/import/netsurf/; revision=1158
2004-07-28 23:07:52 +00:00
James Bursa
b65c4d4102 [project @ 2004-07-28 22:38:17 by bursa]
Renamed curl_memdebug() to memdebug_memdebug().

svn path=/import/netsurf/; revision=1157
2004-07-28 22:38:17 +00:00
Andrew Timmins
b59616c9ab [project @ 2004-07-26 20:13:45 by atimmins]
Updated to support new config options (homepage, open on startup).  Bug fixes with new config pane window (sticky selected radio icon bug!).  Also includes up-to-date French templates.

svn path=/import/netsurf/; revision=1150
2004-07-26 20:13:45 +00:00
John Mark Bell
c4b561e841 [project @ 2004-07-18 22:57:22 by jmb]
Remove unnecessary declaration of external function.

svn path=/import/netsurf/; revision=1100
2004-07-18 22:57:22 +00:00
Andrew Timmins
86f60c4c0a [project @ 2004-07-18 22:21:32 by atimmins]
svn path=/import/netsurf/; revision=1097
2004-07-18 22:21:32 +00:00
Richard Wilson
962b3dd828 [project @ 2004-07-09 17:03:34 by rjw]
Tidier hotlist code. URL normalisation. Redraw uses Tinct.

svn path=/import/netsurf/; revision=1063
2004-07-09 17:03:35 +00:00
John Tytgat
a0d511734a [project @ 2004-07-05 20:19:51 by joty]
Using UTF-8 instead of Latin1 encoding.

svn path=/import/netsurf/; revision=1049
2004-07-05 20:19:52 +00:00
James Bursa
b4723c1d05 [project @ 2004-06-21 15:09:58 by bursa]
Merge memory cache into content module.

svn path=/import/netsurf/; revision=986
2004-06-21 15:09:59 +00:00
James Bursa
839ae69953 [project @ 2004-06-15 18:59:54 by bursa]
Log version on startup.

svn path=/import/netsurf/; revision=972
2004-06-15 18:59:54 +00:00
John Mark Bell
bd6ec25190 [project @ 2004-06-10 22:39:56 by jmb]
Compiler warning purge

svn path=/import/netsurf/; revision=954
2004-06-10 22:39:56 +00:00
James Bursa
08177fa581 [project @ 2004-06-10 20:41:26 by bursa]
Add global content list. Better error handling in content code. Improved code documentation. Remove some obsolete functions. Implement debug window listing contents.

svn path=/import/netsurf/; revision=951
2004-06-10 20:41:26 +00:00
John Tytgat
9dde0f406f [project @ 2004-06-06 11:47:23 by joty]
Log in stderr on which machine NetSurf was running.

svn path=/import/netsurf/; revision=930
2004-06-06 11:47:23 +00:00
John Mark Bell
e42361b684 [project @ 2004-05-02 17:38:29 by jmb]
Move save_complete_init() call to gui_init()

svn path=/import/netsurf/; revision=818
2004-05-02 17:38:29 +00:00
John Mark Bell
8cb321ec78 [project @ 2004-05-02 00:21:40 by jmb]
Minimal fixes to allow compilation with Norcroft

svn path=/import/netsurf/; revision=813
2004-05-02 00:21:41 +00:00
James Bursa
16423f30fc [project @ 2004-03-27 18:46:22 by bursa]
Call save_complete_init().

svn path=/import/netsurf/; revision=678
2004-03-27 18:46:22 +00:00
James Bursa
edbc58e53a [project @ 2004-03-23 22:51:45 by bursa]
Remove unused nsjpeg_init().

svn path=/import/netsurf/; revision=657
2004-03-23 22:51:45 +00:00
James Bursa
7f534336b0 [project @ 2004-03-14 22:50:28 by bursa]
Add setlocale() call in init for better toupper etc. for text-transform.

svn path=/import/netsurf/; revision=622
2004-03-14 22:50:28 +00:00
James Bursa
5a7d38ea9f [project @ 2004-03-13 13:03:01 by bursa]
Disable clean_cookiejar() due to reliability problems.

svn path=/import/netsurf/; revision=612
2004-03-13 13:03:01 +00:00
James Bursa
1c85bf0429 [project @ 2004-03-02 18:02:17 by bursa]
Add new url functions and modify to use them.

svn path=/import/netsurf/; revision=578
2004-03-02 18:02:41 +00:00
James Bursa
1319ff78c8 [project @ 2004-02-13 16:09:12 by bursa]
Clean up and rewrite options code.

svn path=/import/netsurf/; revision=536
2004-02-13 16:09:12 +00:00
John Mark Bell
986b650983 [project @ 2004-01-25 20:13:51 by jmb]
Add jpeglib 6b based rendering. Attempts to use the OS routines first as
they're faster.

svn path=/import/netsurf/; revision=503
2004-01-25 20:13:51 +00:00
John Mark Bell
62245d13ec [project @ 2004-01-05 02:10:59 by jmb]
Add ability to turn off browser features in build.
This may be useful when hunting down bugs.

svn path=/import/netsurf/; revision=480
2004-01-05 02:10:59 +00:00
John Mark Bell
b0b2ec850f [project @ 2003-12-28 02:35:46 by jmb]
Remove expired cookies from the cookiejar.
Cookies are removed every time a window is closed and when NetSurf is
quit.
/me slaps libcurl for not doing it itself.

Make cookie_create() read the cookie jar location from the messages file.

svn path=/import/netsurf/; revision=463
2003-12-28 02:35:46 +00:00