Make core fetching code be responsible for inserting cookies into the urldb
Provide accessor to a fetch's parent url (this is defined as being the URL of the verifiable fetch which caused this one to occur)
Make fetchcache's 3xx handling use the parent url when spawning new fetches
svn path=/trunk/netsurf/; revision=3809
Redirect handling is now transparent to clients of fetchcache.
The new scheme works as follows:
1) Request content for URL (fetchcache()
2) Start fetch of content (fetchcache_go()
3) If no redirect, continue through LOADING, READY, DONE etc. states as before
If redirect, receive NEWPTR for each redirect that occurs, then continue
through LOADING, READY, DONE etc. states as before.
The upshot of this is that redirects result in extra contents being created. It also means that, until LOADING has been received, the content (and thus the URL being fetched) may change. Therefore, fetchcache clients should expect to have to deal with transient data prior to LOADING occurring.
As a necessary side-effect of this, the HTML object URLs and CSS @import URLs are no longer stored alongside the relevant contents. These URLs can be accessed by interrogating the url member of struct content anyway, so it was a rather redundant scheme before.
svn path=/trunk/netsurf/; revision=3787
+ Fix infinite loop when encountering a spurious \r
+ Values are only treated as quoted if the first non-whitespace character is "
+ Cookies are inserted into the db in the order of receipt. This brings our
Cookie: header ordering closer to other browsers (though this strictly
shouldn't matter -- no ordering is defined, other than by path specificity)
+ Fix testcase assertions to cope with new output ordering
svn path=/trunk/netsurf/; revision=3709
+ Improve handling of quoted cookies -- now processes nested quotes correctly
+ Improve cookie output -- now knows which version it's outputting for and
processes things appropriately
+ Add assertion that we're dealing with a domain cookie in the case where the
cookie domain and URL host part don't match during validation.
+ Tidy up fix for broken domain cookie setting -- it's now less confusing to
read.
+ Preserve cookie value quoting, regardless of its necessity.
+ Modify Cookie file format to save value_was_quoted flag -- version number
bumped to 101.
+ Add more testcases.
svn path=/trunk/netsurf/; revision=3708
Make url_path() return the full path (including the leafname).
Defaulted cookie path attributes have the leafname and trailing slash stripped.
Add testcase for defaulted path.
Fix testcase conditions for paths with leafnames.
svn path=/trunk/netsurf/; revision=3693
Relax 4.3.2(i) checking (Cookie path must be a prefix of URL path). We now permit a cookie path containing the document leafname -- we strip the leafname from the path.
Make testsuite build again.
Add tests for cookie path checking.
svn path=/trunk/netsurf/; revision=3692
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.
This is untested under self-hosted RISC OS builds. All else tested and works.
svn path=/trunk/netsurf/; revision=3307
2) Only destroy urldb's thumbnail bitmap if it's not the same as the new
one. This needs revisiting at a later date such that the mess
surrounding who owns bitmap objects is sorted (and so that urldb
doesn't need to know about bitmaps)
svn path=/trunk/netsurf/; revision=3243
Make css_destroy check that the stylesheet pointer exists (content
destructors may be called whilst the content is still loading - e.g. if
the content type isn't permissable in the context it was loaded from).
Fixes 1627413, 1580980.
svn path=/trunk/netsurf/; revision=3212
error using content_broadcast and leave it to the content owner(s) to
decide what to do about it.
Only use warn_user for top-level contents.
svn path=/trunk/netsurf/; revision=3204