Commit Graph

263 Commits

Author SHA1 Message Date
John Mark Bell fb0198094b Squash memory leak
svn path=/trunk/netsurf/; revision=9691
2009-11-22 13:58:05 +00:00
John Mark Bell 1b60cd63b7 Include size of lwc_context in content size.
svn path=/trunk/netsurf/; revision=8835
2009-07-28 00:21:36 +00:00
John Mark Bell 2c8a235a5d Shrink allocated <style> source data block to minimum.
svn path=/trunk/netsurf/; revision=8828
2009-07-27 18:32:55 +00:00
John Mark Bell b5d55eb295 Consider stylesheet media types
svn path=/trunk/netsurf/; revision=8820
2009-07-27 13:49:10 +00:00
John Mark Bell 12e49b11c2 Fix crash when a style element is not used because of mismatched media or type.
svn path=/trunk/netsurf/; revision=8768
2009-07-24 01:48:53 +00:00
John Mark Bell ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Michael Drake 8365d46eb7 Rename TRANSPARENT to NS_TRANSPARENT to avoid clash on Windows. By MarkieB.
svn path=/trunk/netsurf/; revision=8513
2009-07-14 10:57:07 +00:00
John Mark Bell 5feb7018c5 Replace parent_url with a pointer to the parent content.
svn path=/trunk/netsurf/; revision=8428
2009-07-10 00:26:37 +00:00
John Mark Bell daf7a52dd6 Hubbub is no longer optional.
Remove libxml2 parser binding.

svn path=/trunk/netsurf/; revision=7115
2009-04-17 00:54:27 +00:00
John Mark Bell 33619d7003 Handle hubbub errors.
Handle parser binding errors.

svn path=/trunk/netsurf/; revision=7087
2009-04-15 11:28:07 +00:00
John Mark Bell b98f105b24 Purge WITH_AUTH
svn path=/trunk/netsurf/; revision=6600
2009-02-22 15:13:10 +00:00
John Mark Bell 847b776285 Purge NETSURF_USE_SSL and WITH_SSL
svn path=/trunk/netsurf/; revision=6599
2009-02-22 15:07:50 +00:00
John Mark Bell 1f859400d9 If we have no document charset on completion of parse, retrieve it from the binding.
Make the binding return Windows-1252 if it has no idea (as this is what the parser will have defaulted to).
Fix form_new to not require a document charset to be present -- it may not be known at this point.
Fixup form document charsets post-parse, so that form submission works correctly.

svn path=/trunk/netsurf/; revision=6575
2009-02-20 12:50:34 +00:00
John Mark Bell cc1094f0ac Utilise hubbub's form association callback.
Please can we dispense with the libxml binding? It's causing much #ifdef mess.
Fix encoding of <input type=image> names -- previously were output as raw utf-8, rather than in the submission charset.
Actually bother to destroy forms in a document, and the controls associated with them. We still leak non form-associated controls, but that's too much effort to fix right now.

svn path=/trunk/netsurf/; revision=6573
2009-02-20 11:39:25 +00:00
John Mark Bell 72b8a67660 Ensure URLs are normalized prior to fetching.
Squash memory leaks.

svn path=/trunk/netsurf/; revision=6411
2009-02-10 18:35:56 +00:00
John Mark Bell 2d3b9e435b Charset fallbacks. If we don't support the charset declared in the HTTP header, fall back to autodetect. If we don't support the charset declared in a meta charset, fall back to Windows-1252.
svn path=/trunk/netsurf/; revision=5974
2009-01-06 22:06:14 +00:00
John Mark Bell ec868fdcdc It's probably a good idea if we're consistent in which allocation routines we're using.
svn path=/trunk/netsurf/; revision=5972
2009-01-06 17:52:47 +00:00
John Mark Bell 7f099d6675 More lenient refresh delay parsing
svn path=/trunk/netsurf/; revision=5948
2008-12-30 15:46:06 +00:00
John Mark Bell 3a5d7d6b64 Process error page correctly.
TODO: Why don't *_process_data take a const pointer to the data?

svn path=/trunk/netsurf/; revision=5757
2008-11-20 14:47:36 +00:00
John Mark Bell 37278a0fa5 Don't care about chunk sizes.
svn path=/trunk/netsurf/; revision=5671
2008-11-09 19:18:18 +00:00
John Mark Bell ee675539e0 Don't introduce an unnecessary error message
svn path=/trunk/netsurf/; revision=5670
2008-11-09 19:17:36 +00:00
John Mark Bell 8a16d5942b Port to new hubbub parser API
svn path=/trunk/netsurf/; revision=5669
2008-11-09 19:04:30 +00:00
Rob Kendrick 34a1b46411 add bitmap.h include to silence some warnings on Fedora.
svn path=/trunk/netsurf/; revision=5571
2008-10-14 00:12:31 +00:00
Daniel Silverstone c4cf8b14cd Add #if support for controlling debug dumps of box tree and framesets
svn path=/trunk/netsurf/; revision=5530
2008-10-10 10:56:34 +00:00
François Revel bee268fac3 C89
svn path=/trunk/netsurf/; revision=5440
2008-09-25 23:33:13 +00:00
Michael Drake 9de2adbdf1 Use stylesheets from LINK elements outside HEAD. (We already supported STYLE elements outside HEAD.) Fixes amazon.co.uk problem.
svn path=/trunk/netsurf/; revision=5415
2008-09-23 10:44:10 +00:00
John Mark Bell 163ad56fce Rework html parser bindings to have a common API and reside in separate files for ease of reading.
Add error handling to hubbub binding.

svn path=/trunk/netsurf/; revision=5404
2008-09-23 02:19:50 +00:00
John Mark Bell 0fda4f509b Stop double-freeing the document in some error cases.
svn path=/trunk/netsurf/; revision=5369
2008-09-18 09:56:28 +00:00
John Mark Bell 385d274f5b A bunch of fixes to the libpng binding
svn path=/trunk/netsurf/; revision=5338
2008-09-15 22:45:44 +00:00
John Mark Bell c6ac553d3d Enable dumping of DOM tree
svn path=/trunk/netsurf/; revision=5289
2008-09-08 21:55:20 +00:00
John Mark Bell 625237c9c1 Revert r5282 -- it's now redundant.
svn path=/trunk/netsurf/; revision=5283
2008-09-07 21:09:08 +00:00
John Mark Bell a99d5d153b Super-noisy logging. Do not use this build. Thanks.
svn path=/trunk/netsurf/; revision=5282
2008-09-07 19:35:09 +00:00
John Mark Bell cd77be1349 Log chunk sizes
svn path=/trunk/netsurf/; revision=5124
2008-08-15 11:17:28 +00:00
John Mark Bell 9e68e32338 Warnings.squash();
svn path=/trunk/netsurf/; revision=5088
2008-08-13 14:11:05 +00:00
François Revel d1bfc81d22 C89
svn path=/trunk/netsurf/; revision=5053
2008-08-11 23:32:16 +00:00
John Mark Bell c278e49d26 Squash warnings
svn path=/trunk/netsurf/; revision=5032
2008-08-11 16:51:55 +00:00
Andrew Sidwell 1124712760 Reset the "has_ns" flag when reparsing documents because of encoding change. (credit: jmb)
svn path=/trunk/netsurf/; revision=5029
2008-08-11 16:27:31 +00:00
Andrew Sidwell a5e71b80c2 Partially revert r5024, except make namespaces parser-instance-specific.
svn path=/trunk/netsurf/; revision=5028
2008-08-11 16:22:32 +00:00
John Mark Bell eff8ce4550 Only create the namespace URIs once
svn path=/trunk/netsurf/; revision=5024
2008-08-11 12:01:19 +00:00
Andrew Sidwell 3a3f39e927 Fix warnings introduced by hubbub integration.
svn path=/trunk/netsurf/; revision=5022
2008-08-11 08:40:58 +00:00
John Mark Bell 191d876e41 Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub

........
  r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  A really horribly rough first go at integrating hubbub with NetSurf.  Segfaults, but I'm not sure what I've done wrong.
........
  r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
  
  Fix segfault caused by mismatched struct layout expectations.
  Fix warnings, too.
........
  r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
  r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
  r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  Fix a segfault bug.
........
  r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
  r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
  
  Fix symlink.
........
  r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
  
  Make multiple parallel parser instances work correctly.
........
  r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
  
  Don't display contents of STYLE.
........
  r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
  
  Fix reparent_children to actually work
  Make get_parent_node pay attention to the element_only flag
  Fixup node referencing when appending a text child
  Make clone_node clone attributes and namespace information in the non-deep case
........
  r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
  
  Fix debug target
........
  r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
  
  Use talloc to allocate space for Hubbub.
........
  r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
  
  Stub out the encoding change callback so NS-hubbub compiles again.
........
  r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
  
  Tell Hubbub the encoding that HTTP gives us, if we have one.
........
  r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
  
  First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring.  Probably works, but I have no pages around to test it on.
........
  r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
  
  Fix (I hope) a 64-bit compiler warning.
........
  r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
  
  Fix some nits from jmb.  (Remove const from html->encoding, set encoding_source to something about right.)
........
  r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
  
  Properly fix <meta charset> handling, by passing in the right thing as the context.  No idea how this worked before. :) (credit: jmb)
........
  r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
  
  Pedantic typo fix.
  Make Hubbub YES when building for RISC OS.
  Make Hubbub AUTO when building for GTK
  Ignore the presence of Hubbub on other platforms.
  Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
  Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........

svn path=/trunk/netsurf/; revision=5019
2008-08-11 08:17:48 +00:00
John Mark Bell c6f0bc5765 Whoops. Fix BNF to match reality.
svn path=/trunk/netsurf/; revision=4818
2008-07-30 00:58:37 +00:00
John Mark Bell 307ab6675f Rewrite parsing of <meta http-equiv="Refresh" ...> content values. The previous code was full of nasty edge cases. As an added bonus, there's some BNF documenting what we expect to support here.
svn path=/trunk/netsurf/; revision=4814
2008-07-30 00:51:26 +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
James Bursa 70da04d69e Simplify code using xmlDocGetRootElement().
svn path=/trunk/netsurf/; revision=4201
2008-05-25 22:31:42 +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
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
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
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
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
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
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
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
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
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
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
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 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 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 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 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
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 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
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 1353585036 Implement form targets (fix 1619094)
svn path=/trunk/netsurf/; revision=3125
2006-12-30 00:34:26 +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
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 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
Richard Wilson 74fa727509 Experimental new frames code.
svn path=/trunk/netsurf/; revision=2906
2006-09-02 15:52:41 +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
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
John Mark Bell f8469d2051 Ignore alternate stylesheets
svn path=/trunk/netsurf/; revision=2679
2006-06-29 23:29:15 +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
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 eaf8a13653 Remove incorrect comment.
svn path=/trunk/netsurf/; revision=2513
2006-04-09 16:22:07 +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
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
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
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
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 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
James Bursa 419517f0aa [project @ 2005-08-07 21:28:48 by bursa]
Improvements to frames. Fix bug with BR at end of inline container.

svn path=/import/netsurf/; revision=1843
2005-08-07 21:28:48 +00:00