Commit Graph

704 Commits

Author SHA1 Message Date
Vincent Sanders
97759f62af USe the externally built conveniance utf8proc library 2014-11-14 13:46:08 +00:00
Vincent Sanders
9fde3502b6 doxygen cleanups in utils 2014-11-12 23:27:13 +00:00
Vincent Sanders
e32a2ad46e Doxygen fixes 2014-11-09 15:28:03 +00:00
Vincent Sanders
8f64d5d223 Improve Doxygen documentation 2014-11-08 12:35:11 +00:00
Vincent Sanders
f287379a7c Fix several doxygen issues 2014-11-08 11:38:20 +00:00
Vincent Sanders
3fc1fe0493 fix dumb mistake in missing a close bracket. 2014-11-04 20:53:19 +00:00
Vincent Sanders
d85b74fd72 change logic to check for false instead of not true to fix coverity 1250328 2014-11-04 20:41:31 +00:00
Vincent Sanders
ad343eccb1 remove unecessary utils/types.h
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +00:00
Vincent Sanders
c31c4babe1 Change contextual content retrieval to browser features.
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.

By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.

Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Michael Drake
98b6d02df6 Move host_is_ip_address into urldb, as that's the only thing that cares. 2014-10-31 14:31:06 +00:00
Vincent Sanders
02ff3920ce remove unused url_init function 2014-10-31 00:50:32 +00:00
Vincent Sanders
ce3d991918 use nsurl_nice and remove url_nice
change all callers over to using new API for generating nice filenames
from a url and remove the old API.
2014-10-31 00:24:57 +00:00
Michael Drake
07376fc96b Remove unused variable. 2014-10-30 22:47:25 +00:00
Michael Drake
13832a453a Add a nsurl_nice, which can replace url_nice. 2014-10-30 22:34:09 +00:00
Michael Drake
3ff7557c34 Add a lwc corestring for "/". 2014-10-30 22:34:09 +00:00
Vincent Sanders
c646d05ae5 update nsurl file header to contain references to the specifications it implements 2014-10-29 23:41:13 +00:00
Vincent Sanders
d204d6d555 Clean up saving as PDF
This removes the global PDF_Password interface that had completely
bitrotted and moves it into the standard misc operation table with a
sensible defualt implementation.

This also cleans up and fixes the gtk frontend implementation of the
pdf password callback so it compiles.

Finally this moves the implementation to a sensible place alongside
the other exporters reducing target makefile complexity futher.
2014-10-26 23:53:14 +00:00
Vincent Sanders
14e2829489 remove the die API from the core.
The die() API for abnormal termination does not belong within the core
of netsurf and instead errors are propogated back to the callers.

This is the final part of this change and the API is now only used within
some parts of the frontends
2014-10-26 12:42:53 +00:00
Michael Drake
64d591676b Remove unused url_components stuff. 2014-10-26 10:23:28 +00:00
Michael Drake
1ccfcfe953 Remove unused url_path function. 2014-10-26 10:21:27 +00:00
Michael Drake
d732b0c769 Remove unused url_scheme function. 2014-10-26 10:18:39 +00:00
Vincent Sanders
e39606c411 make regex wrapper return errors instead of just aborting 2014-10-25 23:07:00 +01:00
Vincent Sanders
7cf5cf7cb7 fix doc comments 2014-10-25 17:12:16 +01:00
Vincent Sanders
94ab63319f Improve the message loading API to return error codes.
Returning an error instead of simply calling die allows more robust
error handling. Secondly initialisation may continue even if the
messages have not been loaded which is more friendly than simply
dropping dead with no communication to the user.
2014-10-25 12:45:32 +01:00
Vincent Sanders
d06df231bc Update the core to use the split operations table headers
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
02bbaa3e88 split version info into its own header and remove unnecessary nesurf.h includes
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.

Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
1a2040bc72 Trivial sepelling, documentation and whitespace cleanups 2014-10-10 13:01:20 +01:00
Chris Young
a90f5d1c8b Stop the Amiga build complaining about redefined strndup 2014-09-20 13:42:47 +01:00
Michael Drake
d0a4020d16 Fix test rig leak. (cppcheck) 2014-09-06 07:49:04 +01:00
Michael Drake
050b76d49a Handle realloc failure. 2014-09-05 23:25:43 +01:00
Vincent Sanders
ef5b234080 we build for haiku not beos 2014-09-05 13:18:39 +01:00
Vincent Sanders
9b62f1ec53 fix output target name 2014-09-05 01:10:12 +01:00
Vincent Sanders
a8f83d729c update jenkins build script for use with beos 2014-09-05 00:52:37 +01:00
Vincent Sanders
37755fb135 add incomplete scheme fetcher for javascript urls 2014-08-25 15:59:52 -07:00
Vincent Sanders
ea1e68feba remove old svn script 2014-08-17 08:46:01 +01:00
Vincent Sanders
d0da99beca extend gtk viewdata to open files in an editor using the freedesktop default app specification 2014-08-16 23:33:12 +01:00
Michael Drake
a807d762f9 mailto urls don't have passwords or ports, so we don't need to look for ':'. 2014-08-04 14:49:35 +01:00
Michael Drake
04ea4b52a0 Add debug. 2014-08-04 14:48:32 +01:00
Vincent Sanders
af16c38d2d fix DOM tree dump debug 2014-08-04 00:37:21 +01:00
Vincent Sanders
5ce4f11eac add link context menu to gtk and add link copying and bookmarking 2014-07-07 23:29:06 +01:00
Vincent Sanders
8848f754e0 documentation fixes and cleanups 2014-07-02 16:39:08 +01:00
Vincent Sanders
06eb81235d fix fetchers include on windows 2014-07-01 09:17:22 +01:00
Vincent Sanders
16dea2e2bd stop idna (en/de)code asploding when the passed host begins with a . 2014-06-10 23:38:35 +01:00
Chris Young
2462f5658e Fix memory leak on error 2014-06-10 19:27:39 +01:00
Vincent Sanders
d2b77a40a9 fix memory leaks in error paths. (coverity 1220852 and 1220851) 2014-06-10 00:22:44 +01:00
Michael Drake
f6fec1a8d7 Put ultra-verbose logging inside NSURL_DEBUG #ifdef. 2014-06-09 21:22:25 +01:00
Vincent Sanders
4488c8a2e4 fallback to old url creation behaviour if the IDNA host parse fails 2014-06-09 18:05:36 +01:00
Vincent Sanders
8e29e517d5 fix disc cache size option to be unsigned 2014-06-09 13:13:59 +01:00
Vincent Sanders
f1c2dde13b extend file table with mkdir all and make fs backing store use it.
enable fs backing store for RISC OS.
2014-06-05 12:06:47 +01:00
Daniel Silverstone
4641769ae5 Make chris' work compile without warning and not infinite-loop where I spotted it 2014-06-04 13:50:26 +01:00
Chris Young
eee7189f05 Normalise intermediary UCS-4 string when verifying ACE labels 2014-06-04 13:24:24 +01:00
Chris Young
db0856606a IDNA2008 support. 2014-06-04 13:24:24 +01:00
Chris Young
9d2d717e9f Import Punycode reference implementation. 2014-06-04 13:24:24 +01:00
Chris Young
9fb4fd738a Import a local modified version of utf8proc for Unicode normalisation. 2014-06-04 13:24:24 +01:00
Chris Young
e5d5e68eb5 Required IDNA/Unicode properties files and generation. 2014-06-04 13:24:24 +01:00
Vincent Sanders
7c0da1e94f annotate die() as not returning 2014-05-28 15:12:58 +01:00
Vincent Sanders
00b6cfc57e rework path to url mapping functions to convert from and to nsurl 2014-05-26 23:52:36 +01:00
Michael Drake
1f337f292d Fix fread error handling. 2014-05-26 14:03:20 +01:00
Daniel Silverstone
cb978fe470 Attempt to fix Jenkins build for cocoa 2014-05-18 22:09:54 +01:00
Vincent Sanders
3b42f73b5a check fseek return value (coverity 1109837) 2014-05-18 14:40:39 +01:00
Vincent Sanders
17b347a260 check mkdir results (coverity 1109838) 2014-05-18 14:40:39 +01:00
Vincent Sanders
39518eb3c1 fix possible buffer termination error (coverity 1195410) 2014-05-18 10:44:51 +01:00
Michael Drake
982fc516cc Move old cache path. 2014-05-16 14:04:49 +01:00
Vincent Sanders
ef00272e2f add helpers for time_t reading/writing 2014-05-15 01:18:52 +01:00
Vincent Sanders
07e4924254 make vsnstrjoin correctly check for null arguments. 2014-05-13 17:39:56 +01:00
Vincent Sanders
4784273195 fix typo in nsc_time_strptime 2014-05-13 16:59:30 +01:00
Vincent Sanders
6532346277 add struct tm definition and fix build error 2014-05-13 16:46:48 +01:00
Vincent Sanders
1a3ee6090d add strptime compatability 2014-05-13 16:37:49 +01:00
Vincent Sanders
06091eee36 fix fseek error return checking (fixes coverity 1109839) 2014-05-11 23:48:40 +01:00
Vincent Sanders
c3e2dc9005 check return values of fseek (fixes coverity 1109840) 2014-05-11 23:45:42 +01:00
Vincent Sanders
83fa2a9482 check return from fseek (fixes coverity 1109841) 2014-05-11 23:43:36 +01:00
Vincent Sanders
f94bc67107 safely copy header name and author (fixes coverity 1195408) 2014-05-11 23:38:18 +01:00
Vincent Sanders
4776de4001 ensure filename is null terminated (fix coverity 1195409) 2014-05-11 23:35:12 +01:00
Vincent Sanders
d3ddb39102 fix possible missing null termination (coverity 1195410 and 1195411 ) 2014-05-11 23:29:55 +01:00
Vincent Sanders
39b0393d31 cleanup utils header, remove cruft and add documentation 2014-05-11 21:31:14 +01:00
Vincent Sanders
7dc170e6d8 we now ensure the operations table is set up early enough the null check is not required 2014-05-10 11:17:34 +01:00
Vincent Sanders
429d6e20f7 remove unused url operations 2014-05-09 10:30:24 +01:00
Vincent Sanders
096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
Vincent Sanders
6349704b5e fix silly errors in atari and amiga file operation table change 2014-05-07 16:38:58 +01:00
Vincent Sanders
c56642819e add file operations table and make all frontends use it.
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.

These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.

These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders
c1e2da80df add string utility to join strings 2014-05-07 16:24:30 +01:00
Vincent Sanders
0c5c7159d8 remove uncessary includes 2014-05-02 12:26:25 +01:00
Vincent Sanders
b7c744cf32 make brackets match 2014-05-02 12:01:37 +01:00
Vincent Sanders
3c8769cc4b OpenBSD headers have strcasestr 2014-05-02 11:46:39 +01:00
Vincent Sanders
99c997bfc6 adjust javascript library build parameters for openbsd 2014-05-02 11:16:32 +01:00
Vincent Sanders
c80a281ea5 update to cope with make tool naming 2014-05-02 11:08:01 +01:00
Vincent Sanders
1eb49059ab add OpenBSD to jenkins build script 2014-05-02 11:03:43 +01:00
Vincent Sanders
5dd6fa6f22 use compatability macro for mkdir 2014-04-28 17:38:15 +01:00
Vincent Sanders
1fd565cba7 make GTK configuration handling conform to XDG specification. 2014-04-28 16:37:00 +01:00
Michael Drake
2c4825cb38 Remove excessive logging. 2014-04-18 17:30:28 +01:00
Michael Drake
d1223950d7 Handle some directories already existing.
When creating the path to the cache directory we were
  giving up on the first directory that already existed.

  This prevented the path to the cache directory getting
  made, which prevented view-source from working if the
  path was only patially available.
2014-04-18 17:12:52 +01:00
Michael Drake
2a4f7f6b65 Add more logging for filename init. 2014-04-18 17:07:24 +01:00
Michael Drake
55415ed6cd Add logging to filename_initialise(). 2014-04-18 16:50:58 +01:00
Michael Drake
9c60417f73 Simplify DOM node walker. 2014-03-31 22:09:45 +01:00
Vincent Sanders
20b3c40816 make nsurl_defragment() API more obvious and remove duplicated parameter checking 2014-03-09 16:20:53 +00:00
Vincent Sanders
87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake
1228cd7576 Save a call to lwc_string_length. 2014-02-15 12:39:09 +00:00
Michael Drake
4a59399cd7 Ensure allocation includes space for fragment. 2014-02-15 12:32:59 +00:00
Michael Drake
42be1ffa7b Reject creation of http(s) urls without hosts. 2014-02-11 11:34:10 +00:00
Michael Drake
22d15380f4 Add function to get browser window's extents. 2014-02-08 16:03:06 +00:00