Commit Graph

892 Commits

Author SHA1 Message Date
John Tytgat
5f6c2cbff7 - Compiler warning squash
- Changed a lineending \n\r -> \n for a couple of files.
- More code style conformance.

svn path=/trunk/netsurf/; revision=4762
2008-07-26 22:29:15 +00:00
Rob Kendrick
a71e44a6e7 Fix compile warning
svn path=/trunk/netsurf/; revision=4757
2008-07-26 18:05:59 +00:00
John Tytgat
35d3d6d0bb First merge of Adam Blokus' GSoC work from his branch 'branches/adamblokus/netsurf'.
Merged revisions 4212-4552,4554-4709,4711-4724 via svnmerge from 
svn://svn.netsurf-browser.org/branches/adamblokus/netsurf

........
  r4212 | adamblokus | 2008-05-26 19:42:31 +0200 (Mon, 26 May 2008) | 4 lines
  
  Pdf plotting skeleton pinned on Print Preview in GTK.
  Just creates a file and draws lines. 
........
  r4213 | adamblokus | 2008-05-27 00:11:03 +0200 (Tue, 27 May 2008) | 4 lines
  
  Pdf plotter - added drawing some graphic primitives.
  Still with limited functionality, but a snapshot of the
  currently viewed page can be made and resembles the original.
........
  r4214 | adamblokus | 2008-05-27 11:43:31 +0200 (Tue, 27 May 2008) | 2 lines
  
  Corrected encoding name
........
  r4215 | adamblokus | 2008-05-27 12:47:26 +0200 (Tue, 27 May 2008) | 3 lines
  
  Colours and polygons added.
........
  r4217 | adamblokus | 2008-05-27 21:39:35 +0200 (Tue, 27 May 2008) | 6 lines
  
  Added rectangles, filled boxes and clipping.
  Taken into consideration joty's comments.
  Added a todo list for this part.
  Added some debug stuff and checking boundaries.
........
  r4218 | adamblokus | 2008-05-28 12:37:30 +0200 (Wed, 28 May 2008) | 2 lines
  
  Added path ploting (not sure if valid argument order for bezier) and dashed/dotted line styles
........
  r4221 | adamblokus | 2008-05-28 22:11:05 +0200 (Wed, 28 May 2008) | 3 lines
  
  Some more options in graphic primitives and normalizing some parameters.
........
  r4235 | adamblokus | 2008-05-31 22:54:56 +0200 (Sat, 31 May 2008) | 4 lines
  
  Plotting changed as jmb suggested (is the least invasive one from the possible)
  Added dummy bitmap plotting - way of plotting an image is determined by its type. 
........
  r4251 | adamblokus | 2008-06-03 17:12:15 +0200 (Tue, 03 Jun 2008) | 3 lines
  
  Added plotting jpg and png images - quite a lot to improve in this code, but it seems to work ;)
........
  r4263 | adamblokus | 2008-06-05 14:20:32 +0200 (Thu, 05 Jun 2008) | 3 lines
  
  Added hadling images other than png and jpeg - with transparency.
........
  r4267 | adamblokus | 2008-06-06 15:36:34 +0200 (Fri, 06 Jun 2008) | 5 lines
  
  Added handling NULL-returns from all mallocs.
  Added plot_bitmap_tile handling.
  Changed code style a little.
........
  r4327 | adamblokus | 2008-06-12 17:46:34 +0200 (Thu, 12 Jun 2008) | 5 lines
  
  Added a first prototype of the paged-output organization.
  Still not sure about naming, file locations etc.
  Works with the same pdf plotting as before.
........
  r4328 | adamblokus | 2008-06-13 13:52:15 +0200 (Fri, 13 Jun 2008) | 4 lines
  
  Added primitive width adjustment and outputing the whole
  website in multiple pages.
........
  r4336 | joty | 2008-06-15 15:06:57 +0200 (Sun, 15 Jun 2008) | 1 line
  
  Fix RISC OS build failure (change r4235 wasn't complete).
........
  r4337 | joty | 2008-06-15 18:15:32 +0200 (Sun, 15 Jun 2008) | 16 lines
  
  This enables "Export PDF" in RISC OS build:
  
  - Docs/Doxyfile(PREDEFINED): Added WITH_PDF_EXPORT
  - Makefile.sources(S_PDF): Add to RISC OS target as well.
  - utils/config.h: Define WITH_PDF_EXPORT which controls if we want to have
    PDF export functionality or not.
  - riscos/save_pdf.c,riscos/save_pdf.h(save_as_pdf): Use PDF print API made
    by Adam Blokus to write a PDF file under RISC OS.
  - riscos/save.c: Call save_as_pdf added.
  - riscos/menus.c: Add 'Export->PDF' menu entry.
  - riscos/menus.h(menu_action): Added BROWSER_EXPORT_PDF.
  - desktop/gui.h(gui_save_type): Added GUI_SAVE_PDF.
  - desktop/print.c(print_run): Added return value.
  - Makefile(CCACHE): Moved closed to the place where CC is set for the first time.
    (LDFLAGS): Centralised adding all non-pkgconfig libraries and added Haru + PNG libs.
........
  r4343 | adamblokus | 2008-06-16 01:08:52 +0200 (Mon, 16 Jun 2008) | 3 lines
  
  Added margins and page size adjustment.
........
  r4412 | adamblokus | 2008-06-21 20:22:07 +0200 (Sat, 21 Jun 2008) | 4 lines
  
  Added 'fuzzy' margins on page bottom. 
  Disabled direct png embedding, because it is too unstable in Haru now.
........
  r4421 | adamblokus | 2008-06-22 18:52:28 +0200 (Sun, 22 Jun 2008) | 2 lines
  
  Added "Save as.." dialog and Export->PDF menu entry. Print preview still works with default path.
........
  r4437 | adamblokus | 2008-06-25 02:44:46 +0200 (Wed, 25 Jun 2008) | 4 lines
  
  Added skeleton of applying loose layout.
  Minor code cleaning-up.
........
  r4492 | adamblokus | 2008-07-02 09:02:42 +0200 (Wed, 02 Jul 2008) | 5 lines
  
  Implemented the elementar ideas of the loose layout.
  Added scaling in the printing routine.
  Added some basic demonstrations.
........
  r4493 | adamblokus | 2008-07-02 09:05:55 +0200 (Wed, 02 Jul 2008) | 3 lines
  
  Cleaned up the loosing code - commited to much of leftover rubbish code.
........
  r4507 | adamblokus | 2008-07-04 14:25:48 +0200 (Fri, 04 Jul 2008) | 4 lines
  
  Added duplicating box tree and current content - window flickering during printing solved.
  Minor error checking after new HPDF_Image_AddSMask call.
........
  r4515 | adamblokus | 2008-07-06 22:28:16 +0200 (Sun, 06 Jul 2008) | 2 lines
  
  Changes in loosen layout (image resizing).
........
  r4517 | adamblokus | 2008-07-06 22:38:23 +0200 (Sun, 06 Jul 2008) | 2 lines
  
  Added pdf font handling and rendering functions with the use of Haru functions.
........
  r4555 | adamblokus | 2008-07-10 00:59:05 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Added a very basic and still buggy GTK print implementation.
........
  r4565 | adamblokus | 2008-07-10 14:50:16 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Added gtk printing one more time - I have forgotten to add the main file.
........
  r4566 | adamblokus | 2008-07-10 14:57:02 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  removed error with comment
........
  r4569 | adamblokus | 2008-07-10 15:52:55 +0200 (Thu, 10 Jul 2008) | 5 lines
  
  Major style improvements - added a lot of doxygen comments, 
  followed tlsa's style guide.
  Added some more error checking, too.
........
  r4575 | adamblokus | 2008-07-10 18:48:26 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Cleaned up the code.
........
  r4687 | adamblokus | 2008-07-17 14:17:19 +0200 (Thu, 17 Jul 2008) | 2 lines
  
  Changed everything according to jmb's review plus some minor bug fixes to gtk_print.
........
  r4688 | adamblokus | 2008-07-17 17:16:34 +0200 (Thu, 17 Jul 2008) | 2 lines
  
  Solved the netsurf.glade clash from r4421.
........
  r4693 | adamblokus | 2008-07-18 18:11:51 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Fixed bug with wrong number of pages in gtk printing.
........
  r4695 | adamblokus | 2008-07-18 19:59:24 +0200 (Fri, 18 Jul 2008) | 3 lines
  
  - fixed uncommented line from the previous commit
  - fixed bug with scale bigger than 1.0 (incorretly clipped page)
........
  r4696 | adamblokus | 2008-07-18 23:28:00 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Fixed bug in gtk_print_font_paint (and nsfont_paint).
........
  r4697 | adamblokus | 2008-07-18 23:35:38 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Bug fix in nsfont_paint.
........
  r4711 | adamblokus | 2008-07-19 22:44:15 +0200 (Sat, 19 Jul 2008) | 2 lines
  
  Added gtk_selection files.
........
  r4712 | adamblokus | 2008-07-20 11:15:06 +0200 (Sun, 20 Jul 2008) | 2 lines
  
  Addam missing glade files.
........
  r4713 | joty | 2008-07-20 17:13:10 +0200 (Sun, 20 Jul 2008) | 1 line
  
  Follow change r4517 for RISC OS and BeOS platforms : Added pdf font handling and rendering functions with the use of Haru functions.
........
  r4714 | joty | 2008-07-20 18:19:50 +0200 (Sun, 20 Jul 2008) | 1 line
  
  Declare haru_nsfont iso define an instance for each C source including the font_haru.h header.  This fixes breakage of PDF export on RISC OS.
........
  r4724 | adamblokus | 2008-07-23 03:30:08 +0200 (Wed, 23 Jul 2008) | 6 lines
  
  Applied changes according to joty's review.
  Added checking the dimensions of a plotted image to pdf plotter.
  Commented out jpg embedding (it seems to cause some problems
  I'll bring it back when I figure out what's wrong) .
  Added back some files removed by mistake.
........


svn path=/trunk/netsurf/; revision=4741
2008-07-26 16:01:59 +00:00
Michael Drake
8a7bb3194c Fix working out whether a text is in an inline.
svn path=/trunk/netsurf/; revision=4708
2008-07-19 18:46:17 +00:00
Michael Drake
eb613cfedd BOX_TEXT only plotted with background when parent is BOX_INLINE. (Fix "Explore the BBC" button on BBC News etc.)
svn path=/trunk/netsurf/; revision=4707
2008-07-19 17:07:20 +00:00
Michael Drake
3d76ba0472 Fix background image redraw for scales other than 100%.
svn path=/trunk/netsurf/; revision=4701
2008-07-19 01:36:12 +00:00
Michael Drake
302e16de79 Fix repeating background image redraw bug.
svn path=/trunk/netsurf/; revision=4700
2008-07-19 00:50:41 +00:00
Michael Drake
1edf2c51b8 Fix comment typo.
svn path=/trunk/netsurf/; revision=4589
2008-07-11 12:19:47 +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
Michael Drake
1cdfeae0c6 Fix top margin of boxes with a non-visible overflow type.
svn path=/trunk/netsurf/; revision=4482
2008-06-30 15:53:28 +00:00
Michael Drake
f69c024ecb Add param and return details to layout_solve_width() comment.
svn path=/trunk/netsurf/; revision=4322
2008-06-10 22:00:12 +00:00
Michael Drake
243e0abbcd Establish a new block formatting context for blocks with non-visisble overflow style. (9.4.1)
svn path=/trunk/netsurf/; revision=4270
2008-06-06 14:54:19 +00:00
John Mark Bell
287e6b2395 Recurse into <area> and <a>, too.
svn path=/trunk/netsurf/; revision=4220
2008-05-28 20:05:30 +00:00
John Mark Bell
e004e0e745 Squash more warnings.
svn path=/trunk/netsurf/; revision=4210
2008-05-26 10:46:45 +00:00
James Bursa
70da04d69e Simplify code using xmlDocGetRootElement().
svn path=/trunk/netsurf/; revision=4201
2008-05-25 22:31:42 +00:00
John Mark Bell
23fb72ea6b The core code has always assumed a locale of "C".
Do not change the locale globally, else things will break in weird and 
wonderful ways.

Introduce utils/locale.[ch], which provide locale-specific wrappers for various 
functions (currently just the <ctype.h> ones).

Fix up the few places I can see that actually require that the underlying 
locale is paid attention to.

Some notes:

  1) The GTK frontend code has not been touched. It is possible that reading of 
     numeric values (e.g. from the preferences dialogue) may break with this 
     change, particularly in locales that use something other than '.' as their
     decimal separator.
  2) The search code is left unchanged (i.e. assuming a locale of "C"). 
     This may break case insensitive matching of non-ASCII characters. 
     I doubt that ever actually worked, anyway. In future, it should use
     Unicode case conversion to achieve the same effect.
  3) The text input handling in the core makes use of isspace() to detect
     word boundaries. This is fine for western languages (even in the C locale,
     which it's currently assuming). It will, however, break for CJK et. al. 
     (this has always been the case, rather than being a new issue)
  4) text-transform uses locale-specific variants of to{lower,upper}. In future
     this should probably be performing Unicode case conversion. This is the
     only part of the core code that makes use of locale information.

In future, if you require locale-specific behaviour, do the following:

  setlocale(LC_<whatever>, "");
  <your operation(s) here>
  setlocale(LC_<whatever>, "C");

  The first setlocale will change the current locale to the native environment.
  The second setlocale will reset the current locale to "C".
  Any value other than "" or "C" is probably a bug, unless there's a really
  good reason for it.

In the long term, it is expected that all locale-dependent code will reside in 
platform frontends -- the core being wholly locale agnostic (though assuming 
"C" for things like decimal separators).


svn path=/trunk/netsurf/; revision=4153
2008-05-13 14:37:44 +00:00
Michael Drake
7e28ca26d1 Accomodate text area scrollbars in fixed widths. Fix radio button / checkbox issue.
svn path=/trunk/netsurf/; revision=4108
2008-04-25 14:57:36 +00:00
Michael Drake
4110152a62 Change handling of form element widths / heights.
svn path=/trunk/netsurf/; revision=4107
2008-04-25 14:15:18 +00:00
Michael Drake
fc4e39f5b8 Make floats that follow a cleared float heed the clear. Fixes position of search form on BBC homepage.
svn path=/trunk/netsurf/; revision=4104
2008-04-23 18:49:11 +00:00
Michael Drake
e6e0fa0b32 Maybe fix table layout problem caused by r4100.
svn path=/trunk/netsurf/; revision=4103
2008-04-23 10:45:46 +00:00
Michael Drake
c4146fb8ff Fix absolute positioning when there's a float between the box and its containing block.
svn path=/trunk/netsurf/; revision=4101
2008-04-21 22:02:33 +00:00
Michael Drake
05e8696fc4 Improve handling of absolutely positioned table cells. Corrects positioning of "Weather" box contents on BBC homepage.
svn path=/trunk/netsurf/; revision=4100
2008-04-20 15:49:25 +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
Michael Drake
8b2a23081f Various text selection improvements:
+ Fix redraw bug where parts of old selections would get left behind
+ Enable selection of list marker boxes (bullet points and numbers)
+ Improve formatting of copied-to-clipboard or saved text selections
+ Select click anywhere outside current selection now clears current selection

svn path=/trunk/netsurf/; revision=4079
2008-04-07 09:00:21 +00:00
John Tytgat
0d39c69763 - riscos/gui.c(path_to_url): escape the characters which need to be escaped when converting the host path to file: URL.
- utils/{url.c,url.h}(url_escape):
  * added parameter 'toskip' to specify number of input characters which need to be skipped in the escape process. This avoids extra malloc buffer juggling.
  * added parameter 'escexceptions' to specify the characters which need to be excluded from the escape process.

Solves SF tracker ID 1910169.
Note that when discname in path contains '/' characters (case: "file:///Sunfish#192.168.0.50::/home/joty.$/jo.html") or there is no discname specified at all (case "file:///HostFS:$/jo.htm"), you 
need an UnixLib fix as in http://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fgcc4%2F&rev=3395&sc=1

svn path=/trunk/netsurf/; revision=4069
2008-04-02 00:43:51 +00:00
Michael Drake
83a83757ab Only record that the HTML alignment was set by a table element if it is actually set.
svn path=/trunk/netsurf/; revision=4058
2008-03-29 19:51:00 +00:00
James Shaw
9402e110e9 Implement sprite support for GTK using librosprite
svn path=/trunk/netsurf/; revision=4051
2008-03-29 13:30:04 +00:00
Michael Drake
19c6a63174 CSS min/max-height overrides height.
svn path=/trunk/netsurf/; revision=4008
2008-03-21 01:04:09 +00:00
John Mark Bell
c1efc9c275 Unsightly hack around flickering to white in nsgtk. This needs to be sorted out properly as a matter of urgency.
svn path=/trunk/netsurf/; revision=4005
2008-03-21 00:14:01 +00:00
Michael Drake
7bc2306612 CSS min-height and max-height properties override fixed heights too.
svn path=/trunk/netsurf/; revision=4003
2008-03-20 23:07:55 +00:00
John Mark Bell
969acc3d0c Re-express table_find_cell algorithm to avoid relying upon side-effects.
svn path=/trunk/netsurf/; revision=3986
2008-03-19 17:47:26 +00:00
John Mark Bell
488520f2b2 Lose spurious *
svn path=/trunk/netsurf/; revision=3985
2008-03-19 17:41:38 +00:00
John Mark Bell
bdf3c5e56b Squash "implicit declaration of function 'gui_multitask'" warnings.
svn path=/trunk/netsurf/; revision=3980
2008-03-19 16:46:26 +00:00
John Mark Bell
885ce428a9 Ensure that scrollbar foreground is actually visible (black on black, for example, isn't very usable)
svn path=/trunk/netsurf/; revision=3950
2008-03-14 10:08:58 +00:00
Rob Kendrick
4ec38922ac Change meaning of c->redraw_time to be the earliest time to reflow during page asset fetch. Have the time selected vary depending on how long the last reflow took.
svn path=/trunk/netsurf/; revision=3925
2008-03-11 00:14:39 +00:00
John Mark Bell
d4e57583a0 Insert implied boxes rather than entirely removing empty table/row group nodes from the box tree.
svn path=/trunk/netsurf/; revision=3920
2008-03-10 14:24:41 +00:00
John Mark Bell
4da171f53c Fix last pointer manipulation for table and row_group boxes.
svn path=/trunk/netsurf/; revision=3919
2008-03-10 14:23:04 +00:00
John Mark Bell
9468e4abbe Take account of any table height specified through CSS or HTML.
svn path=/trunk/netsurf/; revision=3918
2008-03-10 14:17:35 +00:00
Michael Drake
abd453166f Apply min/max-height to absolutely positioned elements.
svn path=/trunk/netsurf/; revision=3916
2008-03-10 12:36:35 +00:00
Michael Drake
2c7ce0143f Adjust y values after seting a min/max-height.
svn path=/trunk/netsurf/; revision=3910
2008-03-09 23:41:08 +00:00
Michael Drake
052f8b47ff Initial stab at min/max-height support.
svn path=/trunk/netsurf/; revision=3909
2008-03-09 19:39:17 +00:00
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
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
04566797cd [project @ 2005-11-06 11:00:33 by bursa]
Fix crash when a frame contains floats.

svn path=/import/netsurf/; revision=1877
2005-11-06 11:00:33 +00:00
James Bursa
a54ae0e82d [project @ 2005-10-30 21:23:24 by bursa]
Treat HTML objects (frames) as part of the box tree during layout.

svn path=/import/netsurf/; revision=1875
2005-10-30 21:23:24 +00:00
James Bursa
c28747d710 [project @ 2005-10-30 21:23:03 by bursa]
Add page, index, and box to struct content_html_data. Implement html_replace_object() and html_find_target(). No longer combine box trees of frames and frameset (was causing crashes).

svn path=/import/netsurf/; revision=1874
2005-10-30 21:23:03 +00:00
James Bursa
1481f4b7f0 [project @ 2005-08-31 20:29:11 by bursa]
Fix submitting of forms with more than one image button.

svn path=/import/netsurf/; revision=1856
2005-08-31 20:29:11 +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
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
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