Commit Graph

970 Commits

Author SHA1 Message Date
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
Michael Drake
5d7ad9db46 Port to new urldb. 2012-10-08 20:32:57 +01:00
Michael Drake
e9b207c658 Port urldb to nsurl. Won't build since rest of NS needs ported to new urldb API.
+ urldb API now takes URLs as nsurl, rather than string.
+ urldb internally stores full URLs with nsurl ref.
+ urldb internally stores schemes as lwc_string.
+ Load and save of cookies and URL file may be slower since
  we now need to create a nsurl.
+ Everything else should be faster, and there should be much
  less allocating/freeing and much less parsing of the same
  url over and over again.
+ Updated urldbtest for new urldb API.
+ urldbtest now cleans up at the end
+ Added lwc_string itterator to end of urldbtest
+ Adding some broken URLs (such as http:domain/) will now
  work, since nsurl fixes (http://domain/) them.
2012-10-08 20:22:04 +01:00
Daniel Silverstone
9cb4d00ea9 If you pass CI_BUILD=xxx to make, it will build a CI #xxx into the version string and also mention it in the testament 2012-10-06 18:12:57 +01:00
Michael Drake
29ad56b4b2 Use nsurl_parent. 2012-10-06 14:07:34 +01:00
Michael Drake
192b2285f5 Constify. 2012-10-06 00:20:26 +01:00
Michael Drake
63adec1315 Add comment. 2012-10-05 19:06:24 +01:00
Michael Drake
346b061d7b Remove unused #include. 2012-10-05 18:29:17 +01:00
Michael Drake
0e23bbe911 Improve comment. 2012-10-05 17:29:57 +01:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
John-Mark Bell
c22fbf9377 Avoid trying to mmap zero-length files.
Remove buf size limit in mmap case: prevented processing entire file.
2012-09-19 22:50:28 +01:00
Michael Drake
daf10f00a6 API for content debug dump. 2012-08-20 16:03:45 +01:00
Michael Drake
edef40bbc4 Don't pass struct box to content open. 2012-08-20 14:22:28 +01:00
Michael Drake
57d2e31e59 Avoid using hlcache_handle for drag saves in html_interaction. Drag save msg with NULL content now means save the content which sends the message. 2012-08-19 12:46:42 +01:00
Michael Drake
a2906b3994 Add paste request content message. 2012-08-18 22:19:15 +01:00
Michael Drake
fb6186484e Now contents types without mouse handling can set default pointer. Fixes standalone images showing e.g. link pointer if that was the last pointer before the standalone image loaded. 2012-08-17 10:02:41 +01:00
Michael Drake
142a0bf859 Add content message for setting mouse pointer. 2012-08-17 10:01:15 +01:00
Michael Drake
402de7572d Use new content message for saving of hyperlink target URL. 2012-08-16 23:26:05 +01:00
Michael Drake
1919c8e071 Add message for content wanting wanting drag save to start. 2012-08-16 20:20:49 +01:00
Michael Drake
e5374cc042 Let contents broadcast explicit status messages as well as announce that their internal status has been updated. 2012-08-15 19:00:50 +01:00
Michael Drake
fcb7143ecb Simplify content status text setting. 2012-08-15 11:50:08 +01:00
Michael Drake
41e12953dc Add scroll request message to content message system. 2012-08-13 22:54:18 +01:00
Vincent Sanders
f58b5924a5 alter file fetcher to use mmap where available 2012-08-13 17:00:43 +01:00
Vincent Sanders
de982b4d3e fix windows build format specifiers
add install target for windows - creates installer rather than actually installing
2012-08-12 21:52:39 +01:00
Vincent Sanders
78620910e8 check all return values of string comparisons 2012-08-09 17:30:02 +01:00
Vincent Sanders
137bba2978 fix missing check of lwc_string_caseless_isequal() return value 2012-08-09 16:33:06 +01:00
Vincent Sanders
25cdea3351 doxygen serious warning cleanup 2012-07-24 16:19:49 +01:00
Michael Drake
a2dadbbe12 Add about:welcome handler and enable resource:welcome.html. 2012-07-21 13:12:51 +01:00
Vincent Sanders
9b85ae106b limit url debug output to 140 characters 2012-07-03 14:32:13 +01:00
Vincent Sanders
07bea88149 fix theme comment
fix CONTENT_ANY mask missing the script entry

svn path=/trunk/netsurf/; revision=13978
2012-06-20 09:05:24 +00:00
Vincent Sanders
8611281b2e add content handler for javascript
svn path=/trunk/netsurf/; revision=13971
2012-06-19 22:57:29 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Daniel Silverstone
0437f81c55 Testament generation now supports git
svn path=/trunk/netsurf/; revision=13946
2012-06-04 15:48:21 +00:00
Chris Young
9458ed77ab Add support for sending DoNotTrack header.
svn path=/trunk/netsurf/; revision=13928
2012-05-20 16:29:57 +00:00
Vincent Sanders
6f86862edb cleanup and reorganise low level cache source ready for extending with disc cache
svn path=/trunk/netsurf/; revision=13893
2012-04-28 13:24:09 +00:00
Michael Drake
3f262e4803 Remove image cache status from user-facing listing.
svn path=/trunk/netsurf/; revision=13865
2012-04-13 12:29:52 +00:00
Michael Drake
cdee9e985e More work on about:imagecache entry listing table.
svn path=/trunk/netsurf/; revision=13855
2012-04-12 13:43:57 +00:00
Michael Drake
e2e69d29bb Close paragraph tags and other minor imagecache page cleanups.
svn path=/trunk/netsurf/; revision=13854
2012-04-12 13:06:21 +00:00
Michael Drake
5266539f92 Make more readable and fix use double quotes for href attribute value.
svn path=/trunk/netsurf/; revision=13852
2012-04-12 12:34:33 +00:00
Chris Young
87b9a905eb Fix typo and unhide imagecache from about:about
svn path=/trunk/netsurf/; revision=13823
2012-04-07 17:30:54 +00:00
Rob Kendrick
e6155dd37f about:imagecache gives URL links, and table is styled. This has revealed a buffer overflow or similar here; reducing the buffer size to 1024 makes it very fragile with long URLs.
svn path=/trunk/netsurf/; revision=13700
2012-03-25 16:42:45 +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
Michael Drake
20583d7288 Enable User CSS file.
svn path=/trunk/netsurf/; revision=13507
2012-03-06 17:44:24 +00:00
John Mark Bell
3e2e110a86 Bypass full type sniffer if only images are acceptable
svn path=/trunk/netsurf/; revision=13436
2012-02-08 00:52:16 +00:00
John Mark Bell
b5acf7db9d Prevent use after free in cookie update
svn path=/trunk/netsurf/; revision=13365
2012-01-02 13:20:11 +00:00
Vincent Sanders
df18a97143 Change GTK plotting to use cairo surfaces throughout
svn path=/trunk/netsurf/; revision=13354
2011-12-30 00:58:35 +00:00
John Mark Bell
95714a0c00 Sync with spec
svn path=/trunk/netsurf/; revision=13329
2011-12-23 00:21:47 +00:00
John Mark Bell
c22038bed8 Fix bogus cache validation decision
svn path=/trunk/netsurf/; revision=13261
2011-12-08 22:44:19 +00:00
John Mark Bell
4e4cf305cb Fix bug #3454606: prevent double free of retrieval context when downloading
svn path=/trunk/netsurf/; revision=13260
2011-12-08 21:58:26 +00:00
John Mark Bell
3ba6a15fa7 Fix bug #3452421: retain hlcache retrieval context when reporting errors & rely on clients correctly releasing handles to clean up.
svn path=/trunk/netsurf/; revision=13250
2011-12-06 20:47:15 +00:00
John Mark Bell
f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake
02780e1f2d Currently untested (and unused) "drop file on content" handling, and HTML implementation.
svn path=/trunk/netsurf/; revision=13214
2011-12-01 21:49:57 +00:00
Michael Drake
4856a4c1fb Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
2011-11-29 17:47:29 +00:00
Michael Drake
714f07c48b Rename nsurl_enquire to nsurl_has_component.
svn path=/trunk/netsurf/; revision=13183
2011-11-27 18:32:06 +00:00
John Mark Bell
07309888d6 return;
Fix bug #3442642: allow scheme-specific fetchers to have a say in whether an URL can be fetched.

svn path=/trunk/netsurf/; revision=13182
2011-11-27 14:14:36 +00:00
John Mark Bell
eb122c52d2 Fix cookie expiration
svn path=/trunk/netsurf/; revision=13161
2011-11-22 00:34:06 +00:00
John Mark Bell
dcbafe6b87 Clean up fetch callback API. Inject some long-needed type safety.
svn path=/trunk/netsurf/; revision=13137
2011-11-08 21:51:42 +00:00
John Mark Bell
da2b1ce44d Hack around curl complaining about junk gzip streams
svn path=/trunk/netsurf/; revision=13129
2011-11-05 22:10:46 +00:00
John Mark Bell
272fb1e517 Include utils.h for NOF_ELEMENTS
svn path=/trunk/netsurf/; revision=13082
2011-10-27 00:57:59 +00:00
Michael Drake
8f554bb0e5 Fix "about:".
svn path=/trunk/netsurf/; revision=13054
2011-10-15 09:47:37 +00:00
John Mark Bell
d3fce3ffc3 Fix handling of URLs without an authority
svn path=/trunk/netsurf/; revision=13053
2011-10-14 21:41:16 +00:00
Vincent Sanders
eb9c223f9d fix image cache summary information to properly use a format string
remove snprintf buffer overflow possibility
fix the about:imagecache fetcher to contain the output formatting and use summary information formatting

svn path=/trunk/netsurf/; revision=13039
2011-10-12 12:34:11 +00:00
Vincent Sanders
d628aa06d0 fix possible buffer overflow
svn path=/trunk/netsurf/; revision=13032
2011-10-11 07:19:20 +00:00
Daniel Silverstone
986720d9d7 If the about handler fails to intern its strings, return the error, cleaning up first
svn path=/trunk/netsurf/; revision=13031
2011-10-11 06:55:20 +00:00
Vincent Sanders
56e7b23415 add about:imagecache some of teh implementation needs cleaning up
svn path=/trunk/netsurf/; revision=13030
2011-10-10 22:41:31 +00:00
Vincent Sanders
e1e88e5f98 make about fetcher use lwc_strings for url lookups
svn path=/trunk/netsurf/; revision=13029
2011-10-10 19:46:46 +00:00
Vincent Sanders
5d06dbf974 prevent odd curl non completion behaviour
svn path=/trunk/netsurf/; revision=13024
2011-10-09 17:22:57 +00:00
Daniel Silverstone
29d3b4fa00 Sort out hiccough in hlcache finalisation debug
svn path=/trunk/netsurf/; revision=13017
2011-10-09 10:53:17 +00:00
Michael Drake
73afb1e728 Use malloc, memcpy instead of strdup since we have the length.
svn path=/trunk/netsurf/; revision=13006
2011-10-08 12:47:42 +00:00
Vincent Sanders
443dce6e80 make resource fetcher cope with missing resources gracefully
svn path=/trunk/netsurf/; revision=12994
2011-10-07 22:51:31 +00:00
Vincent Sanders
4c829ae481 use resource:favicon.ico instead of resource:favicon.png
svn path=/trunk/netsurf/; revision=12982
2011-10-07 21:03:45 +00:00
Vincent Sanders
8a293636fb fix favicon default selection for non http(s) urls
svn path=/trunk/netsurf/; revision=12981
2011-10-07 20:47:34 +00:00
Vincent Sanders
230779848e metadata links stored in contents
browser uses metadata links for favicons

svn path=/trunk/netsurf/; revision=12977
2011-10-07 18:12:47 +00:00
Vincent Sanders
52ad2c1e25 initial favicon support
svn path=/trunk/netsurf/; revision=12975
2011-10-06 23:31:55 +00:00
Michael Drake
17525fbf25 Avoid making a new nsurl to remove fragment if there is no fragment.
svn path=/trunk/netsurf/; revision=12958
2011-10-05 18:05:41 +00:00
John Mark Bell
d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
Michael Drake
36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
Michael Drake
73dbd82b7d Optimise fetch item selection when fetching many items from same host.
svn path=/trunk/netsurf/; revision=12920
2011-10-02 12:10:02 +00:00
Michael Drake
3a319b4829 Store host as lwc_string in curl fetcher and obtain it via nsurl. Clean up cached hosts on exit.
svn path=/trunk/netsurf/; revision=12918
2011-10-01 16:53:45 +00:00
Michael Drake
4b2730e407 Keep url as nsurl.
svn path=/trunk/netsurf/; revision=12917
2011-10-01 16:02:49 +00:00
Michael Drake
af6c81b042 Convert nsurl to string for log.
svn path=/trunk/netsurf/; revision=12916
2011-10-01 15:40:16 +00:00
Michael Drake
6cfd37e60f Convert fetchers to nsurl.
svn path=/trunk/netsurf/; revision=12910
2011-09-29 15:31:54 +00:00
Michael Drake
57547f7b1e Make llcache_handle_get_url return a nsurl.
svn path=/trunk/netsurf/; revision=12905
2011-09-28 14:21:35 +00:00
Michael Drake
861f88aa43 Port llcache to nsurl.
svn path=/trunk/netsurf/; revision=12904
2011-09-28 11:26:30 +00:00
Michael Drake
e3211bf4fc fetch_can_fetch can take const nsurl.
svn path=/trunk/netsurf/; revision=12902
2011-09-27 14:42:45 +00:00
Michael Drake
e1f7a37f15 Port fetch layer to nsurl. Remove unused fetch_get_referer function.
svn path=/trunk/netsurf/; revision=12899
2011-09-27 11:07:32 +00:00
John Mark Bell
e9cdc14d79 Reflect differences between draft-abarth-mime-sniff-06 and draft-ietf-websec-mime-sniff-03 (and thus, http://mimesniff.spec.whatwg.org)
In summary: audio/x-wave becomes audio/wave and we add sniffing for mp4 video

svn path=/trunk/netsurf/; revision=12897
2011-09-27 00:33:37 +00:00
Michael Drake
9992ee9119 Document fetch_add_fetcher.
svn path=/trunk/netsurf/; revision=12892
2011-09-26 21:23:47 +00:00
Michael Drake
c94271edf5 Fetchers register with an lwc_string, rather than a string.
svn path=/trunk/netsurf/; revision=12891
2011-09-26 21:07:19 +00:00
Michael Drake
393b1afd4f Disable fetch debug loops when not debugging.
svn path=/trunk/netsurf/; revision=12890
2011-09-26 15:22:38 +00:00
Michael Drake
8435195ea4 Remember to free host, now it's not kept for anything.
svn path=/trunk/netsurf/; revision=12886
2011-09-26 13:43:34 +00:00
Michael Drake
460648872f Remove unused host from fetch info struct.
svn path=/trunk/netsurf/; revision=12885
2011-09-26 13:38:06 +00:00
John Mark Bell
033823e64e Correctly create a sentinel and initialise user_list with it when cloning a content
svn path=/trunk/netsurf/; revision=12804
2011-09-18 00:49:34 +00:00
Michael Drake
19daa23f94 Only lock content around its reformat call. This means it is not now locked when reformat message is broadcast. Prevents the browser window callback asking the core to redraw a content before it gets unlocked.
svn path=/trunk/netsurf/; revision=12802
2011-09-17 14:35:54 +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
John Mark Bell
3d71da088b Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +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
John Mark Bell
46339a296b Move length calculation outside loop
svn path=/trunk/netsurf/; revision=12781
2011-09-08 21:32:07 +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
John Mark Bell
f6ac059a05 Handle zero-length documents correctly
svn path=/trunk/netsurf/; revision=12778
2011-09-08 08:26:16 +00:00
John Mark Bell
c25d7890e7 Cope with zero-length files
svn path=/trunk/netsurf/; revision=12777
2011-09-08 08:25:48 +00:00
Michael Drake
4075648e7a Content interface to get at contextual content at point.
svn path=/trunk/netsurf/; revision=12753
2011-09-06 18:07:30 +00:00
John Mark Bell
e82474afed Fix string leakage
svn path=/trunk/netsurf/; revision=12708
2011-09-04 11:14:19 +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
9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Vincent Sanders
2348b13492 refactor bitmap out of generic content structure
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +00:00
Vincent Sanders
81c52ad494 Initial image content handler refactor
svn path=/trunk/netsurf/; revision=12671
2011-08-27 08:43:51 +00:00
John Mark Bell
dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell
1cd92d6d50 Fix race when stopping an HTML content mid-load
svn path=/trunk/netsurf/; revision=12611
2011-07-19 20:23:59 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
John Mark Bell
b34502af82 Refactor http utilities
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
John Mark Bell
a5dc6b9e66 Less broken WWW-Authenticate header parser
svn path=/trunk/netsurf/; revision=12542
2011-06-29 23:32:53 +00:00
Michael Drake
3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake
6f215b1f02 Enable content redraw request without hlcache_handle.
svn path=/trunk/netsurf/; revision=12518
2011-06-27 21:37:37 +00:00
Michael Drake
5a4c8916ef If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
svn path=/trunk/netsurf/; revision=12497
2011-06-24 09:30:33 +00:00
John Mark Bell
381588bece Log CA options
svn path=/trunk/netsurf/; revision=12436
2011-05-19 22:35:41 +00:00
John Mark Bell
54f6b3bffc Handle case where configured curl handle cache limit is 0
svn path=/trunk/netsurf/; revision=12420
2011-05-16 22:05:47 +00:00
John Mark Bell
1b8ff87c23 Squash static analyser warning
svn path=/trunk/netsurf/; revision=12419
2011-05-16 21:49:21 +00:00
John Mark Bell
da7c3c10bc Implement todo
svn path=/trunk/netsurf/; revision=12418
2011-05-16 21:47:36 +00:00
John Mark Bell
35cd1a79f7 Squash static analyser warning
svn path=/trunk/netsurf/; revision=12416
2011-05-16 21:42:53 +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
François Revel
955896ac46 Revert r12412, the doi: URI scheme hasn't been kept around it seems, even ACM doesn't use it. And kyllikki was jumping on his seat anyway... It's still in the svn history if needed. I have some stuff for view-source: and man: but I'm not use they would be appreciated either :-D
svn path=/trunk/netsurf/; revision=12414
2011-05-16 19:28:40 +00:00
François Revel
d25e5568bb Add a redirecting fetcher for the doi: URI scheme. Not much used but just in case...
svn path=/trunk/netsurf/; revision=12412
2011-05-15 20:01:25 +00:00
François Revel
069a501c4d Add an about:logo redirect to resource:netsurf.png.
svn path=/trunk/netsurf/; revision=12407
2011-05-14 00:17:25 +00:00
Vincent Sanders
83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Michael Drake
cf25f54364 Clear extraneous text when done..
svn path=/trunk/netsurf/; revision=12324
2011-05-09 07:59:27 +00:00
Vincent Sanders
8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
Michael Drake
8f6c343309 Simplify status bar text.
svn path=/trunk/netsurf/; revision=12313
2011-05-08 19:11:34 +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
Michael Drake
48b374736a Various changes to about: content markup. Added me to LibNSFB bit.
svn path=/trunk/netsurf/; revision=12105
2011-03-18 12:10:15 +00:00
Michael Drake
d2f8eee65b Fix comment.
svn path=/trunk/netsurf/; revision=12094
2011-03-17 12:26:59 +00:00
Vincent Sanders
50b9de4864 set hidden flag for more about: pages
svn path=/trunk/netsurf/; revision=12093
2011-03-17 12:24:40 +00:00
Michael Drake
49f1d58938 Less bloated "license" spelling handler.
svn path=/trunk/netsurf/; revision=12092
2011-03-17 12:17:25 +00:00
Daniel Silverstone
293c2b026b Retabify about.c since I had previously moosed it
svn path=/trunk/netsurf/; revision=12091
2011-03-17 12:12:55 +00:00
Michael Drake
4de9349fb8 Skip duplicates on about:about.
svn path=/trunk/netsurf/; revision=12090
2011-03-17 12:09:48 +00:00
Michael Drake
a70c32422a gui_find_resource --> gui_get_resource_url.
svn path=/trunk/netsurf/; revision=12089
2011-03-17 11:57:09 +00:00
Vincent Sanders
7390a6805e implement about:about
svn path=/trunk/netsurf/; revision=12085
2011-03-17 10:20:04 +00:00
Vincent Sanders
d90ca6181b Improve options output
improve options:config styling

svn path=/trunk/netsurf/; revision=12084
2011-03-17 09:21:02 +00:00
Vincent Sanders
bd39eb4267 make resource header documentation more explicit
svn path=/trunk/netsurf/; revision=12083
2011-03-17 08:11:54 +00:00
Michael Drake
7f454dff4b Add about:license --> about:licence redirect.
svn path=/trunk/netsurf/; revision=12076
2011-03-16 14:17:22 +00:00
Vincent Sanders
1da7b161f8 Stop gtk printing from exploding if its unable to initialise the job
add interface to clone a high level cache handle
make generic printing core call new hlcache interface

svn path=/trunk/netsurf/; revision=12068
2011-03-15 22:02:06 +00:00
John Mark Bell
408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +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
Daniel Silverstone
514b94b1f4 Add hostname and path
svn path=/trunk/netsurf/; revision=12023
2011-03-13 12:17:18 +00:00
Daniel Silverstone
8695000b83 Slightly better out-of-svn build info
svn path=/trunk/netsurf/; revision=12022
2011-03-13 12:09:01 +00:00
Daniel Silverstone
cc18b5f21e Initial testament functionality
svn path=/trunk/netsurf/; revision=12020
2011-03-13 11:59:20 +00:00
Michael Drake
c92f19c932 Move directory listing CSS to resource:internal.css.
svn path=/trunk/netsurf/; revision=12017
2011-03-13 10:56:00 +00:00
Daniel Silverstone
314124d3ef Instead of deleting the early scheduled poll, simply always add another poll if cURL thinks there might be work to do later
svn path=/trunk/netsurf/; revision=12003
2011-03-12 23:59:37 +00:00
Michael Drake
66ac795f04 Make about:config a bit nicer, if resource: is implemented on your front end.
svn path=/trunk/netsurf/; revision=11999
2011-03-12 23:00:19 +00:00
Vincent Sanders
01d4be82c4 fix about:licence
svn path=/trunk/netsurf/; revision=11996
2011-03-12 22:38:00 +00:00
Daniel Silverstone
d558aae0bb I hate this, but it helps to prevent stalling during early fetch stages with curl
svn path=/trunk/netsurf/; revision=11986
2011-03-12 19:25:40 +00:00
John Mark Bell
997e829b3d Stop pretending to support anything other than HTTP(s)
svn path=/trunk/netsurf/; revision=11966
2011-03-12 00:06:15 +00:00
John Mark Bell
1edcef6141 Remove redundant parameter from content_open API
svn path=/trunk/netsurf/; revision=11964
2011-03-10 23:13:03 +00:00
Chris Young
5ac45472c7 Fix broken CONTENT_PLUGIN API.
Add a default content handler for Amiga using the plugin interface, which passes
unknown files (currently images only) through DataTypes.

svn path=/trunk/netsurf/; revision=11924
2011-03-06 13:58:02 +00:00
Sven Weidauer
208b98bb44 Created content handler CONTENT_APPLE_IMAGE for Mac OS X that can handle all image file formats supported by Apples ImageIO framework. Right now used only for JPEG to get rid of libjpeg dependency.
svn path=/trunk/netsurf/; revision=11911
2011-03-05 09:49:15 +00:00
John Mark Bell
b7893f85cd Do not attempt to destroy contents that are still loading
svn path=/trunk/netsurf/; revision=11898
2011-03-03 21:13:58 +00:00
John Mark Bell
60b5039c33 Protect against object being cleaned while waiting for a query response
svn path=/trunk/netsurf/; revision=11894
2011-03-03 00:40:50 +00:00
Michael Drake
cfe6b8cc66 Pass content msg redraw coords as ints.
svn path=/trunk/netsurf/; revision=11893
2011-03-02 21:10:29 +00:00
John Mark Bell
8373123b71 Purge CONTENT_STATUS_TYPE_UNKNOWN
svn path=/trunk/netsurf/; revision=11861
2011-02-28 20:38:23 +00:00
John Mark Bell
8d13c93c89 Remove bogus assertions: content handlers which spawn fetches may not transition out of the LOADING state until after the fetches have completed.
svn path=/trunk/netsurf/; revision=11860
2011-02-28 20:16:48 +00:00
John Mark Bell
abbf958b4c Unlock the content when transitioning into the READY state.
svn path=/trunk/netsurf/; revision=11859
2011-02-28 19:58:08 +00:00
John Mark Bell
86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
John Mark Bell
2e04c57929 Fix WWW-Authenticate parsing to leave f->realm alone if there is no realm specified in the header
svn path=/trunk/netsurf/; revision=11793
2011-02-25 00:41:16 +00:00
John Mark Bell
d25a88145b Make no-cache a tristate. In the case of a forced reload, we want to revalidate once only.
svn path=/trunk/netsurf/; revision=11791
2011-02-24 21:22:24 +00:00
John Mark Bell
00bf0fbd24 Revert the functional change from r11789: the no-cache directive forces us to revalidate a cached object, not reject it entirely.
svn path=/trunk/netsurf/; revision=11790
2011-02-24 21:06:45 +00:00
John Mark Bell
4f740f5a32 Ensure cache hits after a forced reload -- don't even attempt to reuse objects with the no_cache flag set (as they'll never be considered fresh, thus requiring a round trip to the server every time they're used). Instead, we'll fetch a new object, which will be considered fresh for caching purposes.
svn path=/trunk/netsurf/; revision=11789
2011-02-24 20:51:35 +00:00
John Mark Bell
6b26f77bb1 Use cache control data invalidation function everywhere we want the cache control data reset.
Fix cache control data invalidation to reset the age and max_age fields to INVALID_AGE.
Fix cache control data reset on encountering an HTTP response line to occur before we fill in the response time, rather than after it.

svn path=/trunk/netsurf/; revision=11783
2011-02-24 10:14:50 +00:00
John Mark Bell
b967824575 Improve commentary.
Stop leaking object_scheme in error cases.

svn path=/trunk/netsurf/; revision=11778
2011-02-23 23:05:36 +00:00
John Mark Bell
308f549f78 Fix backend fetcher poll loops
svn path=/trunk/netsurf/; revision=11775
2011-02-23 22:41:17 +00:00
Vincent Sanders
0231675abf add resource handling
move gtk and framebuffer to use generic resource handling

svn path=/trunk/netsurf/; revision=11772
2011-02-23 22:27:55 +00:00
John Mark Bell
1b5d9f07c8 Squash warnings
svn path=/trunk/netsurf/; revision=11745
2011-02-20 23:41:50 +00:00
Michael Drake
f54fc080c2 Add module namespace to options_snoptionf()
svn path=/trunk/netsurf/; revision=11739
2011-02-20 22:38:43 +00:00
Vincent Sanders
675a07083a add options display to about: scheme
svn path=/trunk/netsurf/; revision=11733
2011-02-20 21:04:53 +00:00
John Mark Bell
d8d0353a73 Fix bug #3184972: cope with server sending a 304 in response to an unconditional request.
svn path=/trunk/netsurf/; revision=11710
2011-02-17 17:50:14 +00:00
John Mark Bell
daf23b0860 Add missing include
svn path=/trunk/netsurf/; revision=11694
2011-02-15 23:26:34 +00:00
Vincent Sanders
fa98e3d76a add about: fetcher
rename fetchers to be more sensible 

svn path=/trunk/netsurf/; revision=11692
2011-02-15 23:18:10 +00:00
John Mark Bell
f42ed976e5 Constify
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +00:00
Michael Drake
fe7921a387 Pass clip rect as struct through content_redraw api. Update the front ends to use this. Note only RO build tested.
svn path=/trunk/netsurf/; revision=11670
2011-02-13 22:25:11 +00:00
Michael Drake
81f6f2552c Better documentation of content_redraw
svn path=/trunk/netsurf/; revision=11645
2011-02-11 10:55:46 +00:00
Vincent Sanders
2a8e8a5cf1 add browser_window_redraw() method to make content_redraw calls from frontends common RISC OS, atari, amiga and beos have not been updated
svn path=/trunk/netsurf/; revision=11640
2011-02-10 22:35:41 +00:00
John Mark Bell
27924aa38c Minor fix for path defaulting: retain rightmost / iff it's the first character in the path
svn path=/trunk/netsurf/; revision=11524
2011-01-29 15:17:42 +00:00
Daniel Silverstone
822fffa8e3 A little more debug to help us spot how many users of locked contents there are, during shutdown
svn path=/trunk/netsurf/; revision=11418
2011-01-20 12:55:51 +00:00
Daniel Silverstone
d00c5b0cd5 Add CONTENT_MSG_FAVICON_REFRESH and emit and handle it appropriately. Animated favicons now work
svn path=/trunk/netsurf/; revision=11242
2011-01-07 13:10:20 +00:00
John Mark Bell
3fcb02afa1 Revert r10650/1. We no longer require noisy fetch/cache logging.
svn path=/trunk/netsurf/; revision=11223
2011-01-06 00:31:54 +00:00
Michael Drake
0eb65d3344 Add some assert()s.
svn path=/trunk/netsurf/; revision=11144
2010-12-29 20:42:00 +00:00
Daniel Silverstone
b85b1f5ba5 Make fetch.c use new RING_COUNTBYLWCHOST
svn path=/trunk/netsurf/; revision=11108
2010-12-20 10:32:15 +00:00
John Mark Bell
bcfb508f86 User may have no handle if it was the target of an iterator when the handle was aborted
svn path=/trunk/netsurf/; revision=11071
2010-12-16 00:18:41 +00:00
John Mark Bell
c675c3552d Ensure that we clean up after the client even if they report an error from their notification callback.
svn path=/trunk/netsurf/; revision=11067
2010-12-15 22:59:19 +00:00
John Mark Bell
d745dae903 Make llcache_object_user objects distinct from llcache_handles.
This allows us to be robust against clients completely changing the contents of the user list underneath us during iteration.
Fix llcache_send_event_to_users to also be robust against the user list changing under it.

svn path=/trunk/netsurf/; revision=11063
2010-12-15 21:15:49 +00:00
John Mark Bell
67556f54fe Always invalidate next/prev pointers
svn path=/trunk/netsurf/; revision=11052
2010-12-13 08:36:27 +00:00
John Mark Bell
c0f49a2785 Revert r11047-11050: if we remove a user from an object while it's the iterator target, the effect will be that the iteration terminates early.
Subsequent users that require notifications will simply have their notifications delayed

svn path=/trunk/netsurf/; revision=11051
2010-12-13 08:34:01 +00:00
John Mark Bell
f919b689ba Take 2: make callers of llcache_object_user_destroy invalidate next/prev pointers
svn path=/trunk/netsurf/; revision=11050
2010-12-13 08:28:22 +00:00
John Mark Bell
a5221248c2 Revert last change
svn path=/trunk/netsurf/; revision=11049
2010-12-13 08:25:54 +00:00
John Mark Bell
991472d264 Remove bogus assertions
svn path=/trunk/netsurf/; revision=11048
2010-12-13 08:24:04 +00:00
John Mark Bell
f40da966ad We cannot invalidate a user's next/prev pointers when removing it from an object, as it may be the target of iteration
svn path=/trunk/netsurf/; revision=11047
2010-12-13 08:16:32 +00:00
John Mark Bell
702c94bb30 Fix assertion: user->next may be NULL, so there's no point asserting that it isn't
svn path=/trunk/netsurf/; revision=11046
2010-12-13 08:12:31 +00:00
John Mark Bell
d9f8b8949e Fix assertion to compare, and not assign
svn path=/trunk/netsurf/; revision=11045
2010-12-13 08:10:29 +00:00
John Mark Bell
650f884527 Make llcache_object_notify_users robust to the object's user list changing underneath it
svn path=/trunk/netsurf/; revision=11044
2010-12-12 23:37:21 +00:00
Rob Kendrick
1a7dffdac6 Brain fix on last night's IPv6 modifications
svn path=/trunk/netsurf/; revision=11000
2010-12-05 14:23:30 +00:00
Rob Kendrick
ab704ba7a7 Make urldb_add_url IPv6-aware
svn path=/trunk/netsurf/; revision=10990
2010-12-04 22:46:33 +00:00
Chris Young
46617cbe64 Fix compilation
svn path=/trunk/netsurf/; revision=10929
2010-10-31 13:27:31 +00:00
Chris Young
835d033e7b Amiga icon loader. Treeviews will now use the user's icons for content types.
svn path=/trunk/netsurf/; revision=10925
2010-10-30 14:23:38 +00:00
John Mark Bell
8814bca33e Fix cleanup of hlcache_retrieval_ctx_ring
svn path=/trunk/netsurf/; revision=10915
2010-10-28 21:00:07 +00:00
John Mark Bell
e5bc525030 Fix bug 3096811: discard HTTP headers for all but the last response
svn path=/trunk/netsurf/; revision=10912
2010-10-27 22:12:00 +00:00
John Mark Bell
6173bb0e6c Merge treeview-redux to trunk
svn path=/trunk/netsurf/; revision=10865
2010-10-05 19:14:46 +00:00
Chris Young
c0b63c111b WebP image support, needs libwebp (from trunk/libwebp) and libvpx.
Only enabled for Amiga build currently, may have colour issues on little-endian CPUs

svn path=/trunk/netsurf/; revision=10860
2010-10-03 20:41:31 +00:00
John Mark Bell
a10c4d3a7b Fix crash on receipt of a 304 response: it turns out that FETCH_HEADER may be called before any decision about how to process the response is made.
Move FETCH_HEADER handler to start of switch statement to reflect this.

svn path=/trunk/netsurf/; revision=10792
2010-09-16 22:46:40 +00:00
John Mark Bell
a7dd752046 Ensure that candidate count is reduced if a conditional request results in a non-304 response
svn path=/trunk/netsurf/; revision=10791
2010-09-16 22:04:06 +00:00
Vincent Sanders
1391ebe5cc perpetrate a neatness to centralise all the low level cache cache control data invalidation
svn path=/trunk/netsurf/; revision=10787
2010-09-16 19:47:15 +00:00
John Mark Bell
db736f8378 Fix heap corruption
svn path=/trunk/netsurf/; revision=10786
2010-09-16 19:33:18 +00:00
John Mark Bell
dafccf21d5 Fix validation of invalidated cache entries.
svn path=/trunk/netsurf/; revision=10785
2010-09-16 18:58:32 +00:00
Daniel Silverstone
be59d5870b Ensure we free etags before invalidating cache control data
svn path=/trunk/netsurf/; revision=10784
2010-09-16 16:21:58 +00:00
John Mark Bell
cf30b8b074 Use ETag to validate file: URLs, returning 304 if there's no change.
Force directories to be uncacheable.
Don't emit a Last-Modified header for files, as it may result in a cached object being considered fresh (c.f. RFC2616 $13.2.3/4)
Fix leak of file descriptor on failure to allocate buffer.

svn path=/trunk/netsurf/; revision=10782
2010-09-15 20:32:14 +00:00
John Mark Bell
051dc72a56 Purge last vestiges of file: cruft from curl binding
svn path=/trunk/netsurf/; revision=10781
2010-09-15 19:40:17 +00:00
John Mark Bell
c88044c8cb Forcibly invalidate contents with response codes that aren't 200 or 203.
svn path=/trunk/netsurf/; revision=10780
2010-09-15 19:33:18 +00:00
Michael Drake
0285ab5e91 Give markup peepers a slightly easier time of it.
svn path=/trunk/netsurf/; revision=10769
2010-09-13 19:49:05 +00:00
John Mark Bell
1075214307 Improve error reporting, and reflow to 80 columns.
svn path=/trunk/netsurf/; revision=10768
2010-09-13 18:34:11 +00:00
Chris Young
4972283771 Ensure the file that is read for info is in the platform's native path format, whilst
the path used for any links is in the correct URL format.

svn path=/trunk/netsurf/; revision=10761
2010-09-12 11:42:37 +00:00
Vincent Sanders
faca1687ce hell with it, heres a version which should result in fewer portability complaints
svn path=/trunk/netsurf/; revision=10756
2010-09-11 18:47:36 +00:00
Michael Drake
150e4d18bb Add a bit of padding to bottom of directory listings. Tidy code indentation.
svn path=/trunk/netsurf/; revision=10752
2010-09-10 12:49:41 +00:00
John Mark Bell
2077918805 Merge branches/vince/netsurf-file-fetcher to trunk
r=jmb

svn path=/trunk/netsurf/; revision=10750
2010-09-09 21:45:59 +00:00
John Mark Bell
78f3bbaed3 Fix bug #3055480: properly compare URLs, instead of erroneously assuming that strcasecmp is the correct answer.
svn path=/trunk/netsurf/; revision=10721
2010-08-29 17:41:54 +00:00
Michael Drake
175bb0344c Move directory listing HTML generation functions into separate module.
svn path=/trunk/netsurf/; revision=10715
2010-08-26 17:29:02 +00:00
John Mark Bell
00aeb20334 Less spam
svn path=/trunk/netsurf/; revision=10687
2010-08-10 21:46:45 +00:00
John Mark Bell
48b17a5aea Rate-limit cache clean attempts
svn path=/trunk/netsurf/; revision=10686
2010-08-10 19:58:39 +00:00