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
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
John Mark Bell
b008327de1
Improve 401 response handling
...
svn path=/trunk/netsurf/; revision=10407
2010-04-16 20:00:10 +00:00
John Mark Bell
1c42c0569f
Ensure we invalidate cache data and mark objects as complete on failure to fetch.
...
svn path=/trunk/netsurf/; revision=10402
2010-04-14 20:42:03 +00:00
Daniel Silverstone
2ba2dab3a7
Eat any #fragment in llcache_object_retrieve -- fixing double-fragment issues at the top level, and preventing fragment(ed) redirects from confusing the issue
...
svn path=/trunk/netsurf/; revision=10399
2010-04-14 14:53:21 +00:00
Daniel Silverstone
b56886d0ee
Abstract a number of unsafe iterations of object users into a single safe function call
...
svn path=/trunk/netsurf/; revision=10398
2010-04-14 10:56:44 +00:00
John Mark Bell
3840e3911b
Stop leaking hlcache handles.
...
svn path=/trunk/netsurf/; revision=10395
2010-04-13 23:24:07 +00:00
Vincent Sanders
d1cd04a0b9
remove incorrect low level cache release
...
svn path=/trunk/netsurf/; revision=10391
2010-04-13 16:53:52 +00:00
Michael Drake
f58fa3b2ac
Revert last change.
...
svn path=/trunk/netsurf/; revision=10382
2010-04-12 09:31:34 +00:00
Michael Drake
de6f1a2b2e
Make new cache strip the fragment identifier, like fetchcache did.
...
svn path=/trunk/netsurf/; revision=10381
2010-04-12 09:25:41 +00:00
John Mark Bell
18081664eb
Provide API to enable a handle's callback to be replaced
...
svn path=/trunk/netsurf/; revision=10376
2010-04-11 23:02:49 +00:00
John Mark Bell
4b8c720ac5
Shrink source buffer to final length on fetch completion
...
svn path=/trunk/netsurf/; revision=10373
2010-04-11 21:26:20 +00:00
John Mark Bell
486731e589
Release low-level cache handle when destroying contents
...
svn path=/trunk/netsurf/; revision=10372
2010-04-11 20:58:50 +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
John Mark Bell
60d1b74099
Remove redundant todo
...
svn path=/trunk/netsurf/; revision=10363
2010-04-11 16:39:58 +00:00
John Mark Bell
0650096403
CSS contents may be shared
...
svn path=/trunk/netsurf/; revision=10362
2010-04-11 16:38:16 +00:00
John Mark Bell
ff8791a3f7
Ensure content can be shared when retrieving from cache
...
svn path=/trunk/netsurf/; revision=10361
2010-04-11 16:37:39 +00:00
John Mark Bell
7577e2a1e6
Ensure quirks mode matches when retrieving contents from cache
...
svn path=/trunk/netsurf/; revision=10360
2010-04-11 16:34:23 +00:00
John Mark Bell
ad89d5b263
Copy child charset, if any
...
svn path=/trunk/netsurf/; revision=10359
2010-04-11 16:23:45 +00:00
John Mark Bell
6a88eaf67a
Pedantic whitespace changes
...
svn path=/trunk/netsurf/; revision=10356
2010-04-11 14:39:26 +00:00
John Mark Bell
fe87225ccf
Complete low-level cache cleaner
...
svn path=/trunk/netsurf/; revision=10355
2010-04-11 14:32:39 +00:00
John Mark Bell
9666787dfa
Remove redundant todo
...
svn path=/trunk/netsurf/; revision=10354
2010-04-11 14:12:13 +00:00
John Mark Bell
a70c67fa35
Support 307 redirects for GET requests
...
svn path=/trunk/netsurf/; revision=10353
2010-04-11 14:11:33 +00:00
John Mark Bell
863d5c77c3
Forbid redirects to file:/// URLs
...
svn path=/trunk/netsurf/; revision=10352
2010-04-11 14:06:02 +00:00
John Mark Bell
40bac34ffd
Bail out if we're redirected to an URL we can't handle
...
svn path=/trunk/netsurf/; revision=10351
2010-04-11 14:01:11 +00:00
John Mark Bell
758190f37b
Reintroduce redirect limit
...
svn path=/trunk/netsurf/; revision=10350
2010-04-11 13:58:12 +00:00
John Mark Bell
3470764041
Remove redundant todos
...
svn path=/trunk/netsurf/; revision=10349
2010-04-11 13:29:02 +00:00
John Mark Bell
737d6ad557
Merge jmb/kill-reentrancy. r=vince
...
svn path=/trunk/netsurf/; revision=10346
2010-04-11 10:52:18 +00:00
John Mark Bell
b0f1b7b170
Improve const-correctness of fetch_start
...
svn path=/trunk/netsurf/; revision=10342
2010-04-10 17:13:53 +00:00
John Mark Bell
24c853281d
Return cookies to the same level of working/brokenness as they had before new-cache.
...
svn path=/trunk/netsurf/; revision=10340
2010-04-10 12:24:25 +00:00
John Mark Bell
ee2a5b40ce
Use computed POST data when redirecting, instead of original.
...
Certain redirect methods result in POST being converted to GET.
svn path=/trunk/netsurf/; revision=10339
2010-04-10 11:56:14 +00:00
John Mark Bell
4a4cc0d1bc
Introduce content_set_ready.
...
Make content_convert emit events only if content is in appropriate state.
Remove no-longer-relevant assertion from content_convert.
svn path=/trunk/netsurf/; revision=10330
2010-04-09 18:52:44 +00:00
Daniel Silverstone
b2124867db
Kill uninitialized warning about 'type'
...
svn path=/trunk/netsurf/; revision=10329
2010-04-09 09:10:23 +00:00
Daniel Silverstone
dfae5c33d2
Some more asserts to try and help spot multiple-release of llcache handles
...
svn path=/trunk/netsurf/; revision=10327
2010-04-09 00:06:36 +00:00
Daniel Silverstone
2b8adb0c8a
Move the removal of the retrieval context to prevent a re-entrancy race causing double-release of llcache handles
...
svn path=/trunk/netsurf/; revision=10307
2010-04-08 13:39:07 +00:00
Daniel Silverstone
4262232956
Fix missing 'break' introduced by 10300
...
svn path=/trunk/netsurf/; revision=10304
2010-04-08 13:18:50 +00:00
Daniel Silverstone
92bd0d4ce0
Add an assert to clarify a segfault I'm investigating
...
svn path=/trunk/netsurf/; revision=10303
2010-04-08 13:12:30 +00:00
Daniel Silverstone
5c55264217
Remove todo -- no longer appropriate
...
svn path=/trunk/netsurf/; revision=10302
2010-04-08 12:24:29 +00:00
Daniel Silverstone
45faa483e5
Ensure an error'd fetch's llcache object is implicitly stale so it is not reused
...
svn path=/trunk/netsurf/; revision=10301
2010-04-08 12:20:20 +00:00
Daniel Silverstone
6c9e4bea8e
Purge FETCH_TYPE which is unused throughout NetSurf. Clearing a todo in llcachec.
...
svn path=/trunk/netsurf/; revision=10300
2010-04-08 12:16:52 +00:00
Daniel Silverstone
2b1146bcb3
Remove parent from fetches, clearing a todo from llcache.c
...
svn path=/trunk/netsurf/; revision=10299
2010-04-08 11:47:05 +00:00
Daniel Silverstone
6948496d45
Ensure that aborting or releasing hlcache handles will result in nascent retrieval contexts being cleaned up
...
svn path=/trunk/netsurf/; revision=10298
2010-04-08 11:21:50 +00:00
John Mark Bell
bba7fbbd9b
Abort and release llcache handle on failure to process data.
...
Make hlcache retrieval ignore erroneous contents.
svn path=/trunk/netsurf/; revision=10296
2010-04-08 07:09:09 +00:00
John Mark Bell
4682f0ccd8
When we've snapshotted an object, make sure we add the *new* object into the list of uncacheable objects, and not the old one. Otherwise, our cache chains end up being corrupted.
...
svn path=/trunk/netsurf/; revision=10295
2010-04-08 07:08:16 +00:00
Michael Drake
2fba2249ee
Add function to test whether hlcache_handle's content is locked.
...
svn path=/trunk/netsurf/; revision=10287
2010-04-07 18:50:18 +00:00
Michael Drake
bbd757c34a
Fix fetch_curl_post_convert() for filename_from_path() returning NULL.
...
svn path=/trunk/netsurf/; revision=10265
2010-04-07 11:10:55 +00:00
Michael Drake
236b6a15e1
Add mime-type getter.
...
svn path=/trunk/netsurf/; revision=10259
2010-04-07 09:12:09 +00:00
John Mark Bell
2748fe4f64
Make downloads work again.
...
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +00:00
John Mark Bell
2dc791a253
Remove redundant content message types and associated data
...
svn path=/trunk/netsurf/; revision=10241
2010-04-05 10:40:16 +00:00
John Mark Bell
69f02e926f
Make the high-level cache drop contents of unacceptable type on the floor.
...
svn path=/trunk/netsurf/; revision=10238
2010-04-04 17:17:24 +00:00
John Mark Bell
79ce683b4e
Most of a stop implementation.
...
Remaining work:
1) Clone content_html_data
2) Cloning content_css_data requires the charset of the old content
3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.
svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell
43a99ab683
Constify data parameter to *_process_data
...
svn path=/trunk/netsurf/; revision=10234
2010-04-03 16:37:36 +00:00
John Mark Bell
49810d8191
Use mutator to modify content's title field.
...
svn path=/trunk/netsurf/; revision=10231
2010-04-03 11:55:28 +00:00
Vincent Sanders
95e4a737de
rationalise the usage of the file scheme
...
svn path=/trunk/netsurf/; revision=10221
2010-03-31 13:59:57 +00:00
John Mark Bell
9f575c590b
Do not abort fetch on receipt of FETCH_ERROR: the fetch has already been destroyed.
...
Implement LLCACHE_EVENT_ERROR case of hlcache_llcache_callback().
svn path=/trunk/netsurf/; revision=10218
2010-03-30 21:36:39 +00:00
Chris Young
07537e5240
Fix compilation when building WITH_NS_SVG
...
svn path=/trunk/netsurf/; revision=10213
2010-03-30 18:12:21 +00:00
John Mark Bell
9aca901eb1
The convert stage of a content's state progression no longer reflows the content to the provided dimensions.
...
It is now defined as converting the content into a state in which it is ready for use.
The user of the content is now responsible for performing an initial reformat (sic) of the content before it can be redrawn.
Purge width/height parameters from hlcache_handle_retrieve/content_convert/*_convert APIs.
Fix up content handlers affected by the above change in semantics.
Ensure that browser_window_callback performs an initial reformat of its content.
svn path=/trunk/netsurf/; revision=10207
2010-03-29 22:33:21 +00:00
John Mark Bell
2a53c4c811
Use hlcache_child_ctx, instead of just hoping that we replicate its members correctly.
...
Ensure public API documentation is not duplicated.
svn path=/trunk/netsurf/; revision=10206
2010-03-29 21:17:18 +00:00
John Mark Bell
99dee5e3d0
Disable llcache tracing
...
svn path=/trunk/netsurf/; revision=10201
2010-03-29 06:29:56 +00:00
John Mark Bell
b6f6bc5fdd
Fix broken linked list removal.
...
svn path=/trunk/netsurf/; revision=10200
2010-03-29 06:29:25 +00:00
John Mark Bell
311b458d56
Forbid contents with active fetches from being cleaned.
...
svn path=/trunk/netsurf/; revision=10199
2010-03-29 06:28:46 +00:00
John Mark Bell
4e2c3a4c39
Exceptionally verbose tracing of llcache operation.
...
svn path=/trunk/netsurf/; revision=10198
2010-03-29 06:27:37 +00:00
John Mark Bell
57253cdd58
Fixup per review
...
svn path=/trunk/netsurf/; revision=10196
2010-03-28 23:25:21 +00:00
Daniel Silverstone
66d1418506
Allow us to cache foo?bar when it explicitly allows it. as per rfc2616 13.9
...
svn path=/trunk/netsurf/; revision=10190
2010-03-28 16:51:47 +00:00
Daniel Silverstone
8effd1cb98
Ensure that finished redirection objects in llcache do not get found by subsequent fetch attempts.
...
svn path=/trunk/netsurf/; revision=10188
2010-03-28 16:28:28 +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