Commit Graph

223 Commits

Author SHA1 Message Date
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
1fc91faff1 Also flag box as invisible so it'll have no effect on layout
svn path=/trunk/netsurf/; revision=3864
2008-02-25 08:56:11 +00:00
John Mark Bell
73c02364a8 Ignore spurious top-level framesets correctly (previously declared memory exhaustion, which is obviously wrong)
svn path=/trunk/netsurf/; revision=3863
2008-02-25 08:53:04 +00:00
John Mark Bell
2c2ac87e37 Prevent tabbing into textfields whose styling is display: none;
svn path=/trunk/netsurf/; revision=3849
2008-02-07 00:50:37 +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
James Bursa
21db9de5f8 Make F9 dump box tree to an editor for easier debugging.
svn path=/trunk/netsurf/; revision=3529
2007-08-20 02:39: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
John Mark Bell
00377eec58 Import font containing symbols we need for list items.
(Un)Install font appropriately at runtime.
Make list markers use the right characters.

svn path=/trunk/netsurf/; revision=3280
2007-05-14 22:57:11 +00:00
John Mark Bell
f1fba1908f Fix embedded object + display: none; crash (1695751) (c.f r3236)
svn path=/trunk/netsurf/; revision=3239
2007-04-06 23:48:26 +00:00
John Mark Bell
94d12a96e7 Squash access to freed memory.
Actually process form inputs which have been styled display:none;
This needs revisiting after 1.0 as the following will still break:
<form ..>
  <div style="display:none;">
    <input type="hidden" name="foo" value="bar"/>
  </div>
  <input type="submit" name="submit" value="submit"/>
</form>
The children of the div are not processed (which is correct for display 
purposes, but results in the hidden input being ignored entirely). A 
more correct fix would be to perform form input -> gadget creation 
orthogonally from box tree generation; then styling will have no effect.

svn path=/trunk/netsurf/; revision=3236
2007-04-06 12:05:25 +00:00
John Mark Bell
6eba75b1c6 Recognise <image> as a synonym for <img> (fixes 1692426)
svn path=/trunk/netsurf/; revision=3231
2007-04-01 20:21:58 +00:00
John Mark Bell
64b229d0d6 Make <object> attribute handling more spec compliant
svn path=/trunk/netsurf/; revision=3215
2007-03-22 22:47:24 +00:00
John Mark Bell
e80ce80a98 Default form field maxlength to UINT_MAX (fixes 1620540)
svn path=/trunk/netsurf/; revision=3205
2007-03-11 23:48:29 +00:00
John Mark Bell
e57a90e91c Fix handling of % signs in textarea initial value. (Fixes 1617123)
svn path=/trunk/netsurf/; revision=3180
2007-02-11 23:21:05 +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
James Bursa
b6630787c5 Default frame margin 0 instead of -1. Fix marginheight parsing.
svn path=/trunk/netsurf/; revision=3147
2007-01-24 22:53:09 +00:00
Richard Wilson
4f1ca7d14c Don't require frames to specify a URL (fixes frame names not being recognised)
svn path=/trunk/netsurf/; revision=3135
2007-01-03 20:11:09 +00:00
Richard Wilson
f4b8d3a009 Reflow iframes on layout (fix 1617625)
svn path=/trunk/netsurf/; revision=3126
2006-12-30 02:10:46 +00:00
James Bursa
e2d7630ae8 Remove wrong kind of free for data allocated using talloc.
svn path=/trunk/netsurf/; revision=3113
2006-12-08 22:18:15 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
James Bursa
f546f6b5e7 Implement list-style-type circle, square, none, and decimal.
svn path=/trunk/netsurf/; revision=3034
2006-11-05 19:50:34 +00:00
James Bursa
f4f17f905b More work on lists. Simplify the implementation to a BLOCK for display: list-item, with a marker box on box->list_marker.
svn path=/trunk/netsurf/; revision=3031
2006-11-05 12:58:24 +00:00
John Mark Bell
7bd710a71c Initial work for display: list-item support
svn path=/trunk/netsurf/; revision=3028
2006-11-04 19:53:22 +00:00
James Bursa
b6c8e435cd Implement absolute positioned inlines.
svn path=/trunk/netsurf/; revision=3026
2006-11-04 19:17:11 +00:00
James Bursa
a6b1a2ee46 Remove code to determine containing block; no longer used.
svn path=/trunk/netsurf/; revision=3015
2006-10-22 20:20:17 +00:00
James Bursa
a785bc25f7 Modify implementation of absolute positioning to support "static positions". Absolutely positioned boxes are now in their original place in the tree instead of linked from absolute_children.
svn path=/trunk/netsurf/; revision=2984
2006-10-08 22:46:25 +00:00
John Mark Bell
55a217c6be Squash warnings.
svn path=/trunk/netsurf/; revision=2953
2006-09-11 11:55:17 +00:00
Jeffrey Lee
36278685ff Fixed translation of html entities when a textarea has an initial value
svn path=/trunk/netsurf/; revision=2952
2006-09-11 08:02:13 +00:00
Jeffrey Lee
271c28a5df textarea html tag fix; horizontal scrollbars; auto-scroll improvements
svn path=/trunk/netsurf/; revision=2940
2006-09-10 13:27:08 +00:00
Richard Wilson
923d9f1365 Fix 1546941.
svn path=/trunk/netsurf/; revision=2909
2006-09-02 19:03:49 +00:00
Richard Wilson
74fa727509 Experimental new frames code.
svn path=/trunk/netsurf/; revision=2906
2006-09-02 15:52:41 +00:00
John Mark Bell
978637a134 Stop rendering of iframe children; they're for non-iframe supporting UAs
(which isn't us)

svn path=/trunk/netsurf/; revision=2893
2006-08-24 20:02:37 +00:00
Richard Wilson
cd59d27008 Ignore junk values (fix 1444336)
svn path=/trunk/netsurf/; revision=2715
2006-07-05 00:21:04 +00:00
John Mark Bell
5e2567370d Fix submission of forms in embedded objects; resolve submission URL at
form creation time rather than at submit.

svn path=/trunk/netsurf/; revision=2707
2006-07-03 21:41:25 +00:00
James Bursa
8ee81a7d8e Implement absolute positioning.
svn path=/trunk/netsurf/; revision=2648
2006-06-26 04:52:34 +00:00
Daniel Silverstone
e32213f5e4 [project @ 2006-04-04 10:56:21 by dsilvers]
New way to do the <pre> newline stripping to cope with tags in the <pre>

svn path=/import/netsurf/; revision=2486
2006-04-04 10:56:21 +00:00
John Mark Bell
3f979633b8 [project @ 2006-03-27 01:04:56 by jmb]
Reinstate checks for embedded content being the same as its parent (fixes 1456335)

svn path=/import/netsurf/; revision=2196
2006-03-27 01:04:56 +00:00
Daniel Silverstone
c15a9ebee7 [project @ 2006-03-26 23:52:22 by dsilvers]
Allow white-space: pre* elements to consume one initial new line to make rendering neater

svn path=/import/netsurf/; revision=2191
2006-03-26 23:52:22 +00:00
Richard Wilson
da4a9313f1 [project @ 2006-02-25 18:50:34 by rjw]
Support for BMP files

svn path=/import/netsurf/; revision=2095
2006-02-25 18:51:51 +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
Adrian Lees
1efd4796a2 [project @ 2005-12-10 14:31:32 by adrianl]
ArtWorks support

svn path=/import/netsurf/; revision=1891
2005-12-10 14:31:33 +00:00
James Bursa
4ce357f09b [project @ 2005-08-22 22:49:52 by bursa]
More work towards frame targets: add target parameter to box_create(), and copy target down the box tree during construction.

svn path=/import/netsurf/; revision=1853
2005-08-22 22:49:52 +00:00
James Bursa
8afd957986 [project @ 2005-08-20 22:52:20 by bursa]
Work towards implementing link target frames: add target attribute to struct box, add frame to struct content_html_object and html_fetch_object().

svn path=/import/netsurf/; revision=1849
2005-08-20 22:52:20 +00:00
John Mark Bell
58d9b45e81 [project @ 2005-08-14 23:56:15 by jmb]
Move imagemap.[ch] into render/
Make imagemap URL extraction use box_extract_link

svn path=/import/netsurf/; revision=1847
2005-08-14 23:56:15 +00:00
James Bursa
419517f0aa [project @ 2005-08-07 21:28:48 by bursa]
Improvements to frames. Fix bug with BR at end of inline container.

svn path=/import/netsurf/; revision=1843
2005-08-07 21:28:48 +00:00
John Mark Bell
3805c219fb [project @ 2005-07-03 15:57:10 by jmb]
Handle forms with no action attribute

svn path=/import/netsurf/; revision=1783
2005-07-03 15:57:10 +00:00
James Bursa
8a7ebeb2cc [project @ 2005-07-02 20:08:24 by bursa]
Fix hidden form inputs being rendered.

svn path=/import/netsurf/; revision=1780
2005-07-02 20:08:24 +00:00
John Mark Bell
3286c99dd5 [project @ 2005-06-26 01:55:20 by jmb]
Move acceptable character set determination to form submission time, rather thanat box tree creation time.
Use UTF-8 encoding, if specified, else use first specified encoding.
Improve use of utf8_to_enc - falling back to document encoding then 8859-1 where appropriate.

svn path=/import/netsurf/; revision=1765
2005-06-26 01:55:20 +00:00
James Bursa
84f274f215 [project @ 2005-06-07 22:52:56 by bursa]
Fix bug causing an extra line to be inserted for <br> at the end of a paragraph.

svn path=/import/netsurf/; revision=1746
2005-06-07 22:52:56 +00:00
James Bursa
57b68bd933 [project @ 2005-06-05 20:54:37 by bursa]
More work on borders / padding / margins on inline elements. Add BOX_INLINE_END to hold the right border / padding / margin (left is in the BOX_INLINE).

svn path=/import/netsurf/; revision=1742
2005-06-05 20:54:37 +00:00
James Bursa
99a483dd7b [project @ 2005-06-04 12:12:38 by bursa]
Fix text-decoration and borders on inline elements by replacing inline_parent in box structure with end_inline_children.

svn path=/import/netsurf/; revision=1741
2005-06-04 12:12:38 +00:00
James Bursa
69d6e0685f [project @ 2005-05-24 20:21:47 by bursa]
Convert remaining BOX_INLINEs in forms to BOX_TEXT.

svn path=/import/netsurf/; revision=1736
2005-05-24 20:21:47 +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
0d54ba24d4 [project @ 2005-04-29 01:33:50 by rjw]
Correctly respect tr heights

svn path=/import/netsurf/; revision=1697
2005-04-29 01:33:50 +00:00
Richard Wilson
f0dc9a3294 [project @ 2005-04-28 15:57:07 by rjw]
Unbreak HTML table border specification.

svn path=/import/netsurf/; revision=1695
2005-04-28 15:57:07 +00:00
Richard Wilson
240f15b692 [project @ 2005-04-28 02:35:03 by rjw]
HTML border attributes have lower priority that CSS values (fix osnews). Disable tr height minimum value usage for now.

svn path=/import/netsurf/; revision=1694
2005-04-28 02:35:03 +00:00
Richard Wilson
991b660eea [project @ 2005-04-28 01:17:52 by rjw]
Translate hspace/vspace to CSS margin values.

svn path=/import/netsurf/; revision=1692
2005-04-28 01:17:52 +00:00
James Bursa
ee8b6f0628 [project @ 2005-04-27 19:13:30 by bursa]
Fix cellpadding="0".

svn path=/import/netsurf/; revision=1688
2005-04-27 19:13:30 +00:00
John Mark Bell
8c21386b00 [project @ 2005-04-24 21:49:28 by jmb]
Fix invalid reads from freed data.

svn path=/import/netsurf/; revision=1683
2005-04-24 21:49:28 +00:00
James Bursa
2f389b3032 [project @ 2005-04-17 16:56:41 by bursa]
Fix frameset code.

svn path=/import/netsurf/; revision=1663
2005-04-17 16:56:41 +00:00
John Mark Bell
c17dc661ea [project @ 2005-04-16 05:09:32 by jmb]
Split out UTF-8 handling functions.
Submit URL-encoded forms in sensible encoding:
  * First entry in accept-charset list, if present
  * Document encoding, otherwise
  We may want to explicitly look for UTF-8, to save converting.
Convert cnv_str_local_enc/cnv_local_enc_str to use iconv (they're now veneers for utf8_[to/from]_enc).
Provide mechanism for looking up local system charset (derived from system alphabet, under RISC OS)

svn path=/import/netsurf/; revision=1647
2005-04-16 05:09:33 +00:00
John Mark Bell
ef7fe5d3e5 [project @ 2005-04-14 23:17:37 by jmb]
Fix form selection abort

svn path=/import/netsurf/; revision=1633
2005-04-14 23:17:37 +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
11bc5345c5 [project @ 2005-04-13 21:58:28 by bursa]
Add fallback field to struct box for object fallback content. Add some checks for tree consistency to box_dump(). Rename struct plugin_params to object_param. Clean up box_object(), box_embed(), box_iframe(), and box_image(). Implement object fallback to contents if the fetch or conversion fails.

svn path=/import/netsurf/; revision=1627
2005-04-13 21:58:28 +00:00
James Bursa
72e3ad4fcd [project @ 2005-04-10 17:08:49 by bursa]
Implement box_get_attribute() to simplify code. Add code to attempt to extract URLs from "javascript:" links.

svn path=/import/netsurf/; revision=1620
2005-04-10 17:08:49 +00:00
John Mark Bell
63c33349f0 [project @ 2005-04-09 22:56:34 by jmb]
Fix inappropriate free()s of talloced content

svn path=/import/netsurf/; revision=1619
2005-04-09 22:56:34 +00:00
James Bursa
f9d5c0f7c8 [project @ 2005-04-09 13:25:05 by bursa]
Fix iframe related crash.

svn path=/import/netsurf/; revision=1613
2005-04-09 13:25:05 +00:00
James Bursa
10fa42cd12 [project @ 2005-04-09 09:52:52 by bursa]
Remove obsolete style_clone field from struct box.

svn path=/import/netsurf/; revision=1609
2005-04-09 09:52:52 +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
29d44c739e [project @ 2005-03-28 19:17:06 by bursa]
Split convert_xml_to_box() into box_construct_element() and box_construct_text(). Add box_solve_display().

svn path=/import/netsurf/; revision=1585
2005-03-28 19:17:06 +00:00
James Bursa
64d8f9d5ed [project @ 2005-03-26 01:12:27 by bursa]
Split box.c into box_construct.c, box_normalise.c, and box.c.

svn path=/import/netsurf/; revision=1583
2005-03-26 01:12:27 +00:00