Commit Graph

651 Commits

Author SHA1 Message Date
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
John Mark Bell
1052f19075 Don't suppress curl debug output, either
svn path=/trunk/netsurf/; revision=10651
2010-07-17 09:13:44 +00:00
John Mark Bell
183974b437 Enable noisy logging
svn path=/trunk/netsurf/; revision=10650
2010-07-17 08:17:42 +00:00
Vincent Sanders
4b329697f7 move url database test to test directory
svn path=/trunk/netsurf/; revision=10589
2010-06-29 07:20:12 +00:00
Michael Drake
b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +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
Vincent Sanders
03bb3e8636 remove _GNU_SOURCE define from everywhere.
strndup is not standard so provide an implementation.

svn path=/trunk/netsurf/; revision=10474
2010-04-24 15:22:17 +00:00
Daniel Silverstone
7eef1a387a Ensure we propagate the error to our client, and then abort the llcache handle, should we fail to find a content when converting a nascent hlcache context into an object
svn path=/trunk/netsurf/; revision=10453
2010-04-22 12:29:15 +00:00
John Mark Bell
014cbd63cc Purge spurious filetype computation
svn path=/trunk/netsurf/; revision=10431
2010-04-18 16:08:32 +00:00
John Mark Bell
3958f3730b Fix failed assertion in content_convert when process_data fails.
svn path=/trunk/netsurf/; revision=10425
2010-04-18 11:04:13 +00:00
John Mark Bell
248a53f6ba Avoid double free when shrink-wrapping source data on fetch completion.
svn path=/trunk/netsurf/; revision=10423
2010-04-17 21:17:08 +00:00
John Mark Bell
06145e570d Fix mismatched free call
svn path=/trunk/netsurf/; revision=10420
2010-04-17 09:05:15 +00:00
Vincent Sanders
448b0275ae Fix file: handling on risc os, gtk, windows and framebuffer frontends
svn path=/trunk/netsurf/; revision=10419
2010-04-16 23:56:53 +00:00
John Mark Bell
01eb197f56 When the fetch system informs its clients that certificate verification has failed, it has already stopped and cleaned up the fetch.
Stop llcache_fetch_cert_error attempting to abort the fetch, as this will result in a double free.

svn path=/trunk/netsurf/; revision=10418
2010-04-16 23:15:22 +00:00
John Mark Bell
be3b246eab Add accessor for quirks
svn path=/trunk/netsurf/; revision=10415
2010-04-16 20:54:57 +00:00
John Mark Bell
bf27f667c9 Add assertion
svn path=/trunk/netsurf/; revision=10414
2010-04-16 20:47:22 +00:00
John Mark Bell
34465a06ab Remove fresh field from struct content
svn path=/trunk/netsurf/; revision=10413
2010-04-16 20:44:44 +00:00
John Mark Bell
e58a7d88f4 Make content_invalidate_reuse_data cause llcache to invalidate cache control data
svn path=/trunk/netsurf/; revision=10412
2010-04-16 20:43:36 +00:00
John Mark Bell
44552e7492 Provide API to invalidate llcache object cache control data
svn path=/trunk/netsurf/; revision=10411
2010-04-16 20:42:10 +00:00
John Mark Bell
ca0daa1a66 Reset fetch state when refetching object.
Ensure that cache control data is invalidated for 401/certificate failure so that conditional headers are not emitted when object is refetched.

svn path=/trunk/netsurf/; revision=10408
2010-04-16 20:08:27 +00:00