Commit Graph

166 Commits

Author SHA1 Message Date
John Mark Bell
78d194cb77 Rework handling of HTTP redirects -- we now count the number of redirects followed for a given item and abort if a fixed limit is reached. This fixes sites which have pages that redirect to themselves.
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
2008-01-28 01:35:00 +00:00
John Mark Bell
ae3555ccdd Fixes for targetting NetBSD (Thanks to Adam Hoka)
svn path=/trunk/netsurf/; revision=3775
2008-01-26 16:44:17 +00:00
Michael Drake
d13ac3b066 Increase default font size and line spacing.
svn path=/trunk/netsurf/; revision=3660
2007-12-09 11:13:25 +00:00
James Bursa
aa24cdff0d Bug fixes in parse_length, parse_clip, css_dump_style, css_dump_length by Franz Korntner.
svn path=/trunk/netsurf/; revision=3635
2007-10-28 17:01:53 +00:00
Richard Wilson
8df0a5ad40 No longer assert on invalid input to hex_colour.
svn path=/trunk/netsurf/; revision=3626
2007-10-09 16:41:57 +00:00
Richard Wilson
7163f5aadd Fix parsing of invalid colour values becoming CSS_COLOR_NONE. Make all colour parsing code common.
svn path=/trunk/netsurf/; revision=3625
2007-10-09 16:25:25 +00:00
Michael Drake
686c98fafd Allow hex CSS colour values with omitted hash. Fix #rgb and #rrggbb handling to only accept hex characters.
svn path=/trunk/netsurf/; revision=3620
2007-10-03 06:47:45 +00:00
James Bursa
09b1dcb23d Remove restriction of @import coming at the start, because multiple inline stylesheets are parsed as one stylesheet, so may contain @import in the middle.
svn path=/trunk/netsurf/; revision=3616
2007-10-02 04:50:25 +00:00
Daniel Silverstone
d1382c6d0e Provide the facility to set the DPI of the display by removing the assumptions of 90.0 dpi from the CSS and layout engines.
svn path=/trunk/netsurf/; revision=3528
2007-08-19 10:08:49 +00:00
Vincent Sanders
2f864eeecc Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Daniel Silverstone
6807b4208a Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
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
2007-05-30 22:39:54 +00:00
James Bursa
828bac39e4 Fix various warnings.
svn path=/trunk/netsurf/; revision=3263
2007-05-02 03:17:19 +00:00
John Mark Bell
9c048ad076 Fix invalidation of unwanted contents.
svn path=/trunk/netsurf/; revision=3214
2007-03-19 00:04:09 +00:00
John Mark Bell
f261e4426a Lose noisy logging
svn path=/trunk/netsurf/; revision=3213
2007-03-18 23:48:12 +00:00
John Mark Bell
947ab0dcd2 Ensure content structures are zero initialised.
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
2007-03-18 20:19:13 +00:00
John Mark Bell
703b5fea73 Ensure content owners check that they are still interested in a content
when receiving notification that the content's in error. This prevents 
content pointers being corrupted when redirects occur. Fixes 1522002, 
1551475.

svn path=/trunk/netsurf/; revision=3211
2007-03-18 17:09:55 +00:00
John Mark Bell
9cf5122797 Content handlers should not call warn_user - they should broadcast the
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
2007-03-11 22:08:57 +00:00
Rob Kendrick
b6cc8cc6eb Remove .cvsignore files, and replicate functionality with svn:ignore attributes
svn path=/trunk/netsurf/; revision=3166
2007-02-04 13:00:06 +00:00
John Mark Bell
25213dca24 Fix handling of cookies in unverifiable transactions caused by a redirect from a fetch into a browser window which was varifiable.
svn path=/trunk/netsurf/; revision=3165
2007-02-02 23:08:13 +00:00
James Bursa
a0b6661eb6 Make GTK build compile on FreeBSD.
svn path=/trunk/netsurf/; revision=3154
2007-01-29 22:27:15 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Richard Wilson
fdbb855a9c Fix accidental press of delete :-s
svn path=/trunk/netsurf/; revision=2852
2006-08-15 19:33:42 +00:00
Richard Wilson
8852cdd109 Treat unitless CSS values as pixels (fix 1527056)
svn path=/trunk/netsurf/; revision=2851
2006-08-15 19:20:36 +00:00
Richard Wilson
307ae1c40c Fix the small NetSurf build.
svn path=/trunk/netsurf/; revision=2714
2006-07-04 23:43:49 +00:00
Richard Wilson
59b7ce9194 Don't assert() for AUTH or SSL codes (fix 1498477)
svn path=/trunk/netsurf/; revision=2713
2006-07-04 22:03:39 +00:00
John Mark Bell
4e6974b523 Fix background: parsing & lose potential memory leak
svn path=/trunk/netsurf/; revision=2660
2006-06-28 15:38:46 +00:00
Daniel Silverstone
35bb5f96d5 [project @ 2006-03-19 17:49:32 by dsilvers]
Add support for a few more CSS cursors and tidy the GUI_POINTER_* stuff to support what we already had

svn path=/import/netsurf/; revision=2135
2006-03-19 17:49:32 +00:00
John Mark Bell
c4260ee25e [project @ 2006-03-17 02:08:42 by jmb]
Fix behaviour of clip property parser when presented with invalid data

svn path=/import/netsurf/; revision=2133
2006-03-17 02:08:42 +00:00
Daniel Silverstone
05b214a5d5 [project @ 2006-03-09 19:04:13 by dsilvers]
css.[ch]: Add css_len2pt to convert a CSS length to points for use on systems
which actually recognise that DPI might not be 90 all the time.

svn path=/import/netsurf/; revision=2114
2006-03-09 19:04:13 +00:00
John Mark Bell
e4e01d338f [project @ 2006-02-11 21:58:56 by jmb]
Permit negative text indent

svn path=/import/netsurf/; revision=2075
2006-02-11 21:58:56 +00:00
John Mark Bell
9a35230e88 [project @ 2006-02-05 22:22:35 by jmb]
Fix bad read

svn path=/import/netsurf/; revision=2057
2006-02-05 22:22:35 +00:00
John Mark Bell
611ec68e46 [project @ 2006-01-02 23:31:28 by jmb]
Implement font default option properly

svn path=/import/netsurf/; revision=1969
2006-01-02 23:31:29 +00:00
James Bursa
08e8ee3ed1 [project @ 2005-08-21 12:04:17 by bursa]
Change void * parameters to intptr_t to make them correct for storing integers or pointers.

svn path=/import/netsurf/; revision=1852
2005-08-21 12:04:18 +00:00
James Bursa
3b4baa8008 [project @ 2005-08-04 22:51:42 by bursa]
Fix strndup() compiler warnings.

svn path=/import/netsurf/; revision=1840
2005-08-04 22:51:42 +00:00
John Mark Bell
94433308d1 [project @ 2005-07-31 22:06:03 by jmb]
Ignore @import rules which occur after a valid rule.

svn path=/import/netsurf/; revision=1835
2005-07-31 22:06:03 +00:00
John Mark Bell
0686a76649 [project @ 2005-07-31 15:55:36 by jmb]
Make length -> pixel conversion more accurate.
Fix handling of CSS <numbers>
Fix border widths.

svn path=/import/netsurf/; revision=1832
2005-07-31 15:55:36 +00:00
James Bursa
22640f85e0 [project @ 2005-05-22 21:50:14 by bursa]
Add BOX_TEXT type to distinguish boxes which came from an inline element to boxes which came from a text node. Add inline_parent pointer to box structure. Rewrite text-decoration support to take advantage of the new data (line colours are now correct). Note: there is a clipping issue in redraw.

svn path=/import/netsurf/; revision=1732
2005-05-22 21:50:14 +00:00
James Bursa
ff74a126f7 [project @ 2005-05-21 23:30:19 by bursa]
Improve selector specificity support by adding "working stylesheets" with pre-sorted lists of rules. This also simplifies css_get_style(). The stylesheet origin is now encoded in the specificity. Improve output of css_dump_style().

svn path=/import/netsurf/; revision=1729
2005-05-21 23:30:19 +00:00
Richard Wilson
a01210941b [project @ 2005-04-20 03:58:40 by rjw]
Fix parsing of 0 values without a unit for background-position and font-size.

svn path=/import/netsurf/; revision=1672
2005-04-20 03:58:40 +00:00
Richard Wilson
487cad486d [project @ 2005-04-14 19:54:24 by rjw]
Implement HTML table border setting. Improve support for the collapsing border model.

svn path=/import/netsurf/; revision=1632
2005-04-14 19:54:24 +00:00
James Bursa
2920bca14a [project @ 2005-04-09 09:47:36 by bursa]
Move HTML contents almost fully over to talloc(), simplifying code. Improvements to title attributes, broken forms, cellpadding. Reorder functions in box_construct.c.

svn path=/import/netsurf/; revision=1608
2005-04-09 09:47:37 +00:00
James Bursa
640c6833cf [project @ 2005-04-03 14:17:05 by bursa]
Use talloc_realloc() instead of realloc() for c->source_data, since that is now managed by talloc.

svn path=/import/netsurf/; revision=1593
2005-04-03 14:17:05 +00:00
Richard Wilson
511891d27c [project @ 2005-03-23 18:14:38 by rjw]
Fix incorrect background position calculations. Modify CSS parser to pass all background-position testcases.

svn path=/import/netsurf/; revision=1574
2005-03-23 18:14:38 +00:00
Richard Wilson
b832e05f03 [project @ 2005-03-22 00:10:42 by rjw]
Experimental cellpadding support

svn path=/import/netsurf/; revision=1569
2005-03-22 00:10:42 +00:00
James Bursa
d249f20d1e [project @ 2005-02-19 23:40:15 by bursa]
Add const qualifiers to css_len2px arguments.

svn path=/import/netsurf/; revision=1516
2005-02-19 23:40:15 +00:00
James Bursa
04f0525fbf [project @ 2005-01-24 23:02:37 by bursa]
Reformat pages loaded from memory cache to window width.

svn path=/import/netsurf/; revision=1467
2005-01-24 23:02:37 +00:00
Richard Wilson
ee6d869916 [project @ 2005-01-17 23:06:33 by rjw]
Fix URI memory leakage

svn path=/import/netsurf/; revision=1458
2005-01-17 23:06:33 +00:00
Richard Wilson
71ad0bdf69 [project @ 2005-01-16 21:39:21 by rjw]
Read content, counter-reset and counter-increment properties.

svn path=/import/netsurf/; revision=1456
2005-01-16 21:39:21 +00:00
John Mark Bell
9905ab9818 [project @ 2005-01-16 00:48:47 by jmb]
Fixup my inability to remember how things should work

svn path=/import/netsurf/; revision=1453
2005-01-16 00:48:47 +00:00
John Mark Bell
01564e642d [project @ 2005-01-16 00:08:47 by jmb]
Fixup missed css_style free

svn path=/import/netsurf/; revision=1451
2005-01-16 00:08:47 +00:00