Commit Graph

194 Commits

Author SHA1 Message Date
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
John Mark Bell
c75a613546 Add stylesheet size + size of imported sheets onto CSS content size.
Remove imported contents once we've fetched them and imported them into their parent (once this has happened, the content object is just an empty shell, so not worth keeping around).

svn path=/trunk/netsurf/; revision=8831
2009-07-27 19:40:55 +00:00
John Mark Bell
1916193813 Slight optimisation
svn path=/trunk/netsurf/; revision=8824
2009-07-27 14:57:40 +00:00
John Mark Bell
3f62ae40d4 Retrieve charset specified on the HTTP layer.
svn path=/trunk/netsurf/; revision=8821
2009-07-27 13:56:05 +00:00
John Mark Bell
b5d55eb295 Consider stylesheet media types
svn path=/trunk/netsurf/; revision=8820
2009-07-27 13:49:10 +00:00
John Mark Bell
24881dfb98 Something approximating error reporting. This really needs addressing properly.
svn path=/trunk/netsurf/; revision=8791
2009-07-25 21:42:27 +00:00
John Mark Bell
c51b14383c Now that libwapcaplet guarantees NUL-termination of strings, stop copying them unnecessarily.
svn path=/trunk/netsurf/; revision=8785
2009-07-25 15:47:11 +00:00
John Mark Bell
ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Michael Drake
8365d46eb7 Rename TRANSPARENT to NS_TRANSPARENT to avoid clash on Windows. By MarkieB.
svn path=/trunk/netsurf/; revision=8513
2009-07-14 10:57:07 +00:00
John Mark Bell
5feb7018c5 Replace parent_url with a pointer to the parent content.
svn path=/trunk/netsurf/; revision=8428
2009-07-10 00:26:37 +00:00
John Mark Bell
243c1ba03f Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef NDEBUG.
svn path=/trunk/netsurf/; revision=7593
2009-05-28 10:39:53 +00:00
John Mark Bell
b98f105b24 Purge WITH_AUTH
svn path=/trunk/netsurf/; revision=6600
2009-02-22 15:13:10 +00:00
John Mark Bell
847b776285 Purge NETSURF_USE_SSL and WITH_SSL
svn path=/trunk/netsurf/; revision=6599
2009-02-22 15:07:50 +00:00
John Mark Bell
15d7987723 Squash leaks
svn path=/trunk/netsurf/; revision=6559
2009-02-18 13:11:32 +00:00
John Mark Bell
72b8a67660 Ensure URLs are normalized prior to fetching.
Squash memory leaks.

svn path=/trunk/netsurf/; revision=6411
2009-02-10 18:35:56 +00:00
Michael Drake
e34ed32685 Fix css_len2pt conversion from px and use it in the RO front end code.
svn path=/trunk/netsurf/; revision=5914
2008-12-16 12:26:52 +00:00
John Mark Bell
baf8100d9b Extract test code from css.c into a separate source file.
Modify test driver to take stylesheet filename on the command line.
Makefile to build a library from the css parser sources and link the test driver against it.

svn path=/trunk/netsurf/; revision=5812
2008-11-28 17:17:45 +00:00
Michael Drake
b7a1b3999e Implement percentage heights for block level elements in normal flow, floats and positioned boxes. Percentage min/max-height not yet handled.
svn path=/trunk/netsurf/; revision=5550
2008-10-12 21:22:28 +00:00
Michael Drake
76444db118 Fix pt and pc size calculations when screen dpi is not 90.
svn path=/trunk/netsurf/; revision=5536
2008-10-11 15:59:49 +00:00
John Tytgat
2d1481fafc 'unsigned long' -> 'colour' where it made sense.
svn path=/trunk/netsurf/; revision=5459
2008-09-28 22:37:13 +00:00
Michael Drake
0187cbc40f Comment css_len2{pt|px} functions and wrap to 80 chars.
svn path=/trunk/netsurf/; revision=5263
2008-09-06 20:01:27 +00:00
Michael Drake
668dd06dc3 Add comments and change height attribute handling on TR to only alter the height if attribute height is greater than current height.
svn path=/trunk/netsurf/; revision=5259
2008-09-05 13:04:30 +00:00
François Revel
af7be03db3 more obvious C89
svn path=/trunk/netsurf/; revision=4792
2008-07-29 09:25:17 +00:00
Rob Kendrick
052f99d379 Include headers we need, rather than depending on (optional) features doing so.
svn path=/trunk/netsurf/; revision=4774
2008-07-28 20:32:51 +00:00
John Mark Bell
5452d31d37 Make css_dump_style dump to a specified stream rather than assuming stderr. Makes box_dump on <>RISC OS behave sensibly.
svn path=/trunk/netsurf/; revision=4538
2008-07-09 11:49:27 +00:00
John Mark Bell
dc85ddb0a8 Launch redirects to unsupported URLs in other applications.
svn path=/trunk/netsurf/; revision=4098
2008-04-19 11:07:42 +00:00
John Mark Bell
5c1be65e31 Squash warning
svn path=/trunk/netsurf/; revision=3984
2008-03-19 17:40:17 +00:00
John Mark Bell
8f999376d5 Bring definition of {escape} in line with CSS 2.1 spec.
Require units when parsing css lengths.
Correctly ignore background: meta-properties which have multiple instances of sub-properties (e.g. foo { background: red pink; })

svn path=/trunk/netsurf/; revision=3893
2008-03-06 23:20:32 +00:00
John Mark Bell
674591f63d s/FALSE/false/g
s/TRUE/true/g

svn path=/trunk/netsurf/; revision=3867
2008-02-25 17:08:09 +00:00
Michael Drake
a4e1ffda1a Improve handling of HTML attributes / markup:
* Only apply presentational HTML attributes if no more
   important CSS has been set for the property. (NetSurf used
   to be a bit hit-and-miss when presentational markup and
   CSS were mixed.)
 * Change table cellpadding and border handling to happen as
   soon the boxes styles are available, rather than after the
   whole table has been constructed. Also fix default table
   border colour.
 * Improve handling of CENTER tag and ALIGN attribute. These
   could not be correctly supported in the default CSS file,
   so block level element alignment is now done during box
   construction. (Fixes #1891379, #1824492, #1723853)
Form improvements:
 * Small MAXLENGTH values on text inputs now reduce element
   width. (Fixes #1894854)
 * Prevent select option text from wrapping.

svn path=/trunk/netsurf/; revision=3866
2008-02-25 16:37:48 +00:00
John Mark Bell
04c38876b3 Remove unnecessary #ifdef riscos
svn path=/trunk/netsurf/; revision=3815
2008-02-02 00:25:21 +00:00
Michael Drake
2e6d221a42 Fix GTK build.
svn path=/trunk/netsurf/; revision=3814
2008-02-02 00:22:08 +00:00
Michael Drake
120ca506c1 Make text input boxes with height:auto; and no initial value get a sensible height. Make all form elements have their dimensions based on the configured minimum font size, if the current text size is smaller. Remove redundant code for setting radio icon and checkbox sizes. All em/ex based sizes now respect the min font size, when it's in effect. Updated default styles for form elements.
svn path=/trunk/netsurf/; revision=3813
2008-02-02 00:13:19 +00:00
John Mark Bell
83941da263 Add function to dump working stylesheets
svn path=/trunk/netsurf/; revision=3811
2008-01-31 01:47:57 +00:00
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
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
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
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
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +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
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
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
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
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
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
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
John Mark Bell
1e592489b1 [project @ 2005-01-16 00:03:45 by jmb]
Create interface for duplication and destruction of css_style structs.

svn path=/import/netsurf/; revision=1450
2005-01-16 00:03:45 +00:00
John Mark Bell
15e08b5252 [project @ 2005-01-11 19:39:49 by jmb]
Handle property: inherit; properly

svn path=/import/netsurf/; revision=1441
2005-01-11 19:39:49 +00:00
John Mark Bell
fbe6486e0b [project @ 2005-01-05 20:22:57 by jmb]
Fix syntax error reporting

svn path=/import/netsurf/; revision=1435
2005-01-05 20:22:57 +00:00
John Mark Bell
77de9c1336 [project @ 2005-01-03 02:09:20 by jmb]
Shift + Click == download

svn path=/import/netsurf/; revision=1429
2005-01-03 02:09:20 +00:00
John Mark Bell
270ae1d043 [project @ 2005-01-03 00:45:43 by jmb]
class and id attributes are case-sensitive (HTML4.01)

svn path=/import/netsurf/; revision=1427
2005-01-03 00:45:43 +00:00
James Bursa
64928d9a67 [project @ 2005-01-02 14:42:16 by bursa]
Fix some compiler warnings.

svn path=/import/netsurf/; revision=1426
2005-01-02 14:42:16 +00:00
John Mark Bell
c358b80cc5 [project @ 2004-09-13 23:56:18 by jmb]
Make fonts user-configurable.
This loses font-style support, though it shouldn't be hard to put it back again.

svn path=/import/netsurf/; revision=1274
2004-09-13 23:56:18 +00:00
John Tytgat
7264ae50e5 [project @ 2004-08-14 15:07:19 by joty]
- Rename len() to css_len2px().
- Less compiler warnings concerning float/int implicit casts.
- More stddef.h type usuage.

svn path=/import/netsurf/; revision=1232
2004-08-14 15:07:21 +00:00
John Tytgat
402c4ca66c [project @ 2004-08-14 14:30:10 by joty]
Removed a chunk of Norcroft compiler warnings.  Re-ident some pieces.

svn path=/import/netsurf/; revision=1231
2004-08-14 14:30:12 +00:00
James Bursa
bc727dda1c [project @ 2004-08-11 19:02:32 by bursa]
Start work on removing instances and making content types non-shareable. Clean up some #includes.

svn path=/import/netsurf/; revision=1211
2004-08-11 19:02:32 +00:00
John Mark Bell
c9bd6fa9fc [project @ 2004-08-09 16:11:58 by jmb]
Rework the interface of the URL handing module to allow for multiple error types.
Modify save_complete URL rewriting appropriately.

svn path=/import/netsurf/; revision=1206
2004-08-09 16:11:58 +00:00
John Mark Bell
e81a96fb53 [project @ 2004-08-06 21:16:03 by jmb]
Fix bug in merging of selector lists

svn path=/import/netsurf/; revision=1186
2004-08-06 21:16:03 +00:00
John Mark Bell
603196e720 [project @ 2004-08-05 01:57:14 by jmb]
:first-child pseudo class support
Merge global and element selector lists for more accurate selector matching

svn path=/import/netsurf/; revision=1180
2004-08-05 01:57:14 +00:00
John Mark Bell
6103e3f0cd [project @ 2004-08-01 21:56:47 by jmb]
Rationalise top, bottom, right and left property handling

svn path=/import/netsurf/; revision=1174
2004-08-01 21:56:47 +00:00
John Mark Bell
3b660a7e33 [project @ 2004-08-01 14:13:47 by jmb]
Internal representation and parsing of most CSS2 properties.

svn path=/import/netsurf/; revision=1172
2004-08-01 14:13:47 +00:00
John Mark Bell
d601aa7188 [project @ 2004-07-30 21:53:52 by jmb]
Implement some CSS3 attribute selectors

svn path=/import/netsurf/; revision=1167
2004-07-30 21:53:52 +00:00
John Mark Bell
6560a2ae5f [project @ 2004-07-16 20:22:31 by jmb]
Add overflow support.
Re-tabulate property table in ruleset.c

svn path=/import/netsurf/; revision=1087
2004-07-16 20:22:31 +00:00
John Tytgat
4cca5c72ed [project @ 2004-07-01 20:27:49 by joty]
Log the CSS URL too when there is a syntax error detected.

svn path=/import/netsurf/; revision=1036
2004-07-01 20:27:49 +00:00
James Bursa
aa6e904604 [project @ 2004-06-25 14:28:29 by bursa]
Parse CSS background shorthand property. Background rendering improvements.

svn path=/import/netsurf/; revision=1006
2004-06-25 14:28:29 +00:00
James Bursa
496bfa6d74 [project @ 2004-06-24 23:29:31 by bursa]
Simplify and improve parse_background_position(). Implement css_parse_rgb(). Fix truncation of paragraphs with background images.

svn path=/import/netsurf/; revision=1003
2004-06-24 23:29:31 +00:00
John Mark Bell
e932715010 [project @ 2004-06-11 12:51:40 by jmb]
Fix for crash caused by inline style attributes specifying background images.

svn path=/import/netsurf/; revision=961
2004-06-11 12:51:40 +00:00
James Bursa
d938fe135b [project @ 2004-06-10 23:55:23 by bursa]
Split fetchcache() into fetchcache() and fetchcache_go() to solve problems of callbacks being called before fetchcache() returns. Fix <style> breakage. Error handling fixes & improvements.

svn path=/import/netsurf/; revision=957
2004-06-10 23:55:23 +00:00
James Bursa
08177fa581 [project @ 2004-06-10 20:41:26 by bursa]
Add global content list. Better error handling in content code. Improved code documentation. Remove some obsolete functions. Implement debug window listing contents.

svn path=/import/netsurf/; revision=951
2004-06-10 20:41:26 +00:00
John Mark Bell
78594f3f60 [project @ 2004-06-09 19:55:06 by jmb]
Implement background-image, background-repeat, background-position and background-attachment CSS properties.

background-attachment and background-position need more work.
Some redraw issues remain.

svn path=/import/netsurf/; revision=938
2004-06-09 19:55:06 +00:00
James Bursa
bb41604045 [project @ 2004-05-05 16:33:15 by bursa]
Fix some compiler warnings. Ignore size attribute for file inputs.

svn path=/import/netsurf/; revision=828
2004-05-05 16:33:15 +00:00
James Bursa
da96f9da00 [project @ 2004-05-02 23:31:46 by bursa]
Remove debugging code.

svn path=/import/netsurf/; revision=819
2004-05-02 23:31:46 +00:00
John Mark Bell
dcfa1164d3 [project @ 2004-05-01 20:16:38 by jmb]
Escape @import in doxygen comments

svn path=/import/netsurf/; revision=809
2004-05-01 20:16:38 +00:00
James Bursa
d7a4adf481 [project @ 2004-05-01 17:48:38 by bursa]
CSS parsing improvements: new tokeniser using re2c, improve memory-exhaustion behaviour, plug leaks, reduce memory usage, clean up code, add source documention.

svn path=/import/netsurf/; revision=806
2004-05-01 17:48:38 +00:00
James Bursa
a168eaaed6 [project @ 2004-04-14 12:53:14 by bursa]
Merge css_create() into css_convert().

svn path=/import/netsurf/; revision=782
2004-04-14 12:53:14 +00:00
John Mark Bell
a260f648f8 [project @ 2004-04-02 23:12:26 by jmb]
Implement CSS cursor property

svn path=/import/netsurf/; revision=705
2004-04-02 23:12:26 +00:00
James Bursa
fba46de9cb [project @ 2004-03-11 02:19:13 by bursa]
Add source_data to content structure and remove equivalents from individual contents.

svn path=/import/netsurf/; revision=606
2004-03-11 02:19:14 +00:00
James Bursa
1c85bf0429 [project @ 2004-03-02 18:02:17 by bursa]
Add new url functions and modify to use them.

svn path=/import/netsurf/; revision=578
2004-03-02 18:02:41 +00:00
James Bursa
765c02622b [project @ 2004-02-13 23:07:42 by bursa]
Add font size configuration and fix proxy options bug.

svn path=/import/netsurf/; revision=538
2004-02-13 23:07:42 +00:00