Commit Graph

801 Commits

Author SHA1 Message Date
Michael Drake 920be77804 When floats have clear right or left set, as well as being put below floats on that side, they should still follow normal behaviour with respect to floats on the other side.
svn path=/trunk/netsurf/; revision=3904
2008-03-09 14:10:05 +00:00
Michael Drake 1dc8770cbb Fix clear CSS property support when applied on floats.
svn path=/trunk/netsurf/; revision=3902
2008-03-09 01:34:49 +00:00
Michael Drake 201dabcb9b Round percentage width to nearest pixel with integers.
svn path=/trunk/netsurf/; revision=3901
2008-03-08 20:30:40 +00:00
Michael Drake 9c0eda1d2c Fix float wrapping when available space equals space that would be used by float.
svn path=/trunk/netsurf/; revision=3898
2008-03-07 21:39:06 +00:00
Michael Drake 16489d1b12 No space between rows of floats.
svn path=/trunk/netsurf/; revision=3895
2008-03-07 18:36:04 +00:00
Michael Drake ceb5f5ff7f Round percentage widths to nearest pixel instead of down.
svn path=/trunk/netsurf/; revision=3891
2008-03-06 19:41:49 +00:00
Michael Drake f7be887580 Centered tables are a special case.
svn path=/trunk/netsurf/; revision=3880
2008-03-05 08:09:06 +00:00
Michael Drake 5859cae5d4 Squash warning.
svn path=/trunk/netsurf/; revision=3875
2008-03-01 21:01:04 +00:00
Michael Drake bae61d9224 Periodically reflow the page while fetching a page's objects. Make buffer all rendering default.
svn path=/trunk/netsurf/; revision=3874
2008-02-29 23:03:26 +00:00
Michael Drake f752aca0d4 Fix align attributes on TABLE etc being overridden in the table's cells by the default alignment of cells with no align attribute.
svn path=/trunk/netsurf/; revision=3873
2008-02-28 20:36:09 +00:00
John Mark Bell 89793c2171 Make content_reset actually do what it's meant to (i.e. reset the appropriate members)
Fix up CONTENT_MSG_REFRESH scheduled events to gracefully the refresh URL disappearing from under them.

svn path=/trunk/netsurf/; revision=3870
2008-02-27 18:38:41 +00:00
Michael Drake 748937547a Don't meddle with blockquote's margins.
svn path=/trunk/netsurf/; revision=3869
2008-02-26 22:31:38 +00:00
John Mark Bell 1cf46a6792 SignednessWarnings.squash()
Aside from a number of instances of const being cast away (mostly relating to the urldb, which is correct to only export const data) this now builds warning-free with GCC 4 on x86, which is nice.

svn path=/trunk/netsurf/; revision=3868
2008-02-25 17:58:00 +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 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
Michael Drake 369344518a For form gadgets, specified percentage width is inclusive of margin, border and padding space.
svn path=/trunk/netsurf/; revision=3859
2008-02-17 18:22:06 +00:00
Michael Drake 7d748ae2ff Select element width is width of longest option text.
svn path=/trunk/netsurf/; revision=3855
2008-02-11 17:53:00 +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
Michael Drake 7177f59309 Improve float positioning.
svn path=/trunk/netsurf/; revision=3833
2008-02-03 18:44:24 +00:00
Michael Drake d67a84f7e3 Turn debug output off again. Remove extraneous include.
svn path=/trunk/netsurf/; revision=3828
2008-02-03 14:29:07 +00:00
Michael Drake 8491aecb35 Ensure min line length takes into account margins, borders and paddings of objects.
svn path=/trunk/netsurf/; revision=3827
2008-02-03 14:24:46 +00:00
John Mark Bell ad6fcea6b0 Add url_fragment to extract fragment from URL
Optionally allow url_compare to ignore fragments in comparison
Fix handling of url_compare result in a few places
Fix redirects which contain fragments in the Location header

svn path=/trunk/netsurf/; revision=3826
2008-02-03 12:04:48 +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
Michael Drake 0241f21d4d Fix syntax.
svn path=/trunk/netsurf/; revision=3800
2008-01-29 01:18:23 +00:00
Michael Drake 3edfd4feb7 Reinstate things lost in the last checkins.
svn path=/trunk/netsurf/; revision=3799
2008-01-29 01:14:20 +00:00
Michael Drake 30b76c4dfa No need to recalculate a value we already have.
svn path=/trunk/netsurf/; revision=3798
2008-01-29 01:01:02 +00:00
Michael Drake 38dcd3f172 Apply min font size config option to radio icons and checkboxes.
svn path=/trunk/netsurf/; revision=3797
2008-01-29 00:42:15 +00:00
Michael Drake 416c81208b Make box dump show "gadget".
svn path=/trunk/netsurf/; revision=3796
2008-01-28 13:48:59 +00:00
James Bursa 58724040e5 Render borders after backgrounds. Handle boxes with overflow hidden or scroll and borders correctly. Update copyrights.
svn path=/trunk/netsurf/; revision=3792
2008-01-28 04:33:39 +00:00
John Mark Bell 8fdd1f298e Recurse into noscript elements when looking for meta refresh. This would work perfectly, were it not for libxml's html parser terminating head and starting body on sight of a noscript tag. Joy.
svn path=/trunk/netsurf/; revision=3791
2008-01-28 02:43:06 +00:00
Michael Drake 882c04c2fb Only needed the vertical position changed.
svn path=/trunk/netsurf/; revision=3789
2008-01-28 02:01:04 +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 32fe1bd1bf Replace accidentally checked in files with previous ones.
svn path=/trunk/netsurf/; revision=3786
2008-01-28 01:11:37 +00:00
Michael Drake 49fce64c1a Fix vertical position of images with margin/borders/padding.
svn path=/trunk/netsurf/; revision=3785
2008-01-28 00:58:31 +00:00
Michael Drake 48bdeb34c8 Ensure images within inline-blocks are shown properly. Fixed by zamez.
svn path=/trunk/netsurf/; revision=3783
2008-01-27 22:25:11 +00:00
Michael Drake fcd30e0819 Revert r3781.
svn path=/trunk/netsurf/; revision=3782
2008-01-27 19:08:27 +00:00
Michael Drake 2a28537fe6 Background area extends to border edge.
svn path=/trunk/netsurf/; revision=3781
2008-01-27 19:06:11 +00:00
Michael Drake f5d07c4988 Background area extends to border edge.
svn path=/trunk/netsurf/; revision=3780
2008-01-27 18:15:56 +00:00
Michael Drake b2b6fa0f10 Make inline-blocks have margins. Add defualt margin around form inputs.
svn path=/trunk/netsurf/; revision=3779
2008-01-27 17:39:14 +00:00
Michael Drake 053f2f830c Hopefully fix inline-block positioning. (Stops form elements from overlapping.)
svn path=/trunk/netsurf/; revision=3778
2008-01-27 11:59:01 +00:00
Michael Drake 252aa870f8 No need to reduce box height when adding scrollbar.
svn path=/trunk/netsurf/; revision=3777
2008-01-26 23:03:30 +00:00
Daniel Silverstone 13b91169fd Protect <pre> fix in cases where c->style is NULL
svn path=/trunk/netsurf/; revision=3673
2007-12-23 16:09:02 +00:00
Daniel Silverstone 23781fb862 An INLINE_CONTAINER which contains a TEXT which is zero chars long but *is* in a PRE white-space rule *DOES* contain a text child.
svn path=/trunk/netsurf/; revision=3672
2007-12-23 14:15:11 +00:00
Richard Wilson cab5913aee Don't remove table rows with no children (fix 1753365)
svn path=/trunk/netsurf/; revision=3630
2007-10-10 20:34:02 +00:00
Richard Wilson 14c30d64a6 Remove legacy code.
svn path=/trunk/netsurf/; revision=3629
2007-10-10 20:33:15 +00:00
Richard Wilson e0ac355853 Correctly terminate the plot group of a clipped box. Clip visible children of hidden elements (fix 1808893).
svn path=/trunk/netsurf/; revision=3627
2007-10-09 17:24:02 +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 db7a0824d3 Process inline stylesheets anywhere in document, not just in <head>.
svn path=/trunk/netsurf/; revision=3615
2007-10-02 04:48:30 +00:00
John Mark Bell a9d6811bdc Also try charsets without transliteration -- not all iconv() implementations support //TRANSLIT as it's a non-standard extension.
svn path=/trunk/netsurf/; revision=3598
2007-09-27 13:57:29 +00:00
John Mark Bell ada0a41871 Fix handling of backgrounds on <body> and <html>
svn path=/trunk/netsurf/; revision=3545
2007-09-17 14:53:02 +00:00
James Bursa 3af1dbdb12 Fix disappearing borders for elements with overflow: hidden.
svn path=/trunk/netsurf/; revision=3534
2007-08-28 00:53:22 +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
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
Rob Kendrick 43257a160b Changes to allow building on Solaris.
* Tested on Solaris Express: Developer Edition,
          which is between Solaris 10 and 11.
        * Used gcc, libmng etc packages using pkg-get and blastwave's resources.
        * Had to build lemon and re2c manually.

svn path=/trunk/netsurf/; revision=3350
2007-06-15 22:07:11 +00:00
John Mark Bell 63ae43204d Fix UTF-16LE BOM detection _again_
svn path=/trunk/netsurf/; revision=3335
2007-06-10 19:30:37 +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 01316168fc Fix bugs in charset detection.
Strip BOM from parser input, as it confuses libxml.
Ignore non-ASCII-compatible charsets declared in meta tag (the parser 
defaults to 8 bit, so if it's managed to extract a meta charset, then it 
must be ASCII-compatible, so a non-ASCII-compatible meta charset is lies).

Fixes WightLink timetable and 1726341.

svn path=/trunk/netsurf/; revision=3304
2007-05-29 18:03:07 +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
James Bursa 7c43ff2537 Return an error from html_convert() if the base stylesheet fails to load, instead of continuing to layout which will assert.
svn path=/trunk/netsurf/; revision=3266
2007-05-06 00:41:12 +00:00
James Bursa d27f5c65da Fix warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t'.
svn path=/trunk/netsurf/; revision=3264
2007-05-02 03:20:01 +00:00
Richard Wilson 9c3dc045a0 Set minimum META refresh delay to 1s
svn path=/trunk/netsurf/; revision=3246
2007-04-07 22:51:06 +00:00
John Mark Bell 4d55f43a3d Object sizes do not apply when calculating the extent of descendent
bounding boxes. (fixes 1601881)

svn path=/trunk/netsurf/; revision=3240
2007-04-07 02:29:32 +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 e7fe3678f0 Deal with more ways in which meta refresh URLs can be invalid.
svn path=/trunk/netsurf/; revision=3229
2007-04-01 16:41:22 +00:00
John Mark Bell ccfc0e7516 Fix abort on attempted destruction of CONTENT_DIRECTORY (1690222)
svn path=/trunk/netsurf/; revision=3228
2007-03-28 22:56:54 +00:00
John Mark Bell a96ef2a906 Fix assertion when table has negative mbp (1579981)
svn path=/trunk/netsurf/; revision=3222
2007-03-25 16:20:10 +00:00
John Mark Bell cabed36421 Fix handling of scrollbar addition to blocks which have height/width ==
AUTO (fixes 1567430)

svn path=/trunk/netsurf/; revision=3220
2007-03-24 23:47:44 +00:00
John Mark Bell 5e0bec495c Fix FP exception when right-aligned tables with margin: auto are nested
(interaction with floats, resulting in margin[TOP] == AUTO) (fixes 
1662931)

svn path=/trunk/netsurf/; revision=3218
2007-03-24 21:03:36 +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 9c048ad076 Fix invalidation of unwanted contents.
svn path=/trunk/netsurf/; revision=3214
2007-03-19 00:04:09 +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 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 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 58c217cbee Transliterate form submissions (requires an iconv implementation that
understands //TRANSLIT - both glibc & libiconv's do, as do Iconv 
modules >= 0.08)
Require Iconv 0.08

svn path=/trunk/netsurf/; revision=3203
2007-03-11 13:58:15 +00:00
John Mark Bell cd3fb4a7cc Ensure multipart/form-data submissions are in the correct charset.
(fixes 1617129).
There are issues with unrepresentable characters, which I'm 
investigating; they appear to be due to Iconv/UnicodeLib and not 
NetSurf's usage of them.

svn path=/trunk/netsurf/; revision=3190
2007-02-26 00:32:07 +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
John Mark Bell 3b40e0f5fc Reparse entire document if meta charset resulting in changed document
encoding is encountered (fixes 1389126)

svn path=/trunk/netsurf/; revision=3176
2007-02-10 21:34:22 +00:00
John Mark Bell a9b34bd990 Work around libxml oddness in allowing document meta encoding to
override external charset information.

svn path=/trunk/netsurf/; revision=3175
2007-02-10 19:53:41 +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
John Mark Bell 8cf2e40daa Bring handling of submission of blank file inputs in line with other browsers.
Tidy up fetch_post_convert while I'm at it.

svn path=/trunk/netsurf/; revision=3159
2007-01-30 23:19:21 +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 11aceb370a Add html_dump_frameset() to help understand and debug frames.
svn path=/trunk/netsurf/; revision=3148
2007-01-24 23:16:02 +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
James Bursa 75526f77b7 Fix box_visible() to return a bool.
svn path=/trunk/netsurf/; revision=3144
2007-01-14 13:02:09 +00:00
James Bursa bda01b3135 Fix parsing error when an empty HTML data is returned. Add HTTP status and other information to status bar.
svn path=/trunk/netsurf/; revision=3140
2007-01-13 00:21:15 +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
James Bursa d117eb4527 Stop animated images rendering for hidden or fallback boxes.
svn path=/trunk/netsurf/; revision=3128
2006-12-31 23:47:17 +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
Richard Wilson 1353585036 Implement form targets (fix 1619094)
svn path=/trunk/netsurf/; revision=3125
2006-12-30 00:34:26 +00:00
James Bursa 367c2aea88 Fix height of absolutely positioned inline blocks with an object. Fix layout of list markers with no text.
svn path=/trunk/netsurf/; revision=3122
2006-12-26 21:51:08 +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
James Bursa 246352fb97 Allocate new styles for implied boxes using talloc instead of css_duplicate_style().
svn path=/trunk/netsurf/; revision=3112
2006-12-08 22:17:45 +00:00
James Bursa b6b768f521 Improved tracking of memory usage. c->size is now exclusive of talloc size, and the two are added to find the full size.
svn path=/trunk/netsurf/; revision=3103
2006-12-03 22:34:26 +00:00
Michael Drake ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
James Bursa ec563e60ca Add browser_window_reformat() and use it instead of content_reformat() to remove browser_window calls from html.c.
svn path=/trunk/netsurf/; revision=3071
2006-11-26 21:04:42 +00:00
James Bursa 21af6f7fda Move frames-related code out of browser.c into a new file. Remove some browser_window calls from html.c.
svn path=/trunk/netsurf/; revision=3070
2006-11-26 20:11:20 +00:00
Michael Drake 725d8c94a2 Media-descriptors are case-insensitive.
svn path=/trunk/netsurf/; revision=3044
2006-11-11 09:43:47 +00:00
Michael Drake 5adbed530c Fix gap between list marker and list content.
svn path=/trunk/netsurf/; revision=3040
2006-11-10 14:53:46 +00:00
James Bursa df7912f96b Fix distortion of list marker images.
svn path=/trunk/netsurf/; revision=3039
2006-11-07 21:49:03 +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
John Mark Bell 2d4276ee41 Ensure page encoding isn't trampled.
svn path=/trunk/netsurf/; revision=3027
2006-11-04 19:52:49 +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 2227b7c582 Do absolute positioning after other layout so that containing block is fully positioned.
svn path=/trunk/netsurf/; revision=2991
2006-10-10 22:00:10 +00:00
James Bursa 7b30364bc3 Check for null style before using it.
svn path=/trunk/netsurf/; revision=2986
2006-10-09 21:34:34 +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 4b09b7b8a0 Correcly encode spaces for url-encoded form submission.
svn path=/trunk/netsurf/; revision=2960
2006-09-19 10:08:33 +00:00
John Mark Bell a1b6005497 Fix 1559653.
svn path=/trunk/netsurf/; revision=2959
2006-09-18 00:16:39 +00:00
James Bursa bd0dff9098 Add some documentation to layout_block_context(). Move code out into layout_block_object().
svn path=/trunk/netsurf/; revision=2957
2006-09-16 21:48:28 +00:00
James Bursa 7a08d0f03d Call html_reformat() from html_convert() to eliminate duplicate code. Improve calculations of document width and height.
svn path=/trunk/netsurf/; revision=2956
2006-09-16 21:33:55 +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 f2cd31779b Fixed textarea wordwrap if first character on line is a space
svn path=/trunk/netsurf/; revision=2941
2006-09-10 13:59:19 +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
John Mark Bell 221e5aa2a3 Add frame target support to imagemaps.
svn path=/trunk/netsurf/; revision=2920
2006-09-06 00:15:10 +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
James Bursa 877fe5c658 Remove unused and unimplemented nsfont_txtenum().
svn path=/trunk/netsurf/; revision=2875
2006-08-21 02:05:51 +00:00
James Bursa 304616a797 Fix layout of standalone <br>.
svn path=/trunk/netsurf/; revision=2849
2006-08-14 23:05:08 +00:00
James Bursa 8405d18361 Use a minimum line height of 0 for inline containers which have no text.
svn path=/trunk/netsurf/; revision=2838
2006-08-13 01:00:22 +00:00
James Bursa 80b3286e9d Layout absolutely positioned children of tables.
svn path=/trunk/netsurf/; revision=2791
2006-07-23 18:23:02 +00:00
Richard Wilson 675df80871 Allow broken meta refresh commands (fix mail.google.com, bug 1522982)
svn path=/trunk/netsurf/; revision=2777
2006-07-17 23:57:42 +00:00
James Bursa 1bf15f1e15 Check an object has a frame name before comparing.
svn path=/trunk/netsurf/; revision=2733
2006-07-12 04:22:57 +00:00
Richard Wilson a47f148f2d Optimise out redundant group_start and group_end calls (speed up rendering.)
svn path=/trunk/netsurf/; revision=2725
2006-07-10 09:52:31 +00:00
Richard Wilson badad073ec Generate directory listings (fix 1397934)
svn path=/trunk/netsurf/; revision=2719
2006-07-06 00:07:11 +00:00
Richard Wilson cd59d27008 Ignore junk values (fix 1444336)
svn path=/trunk/netsurf/; revision=2715
2006-07-05 00:21:04 +00:00
Richard Wilson ff6694c108 Set correct message on TEXTPLAIN completion (fix 1484874)
svn path=/trunk/netsurf/; revision=2712
2006-07-04 21:01:17 +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 71287140ca Ensure that layout of absolute children is carried out after the height is known.
svn path=/trunk/netsurf/; revision=2696
2006-07-02 17:36:27 +00:00
Richard Wilson eca33bd559 Add missing file.
svn path=/trunk/netsurf/; revision=2695
2006-07-02 17:36:18 +00:00
John Mark Bell 2cb285209e Use case-insensitive strstr to match "stylesheet"
svn path=/trunk/netsurf/; revision=2689
2006-07-02 10:26:51 +00:00
Richard Wilson cf4294d3a8 Implement knockout rendering (controlled by 'knockout_rendering' option or Ctrl+F11, default is off). This attempts to minimise the amount of overlapping redraw performed, and thus can drasticly reduce the rendering time of many pages.
svn path=/trunk/netsurf/; revision=2682
2006-07-01 18:16:05 +00:00
John Mark Bell 928f949413 Ensure containing block has valid height for positioning absolute children
svn path=/trunk/netsurf/; revision=2680
2006-06-29 23:30:06 +00:00
John Mark Bell f8469d2051 Ignore alternate stylesheets
svn path=/trunk/netsurf/; revision=2679
2006-06-29 23:29:15 +00:00
John Mark Bell c5cb54b94d Handle transparent borders correctly when plotting
svn path=/trunk/netsurf/; revision=2677
2006-06-29 21:30:05 +00:00
John Mark Bell bf26437321 Link rel attribute may be a space separated list, take account of this
when looking for stylesheets.

svn path=/trunk/netsurf/; revision=2676
2006-06-29 21:29:21 +00:00
John Mark Bell 8c2e33b399 Fix clipping of page background if body shorter than window height
svn path=/trunk/netsurf/; revision=2675
2006-06-29 19:55:08 +00:00
John Mark Bell b427a005b6 Properly take account of padding on containing block.
svn path=/trunk/netsurf/; revision=2673
2006-06-29 15:53:17 +00:00
John Mark Bell 25537a488a Position specifiers are relative to containing block's padding edge for
absolutely positioned boxes. Compensate for this.

svn path=/trunk/netsurf/; revision=2672
2006-06-29 11:55:21 +00:00
John Mark Bell 19e81ab5e9 Fix previous commit; it failed to make available_width include mbp such
that subtracting them after determining the width works in the case 
where available_width > box->min_width.

svn path=/trunk/netsurf/; revision=2671
2006-06-29 09:55:31 +00:00
John Mark Bell 38bd0b13fe Compensate for box->{min_width,max_width} including mbp when
auto-widthing absolutely positioned content.

svn path=/trunk/netsurf/; revision=2670
2006-06-29 09:37:18 +00:00
John Mark Bell 22e405f914 Fix float placement when it's an exact fit for the width available
svn path=/trunk/netsurf/; revision=2661
2006-06-28 16:47:02 +00:00
John Mark Bell 61dc91e0c5 Relative positioning for absolutely positioned boxes
svn path=/trunk/netsurf/; revision=2653
2006-06-26 22:24:42 +00:00
John Mark Bell 50a8bae10f Box x,y coordinates are of padding edge relative to parent;
top,left,bottom,right are of margin edge relative to parent, so add 
margin and border width when calculating x,y from left,top.

svn path=/trunk/netsurf/; revision=2652
2006-06-26 22:00:10 +00:00
John Mark Bell 58dc86655e Make box_at_point detection consider absolute children too
svn path=/trunk/netsurf/; revision=2651
2006-06-26 20:16:24 +00:00
John Mark Bell f881db3654 Fix calculation of right margin in case where margin right is auto
Initialise available_width correctly for shrink-to-fit widthing.

svn path=/trunk/netsurf/; revision=2649
2006-06-26 13:22:43 +00:00
James Bursa 8ee81a7d8e Implement absolute positioning.
svn path=/trunk/netsurf/; revision=2648
2006-06-26 04:52:34 +00:00
James Bursa f1a1143a24 Fix rendering of float children of a hidden box. Render box absolute children.
svn path=/trunk/netsurf/; revision=2646
2006-06-25 23:07:24 +00:00
James Bursa 878ef9883e Changes to struct box for absolute positioning.
svn path=/trunk/netsurf/; revision=2640
2006-06-21 02:51:00 +00:00
Adrian Lees 8f7eeb9e58 Report fetching of 1 object/stylesheet correctly in status bar
svn path=/trunk/netsurf/; revision=2609
2006-05-29 00:55:43 +00:00
James Bursa dece339528 Fix box_at_point() for certain cases involving floats (solves unclickable links on Wikipedia). Fix text-selection code that assumed that text boxes would be returned last by box_at_point().
svn path=/trunk/netsurf/; revision=2606
2006-05-24 22:55:37 +00:00
James Bursa 21dd10bcda Fix float positions after a block with a specified height.
svn path=/trunk/netsurf/; revision=2598
2006-05-07 17:20:18 +00:00
James Bursa 3e5490c6fd Move word that doesn't fit next to float below float correctly (fixes crash on ofsted site).
svn path=/trunk/netsurf/; revision=2516
2006-04-09 18:59:07 +00:00
James Bursa eaf8a13653 Remove incorrect comment.
svn path=/trunk/netsurf/; revision=2513
2006-04-09 16:22:07 +00:00
Richard Wilson 91c933213b [project @ 2006-04-06 23:03:32 by rjw]
Fix 1462681

svn path=/import/netsurf/; revision=2499
2006-04-06 23:03:32 +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
Daniel Silverstone cb243c8565 [project @ 2006-04-04 10:55:47 by dsilvers]
Small extra debug statement for when looking at box splitting

svn path=/import/netsurf/; revision=2485
2006-04-04 10:55:47 +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
Daniel Silverstone aee810d4d3 [project @ 2006-03-26 23:05:08 by dsilvers]
Do not include the border in the extra margin calculation for <html> tags

svn path=/import/netsurf/; revision=2188
2006-03-26 23:05:08 +00:00
Daniel Silverstone 0f13799768 [project @ 2006-03-26 22:43:22 by dsilvers]
First pass at fixing the bug shown by margintest.html in netsurftest

svn path=/import/netsurf/; revision=2187
2006-03-26 22:43:22 +00:00
James Bursa 4750aa968f [project @ 2006-03-26 21:41:18 by bursa]
Fix layout bug related to negative text indent (fixes 1437728).

svn path=/import/netsurf/; revision=2185
2006-03-26 21:41:18 +00:00
James Bursa c2bddcee46 [project @ 2006-03-26 19:59:15 by bursa]
Fix layout bug related to floats near end of line (fixes 1453561). Pass 1 and pass 2 in layout_line() were handling space_after differently.

svn path=/import/netsurf/; revision=2182
2006-03-26 19:59:15 +00:00
Adrian Lees 05be9c073c [project @ 2006-03-26 05:46:21 by adrianl]
Correct usage of utf8_next

svn path=/import/netsurf/; revision=2172
2006-03-26 05:46:21 +00:00
Adrian Lees a80b268ad9 [project @ 2006-03-26 04:48:45 by adrianl]
Selection and scaled plotting of tabs

svn path=/import/netsurf/; revision=2171
2006-03-26 04:48:45 +00:00
Adrian Lees 446f207168 [project @ 2006-03-25 08:53:32 by adrianl]
Tabs in textplain content

svn path=/import/netsurf/; revision=2161
2006-03-25 08:53:32 +00:00
Adrian Lees 99c1bfc195 [project @ 2006-03-22 03:56:44 by adrianl]
Prevent access to non-existent base stylesheet if it fails to load

svn path=/import/netsurf/; revision=2149
2006-03-22 03:56:44 +00:00
Rob Kendrick 190672dc98 [project @ 2006-03-22 01:06:05 by rjek]
Replace check in selected checkboxes with a tick, also now black.

svn path=/import/netsurf/; revision=2148
2006-03-22 01:06:05 +00:00
Rob Kendrick d59c1e3537 [project @ 2006-03-21 17:33:35 by rjek]
Fix typo in redraw code.  Yes, I will learn to compile code before checking in.

svn path=/import/netsurf/; revision=2146
2006-03-21 17:33:35 +00:00
Rob Kendrick 388ce7b8c4 [project @ 2006-03-21 17:22:41 by rjek]
Radio and checkbox widgets are now 3D, and implemented arc plotting for them

svn path=/import/netsurf/; revision=2145
2006-03-21 17:22:41 +00:00
Rob Kendrick dd6bb64347 [project @ 2006-03-20 10:56:54 by rjek]
Source cleanup and true/false to TRUE/FALSE conversion for GTK plotters

svn path=/import/netsurf/; revision=2142
2006-03-20 10:56:54 +00:00
Rob Kendrick 18fea23803 [project @ 2006-03-19 23:56:10 by rjek]
Slightly alter ratio of radio button selected dot to work better when small

svn path=/import/netsurf/; revision=2140
2006-03-19 23:56:10 +00:00
Rob Kendrick 1562dd03cb [project @ 2006-03-19 19:03:07 by rjek]
Implemented unfilled disc plotting and GTK disc plotting

svn path=/import/netsurf/; revision=2136
2006-03-19 19:03:07 +00:00
James Bursa 4b3d4f97a8 [project @ 2006-03-09 18:55:30 by bursa]
Partly fix debug build.

svn path=/import/netsurf/; revision=2113
2006-03-09 18:55:30 +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 d4d3e5ee1c [project @ 2006-02-23 15:06:53 by jmb]
Handle invalid SSL certificates better - UI still needs work.
Modify fetch callback data parameter type to remove compiler warnings.
Constify things.
Lose global ssl_verify_certificates option.
Fix issue when closing a dialog without input focus.

svn path=/import/netsurf/; revision=2092
2006-02-23 15:06:54 +00:00
Richard Wilson 4cc85469cb [project @ 2006-02-21 20:49:11 by rjw]
Allow any content to be used as a background. Simplify bitmap code.

svn path=/import/netsurf/; revision=2087
2006-02-21 20:49:12 +00:00
John Mark Bell b6c6d77772 [project @ 2006-02-20 02:29:19 by jmb]
Fix GTK build

svn path=/import/netsurf/; revision=2086
2006-02-20 02:29:19 +00:00
Adrian Lees dbfdafdf18 [project @ 2006-02-15 23:09:53 by adrianl]
Extend text selection, copying, saving and searching code to handle textplain contents; modified textplain code to accept other line terminators

svn path=/import/netsurf/; revision=2081
2006-02-15 23:09:55 +00:00
John Mark Bell a784d112c5 [project @ 2006-02-13 00:17:44 by jmb]
Add missing includes

svn path=/import/netsurf/; revision=2079
2006-02-13 00:17:44 +00:00
James Bursa 415254c326 [project @ 2006-02-12 23:07:28 by bursa]
Rewrite handling of text/plain contents. Now rendered directly instead of converting to HTML.

svn path=/import/netsurf/; revision=2078
2006-02-12 23:07:28 +00:00
John Mark Bell 4c90aad659 [project @ 2006-02-04 14:40:01 by jmb]
Fix handling of controls with no value - should fix 1424022.

svn path=/import/netsurf/; revision=2056
2006-02-04 14:40:01 +00:00
James Bursa 2ef092f546 [project @ 2006-02-04 12:02:06 by bursa]
Fix text-decorations for empty elements (fixes 1398172).

svn path=/import/netsurf/; revision=2055
2006-02-04 12:02:06 +00:00
John Mark Bell b9de635dab [project @ 2006-01-28 16:01:19 by jmb]
Fix meta-refresh implementation

svn path=/import/netsurf/; revision=2049
2006-01-28 16:01:19 +00:00
John Mark Bell 9f7e57c99d [project @ 2006-01-25 08:25:37 by jmb]
Fix stupid aborts due to not removing scheduled callbacks

svn path=/import/netsurf/; revision=2040
2006-01-25 08:25:38 +00:00
John Mark Bell 0f77b057a1 [project @ 2006-01-25 06:52:38 by jmb]
Meta refresh support

svn path=/import/netsurf/; revision=2039
2006-01-25 06:52:38 +00:00
Richard Wilson 443818ff07 [project @ 2006-01-24 23:42:28 by rjw]
Manually decode GIFs used as backgrounds.

svn path=/import/netsurf/; revision=2034
2006-01-24 23:42:28 +00:00
James Bursa e8ef816111 [project @ 2006-01-15 22:25:40 by bursa]
Fix crash related to negative margins on inlines.

svn path=/import/netsurf/; revision=2021
2006-01-15 22:25:40 +00:00
John Mark Bell 53a6cc7e06 [project @ 2006-01-06 21:23:47 by jmb]
Fix normalisation of tables to update table->last correctly

svn path=/import/netsurf/; revision=1998
2006-01-06 21:23:47 +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 fc4317b926 [project @ 2006-01-02 13:19:34 by bursa]
Fix comment typo.

svn path=/import/netsurf/; revision=1948
2006-01-02 13:20:01 +00:00
Richard Wilson b9c8f6fa4b [project @ 2006-01-01 23:55:24 by rjw]
Tidy up code.

svn path=/import/netsurf/; revision=1932
2006-01-01 23:55:24 +00:00
James Bursa 666cdaf8dd [project @ 2005-12-11 21:54:30 by bursa]
Disable some log messages.

svn path=/import/netsurf/; revision=1896
2005-12-11 21:54:30 +00:00