Commit Graph

896 Commits

Author SHA1 Message Date
Vincent Sanders
2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +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
b7b3496a78 move testament output to object directory instead of modifying source 2014-04-08 11:41:58 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Vincent Sanders
da0b969f25 Improve llcache header processing
By skipping empty headers and correctly dealing with whitespace around
header names we store fewer entries with better adherance to allowed
values in http responses.
2014-03-09 16:22:28 +00:00
Vincent Sanders
25ce52ee64 only try and cache http and https urls 2014-03-09 16:20:53 +00:00
Vincent Sanders
8d883978c6 remove unnecessary caching of whether a url has a query element 2014-03-09 16:20:53 +00: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
Vincent Sanders
60973fe5d1 Make llcache debugging less invasive 2014-02-21 11:43:48 +00:00
Vincent Sanders
ff8c37a6ee Witespace cleanup to prepare for backing store addition 2014-02-21 11:31:39 +00:00
John-Mark Bell
823aad5ddf Use libcurl's cache if it's new enough. Fixes #2064. 2014-02-06 01:19:22 +00:00
Vincent Sanders
fba58ad4b0 remove unecessary include 2014-02-04 15:19:46 +00:00
Vincent Sanders
7b380d0982 fix sign extension issue on 64bit platforms (coverity 1109898) 2014-02-04 13:24:25 +00:00
Vincent Sanders
db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Vincent Sanders
8ce0a10670 move path_to_url and url_to_path to fetch operation table 2014-01-25 23:01:32 +00:00
Michael Drake
2075ad7ff4 Use corestrings. 2014-01-24 20:19:20 +00:00
Michael Drake
14238615a4 Use corestrings for "about", "data", and "resource". 2014-01-24 20:08:41 +00:00
Michael Drake
e32dc31b04 Use corestring ref. 2014-01-24 19:58:51 +00:00
Michael Drake
178f3945b8 Just use corestring refs. 2014-01-24 19:31:50 +00:00
Michael Drake
c4e2fff5a4 Use corestrings for fetch module's lwc strings. 2014-01-24 19:25:07 +00:00
Vincent Sanders
0475693394 create table for fetcher operations and move all operations into it 2014-01-23 00:00:18 +00:00
John-Mark Bell
4a014b61be Enable TLS 1.2 support again. 2014-01-19 22:57:16 +00:00
Vincent Sanders
4987a3a8a7 remove forward refs from content/fetch.c and cleanup doc comments 2014-01-19 21:18:47 +00:00
Vincent Sanders
977ae8efc6 remove all forward declarations from hlcache.c 2014-01-19 21:18:47 +00:00
Vincent Sanders
38cb39339a move filename_from_path and path_add_part into gui operation tables 2014-01-16 00:01:25 +00:00
Vincent Sanders
bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders
0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders
303a29a89c cleanups to fix new clang warnings 2014-01-10 15:55:29 +00:00
Daniel Silverstone
9a9cb399f9 Merge branch 'rjek/click-file-gadget' 2014-01-05 17:03:17 +00:00
Rob Kendrick
0d7f1cfc93 Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop 2014-01-05 16:04:35 +00:00
Daniel Silverstone
b4f9860848 Remove logging now that file upload *seems* to work 2014-01-04 22:05:23 +00:00
Daniel Silverstone
33f94c265e Support cloning rawfile data 2014-01-04 21:49:03 +00:00
Daniel Silverstone
de42f8880e Add a bunch of logging to try and help track down the issue with rawfile handling, sorry guys 2014-01-04 21:20:17 +00:00
Daniel Silverstone
581d877576 In theory, store raw filenames and pass them through for file upload. Untested due to no file-upload in GTK frontend just yet 2014-01-04 19:34:18 +00:00
Michael Drake
c56fb9259b Enable access to hotlist icons through resource URLs. 2013-11-20 22:03:07 +00:00
Michael Drake
c80229e256 Get referer host from referer url. 2013-11-18 11:49:51 +00:00
Michael Drake
c933b0aff9 Sort non zero-padded numerical filename parts correctly. 2013-11-14 21:01:51 +00:00
Michael Drake
5e4e32923d Can just use scandir now. 2013-11-14 19:02:35 +00:00
Michael Drake
7a920ace39 Marginally cleaner handling of scandir absence. 2013-11-11 11:38:48 +00:00
Michael Drake
74d430f44a Dirty special casing of Windows, to handle mingw dirent.h's lack of scandir and alphasort. 2013-11-11 10:58:55 +00:00
Michael Drake
8a72d5be84 Sort directory contents. 2013-11-10 22:02:12 +00:00
Michael Drake
61b5a5e98f Visual indication of hotlist's folder for unsorted entries, with special icon. 2013-11-08 18:53:34 +00:00
Michael Drake
0d03a342d9 Clean up cached fetch handles. 2013-10-24 18:12:18 +01:00
Michael Drake
2754918e25 Fix leak of path_query, when there is no host and scheme isn't file. 2013-10-23 18:55:00 +01:00
Michael Drake
f2aa7202ba Fix Coverity #1109872. 2013-10-23 16:25:48 +01:00
Michael Drake
5122559d73 Pedantic wrap fix. 2013-10-23 15:41:19 +01:00
Michael Drake
f45bc88b3d Fix Coverity #1109867. 2013-10-23 15:40:27 +01:00
Michael Drake
21d63c3542 Pedantic wrap fix. 2013-10-23 15:15:08 +01:00
Michael Drake
9ea65f652a Fix Coverity #1109871. 2013-10-23 15:04:51 +01:00
Vincent Sanders
776d0b90a1 improve comment to indicate what API is for 2013-10-23 13:49:33 +01:00
Michael Drake
cf8ffa412a Remove old hotlist, cookies, and history_global_core modules.
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake
8f2f4ca2a8 Use new cookie manager. 2013-09-02 12:26:38 +01:00
Michael Drake
f0b8594c46 Add arrow image to resource icons. 2013-08-12 16:34:14 +01:00
Michael Drake
2bd587add5 Make the parasitic hack of the old tree code more robust. Now if the temp_treeview_test option is set, the global history and cookie manager will be replaced with their respective new implementations. 2013-07-26 14:48:26 +01:00
Michael Drake
81b4c61ae3 Don't call cookies delete here, the cookie manager has already deleted it. (Calling it only added the cookie again, cos the old cookie manager was braindead.) 2013-07-24 11:44:30 +01:00
Michael Drake
68078d7ea7 Fix up for cookies_old rename. 2013-07-22 10:21:37 +01:00
Michael Drake
44e4ca5f05 Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2013-06-05 12:28:08 +01:00
Vincent Sanders
4d39d4314c only set no proxy value in modern enough versions of teh library 2013-06-04 18:30:22 +01:00
Vincent Sanders
4e24869524 Add and use no proxy list option 2013-06-04 18:11:15 +01:00
Michael Drake
a2c6f90330 Add icons to resource space. 2013-05-31 10:00:59 +01:00
Vincent Sanders
68c2013504 add provenance to about:config 2013-05-28 21:36:46 +01: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
Michael Drake
ba9769bc8c Pass fetch redirect info up to content layer as content_msg. Mark redirect origin URLs as visited in browser window content callback. Note this doesn't mean we track redirects, it just lets us get the :visited link style on links that redirect. 2013-05-27 14:51:00 +01:00
Rob Kendrick (humdrum)
90d2c8c212 Use hash generated by nsurl rather than doing it ourselves 2013-05-20 09:19:31 +01:00
Rob Kendrick (humdrum)
c204e5ff0c Add explanitory comment and make bloom size be a #define 2013-05-17 12:12:55 +01:00
Rob Kendrick (humdrum)
60e8f11850 urldb maintains a bloom filter of URLs contained within and consults it when searching 2013-05-17 11:40:43 +01:00
Michael Drake
8b6665fe03 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into tlsa/selection-search-refactor 2013-05-07 14:56:42 +01:00
Michael Drake
3afd9c9731 Remove search context from browser window, simplify search interface for front ends.
Added content interface for search.

Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.

Search API reduced to a pair of functions at each level:
  {desktop|content|html|textplain}_search
and
  {desktop|content|html|textplain}_search_clear

Updated front ends to use simplified search API.  Only tested GTK and RO builds.

These confine the search stuff to render/.  However search still uses struct
selection.  The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Vincent Sanders
7e2a93bb72 ensure correct cleanup of user list sentinal in content clone 2013-05-04 16:50:59 +01:00
Vincent Sanders
848f3d13ca ensure parameter contract is met 2013-05-04 08:52:12 +01:00
Vincent Sanders
560faaa7be free memory on error condition 2013-05-04 08:45:04 +01:00
Vincent Sanders
f889f0ccbf fix leak in error path 2013-05-03 14:31:23 +01:00
Vincent Sanders
82e2fc57d7 free memory on error path 2013-05-01 22:15:24 +01:00
Vincent Sanders
95e726c7cc split sources lists out to their subdirectories as first step towards using core buildsystem 2013-03-11 17:53:52 +00:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
Michael Drake
4747bbbfb2 HTML drags now go via content msg. 2013-02-08 13:22:53 +00:00
Michael Drake
147f2bd08a Remove content_msg for PASTE, since it doesn't need a gui_window to get the buffer from the front end now. 2013-01-08 16:53:00 +00:00
Vincent Sanders
87ee963ff2 Initial changes ready to improve caching decisions 2013-01-07 18:45:29 +00:00
John-Mark Bell
3dff750ae2 Downgrade TLS version support if it turns out the server can't cope with TLSv1.1. 2013-01-04 23:13:23 +00:00
John-Mark Bell
d0d3d31e97 Revert "Treat cookies from HTTP and HTTPS as identical."
Sadly, this breaks path cookies on HTTPS sites. The correct
fix is to implement RFC6265 in full (probably replacing
urldb with something less complex, too).

This reverts commit 924f8844d4.
2013-01-04 22:06:31 +00:00
John-Mark Bell
924f8844d4 Treat cookies from HTTP and HTTPS as identical. 2013-01-03 00:28:51 +00:00
Vincent Sanders
2fef76db15 add errorcode content broadcast API 2012-11-26 17:32:47 +00:00
Daniel Silverstone
413248d0fc Rough implementation of httponly cookie support 2012-11-09 11:38:46 +00:00
John-Mark Bell
aa438d34d2 Only disable TLS1.2 if it can be disabled. 2012-11-04 16:01:05 +00:00
John-Mark Bell
c2c2fc959e Disable TLS1.2 support. 2012-11-04 15:54:28 +00:00
John-Mark Bell
debe0e345b Disable SSL session ID caching. 2012-11-04 14:07:22 +00:00
John-Mark Bell
9924bcf850 Revert "Enable verbose curl debug"
This reverts commit f5a98defae.
2012-11-04 12:01:51 +00:00
John-Mark Bell
f5a98defae Enable verbose curl debug 2012-11-04 11:11:54 +00:00
John-Mark Bell
0586b97f25 Revert "Suppress BEAST workaround."
This reverts commit d31e8a7b29.
2012-11-04 10:57:33 +00:00
John-Mark Bell
d31e8a7b29 Suppress BEAST workaround. 2012-11-04 10:39:24 +00:00
Vincent Sanders
f18bbd48c7 Improve error handling in html content 2012-10-17 21:52:43 +01:00
Michael Drake
827d063c6b Remove special RISC OS handling of thumbnail files. (The feature has been broken for ages.) 2012-10-14 19:11:35 +01:00
Michael Drake
2e869ade2a Cleanup. 2012-10-11 14:38:10 +01:00
Michael Drake
a668f327ba Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2012-10-11 11:21:27 +01:00
Michael Drake
d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
John-Mark Bell
43724acf94 Fix bug #3576005: partial file means finished, not error. 2012-10-10 23:48:33 +01:00
Michael Drake
af89fdb38a Fixup for nsurl urldb. 2012-10-09 11:20:21 +01:00
Michael Drake
55bef354a6 Port to new urldb. 2012-10-08 20:33:17 +01:00