Commit Graph

461 Commits

Author SHA1 Message Date
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
John Mark Bell
ae3555ccdd Fixes for targetting NetBSD (Thanks to Adam Hoka)
svn path=/trunk/netsurf/; revision=3775
2008-01-26 16:44:17 +00:00
James Bursa
b650b2379f Implement path plotter (for SVGs within a page).
svn path=/trunk/netsurf/; revision=3663
2007-12-11 02:45:38 +00:00
Michael Drake
d13ac3b066 Increase default font size and line spacing.
svn path=/trunk/netsurf/; revision=3660
2007-12-09 11:13:25 +00:00
James Bursa
f386520ff2 Add empty path plotters to stop crashes.
svn path=/trunk/netsurf/; revision=3653
2007-11-29 05:50:21 +00:00
John Mark Bell
8afe0caedd Add break; (these things help, now and again)
Add ACTION_NONE case to the deferred action switch (shuts GCC up)

svn path=/trunk/netsurf/; revision=3649
2007-11-04 13:47:36 +00:00
Adrian Lees
ac6946ef83 Fix frame-related crash (images.google) caused by destruction of current window when clicking URL/submitting form
svn path=/trunk/netsurf/; revision=3644
2007-11-04 01:16:50 +00:00
John Mark Bell
6eeeee1778 Ignore SIGPIPE on all platforms, not just RISC OS.
svn path=/trunk/netsurf/; revision=3638
2007-10-31 15:39:55 +00:00
James Bursa
d8b810b46b Bug fixes by Franz Korntner.
svn path=/trunk/netsurf/; revision=3636
2007-10-28 17:05:39 +00:00
Daniel Silverstone
f025f23c52 Remove the old and crap gesture core
svn path=/trunk/netsurf/; revision=3537
2007-09-14 18:33:32 +00:00
Michael Drake
81df02abe4 Fix for Shift+Adjust clicks on links by Christopher Martin.
svn path=/trunk/netsurf/; revision=3533
2007-08-26 16:58:06 +00:00
James Bursa
3c435ccef8 Rename default scale option back to "scale" (changed to "option_scale" by mistake).
svn path=/trunk/netsurf/; revision=3512
2007-08-13 11:36:25 +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
cc684469df Fix division by 0 caused by uninitialised scale value.
Break out initialisation of common parts of struct browser_window into their own function.

svn path=/trunk/netsurf/; revision=3481
2007-08-07 07:58:04 +00:00
James Bursa
5fa0e4a71f Add path plotter (for SVG). Requires other implementations.
svn path=/trunk/netsurf/; revision=3479
2007-08-07 04:00:17 +00:00
James Bursa
07c54283e3 Move window scaling from platform-specific code to desktop/browser.c. Modify gtk gui to handle scaling in the same way as RO.
svn path=/trunk/netsurf/; revision=3478
2007-08-07 03:55:18 +00:00
Daniel Silverstone
e2d0019119 Add option_suppress_curl_debug and default it to true
svn path=/trunk/netsurf/; revision=3373
2007-06-27 16:27:52 +00:00
Daniel Silverstone
e91cfc8e47 Add ca_path option which sets CURLOPT_CAPATH.
svn path=/trunk/netsurf/; revision=3369
2007-06-27 15:39:56 +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
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
Daniel Silverstone
25e22eb1f5 Add a -v option to enable debug logging. Pass -v by default to the RO runimage.
svn path=/trunk/netsurf/; revision=3306
2007-05-30 22:27:58 +00:00
James Bursa
15be8d1ade Switch version to "2.0 (Development)".
svn path=/trunk/netsurf/; revision=3300
2007-05-22 04:11:34 +00:00
James Bursa
73281a7add Log libxml2 version in lib_init().
svn path=/trunk/netsurf/; revision=3268
2007-05-06 06:11:00 +00:00
James Bursa
859ccf007b Fix null pointer use when a content with no title is in the local history (history_update() was making title null).
svn path=/trunk/netsurf/; revision=3256
2007-04-18 02:52:26 +00:00
Richard Wilson
bc0c4c4f3e Don't block new windows for Adjust-click on target='_blank' links.
svn path=/trunk/netsurf/; revision=3253
2007-04-08 17:49:42 +00:00
John Mark Bell
a27a1e425a Fix return value check
svn path=/trunk/netsurf/; revision=3249
2007-04-07 23:27:28 +00:00
Richard Wilson
00af899230 Open window targets with a new name in a new window. Fix handling of Adjust-click on a form submit when new window opening is disabled.
svn path=/trunk/netsurf/; revision=3248
2007-04-07 23:08:31 +00:00
John Mark Bell
4aa1c867f5 Silence noisy logging
svn path=/trunk/netsurf/; revision=3244
2007-04-07 21:33:54 +00:00
John Mark Bell
b229c41e9c 1) Fix corruption of history data structure on cloning
2) Only destroy urldb's thumbnail bitmap if it's not the same as the new 
   one. This needs revisiting at a later date such that the mess 
   surrounding who owns bitmap objects is sorted (and so that urldb 
   doesn't need to know about bitmaps)

svn path=/trunk/netsurf/; revision=3243
2007-04-07 20:30:39 +00:00
John Mark Bell
cc0f1c7e28 Add logging
svn path=/trunk/netsurf/; revision=3242
2007-04-07 17:58:42 +00:00
John Mark Bell
1e118e02a3 Support insertion into textbox after optional trailing space.
svn path=/trunk/netsurf/; revision=3237
2007-04-06 17:39:20 +00:00
John Mark Bell
9d32795b47 Minor tidying
svn path=/trunk/netsurf/; revision=3224
2007-03-25 19:32:41 +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
Rob Kendrick
2df3d592f3 Apply Darren Salt's keypress callbacl claiming patch, with addition of doc comment updates
svn path=/trunk/netsurf/; revision=3201
2007-03-06 23:50:06 +00:00
Michael Drake
3dea2a3987 Stop iframe contents from appearing in global history. Fix by JMB.
svn path=/trunk/netsurf/; revision=3198
2007-03-06 20:25:27 +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
9e96993474 Revert r3156 (content cleaner frequency reduction) as it introduces
potential stability issues.

svn path=/trunk/netsurf/; revision=3160
2007-01-31 00:02:38 +00:00
Rob Kendrick
5426a708a9 Generates and use a User-Agent: string based on new netsurf_version_major/minor values, and results of uname().
svn path=/trunk/netsurf/; revision=3158
2007-01-30 19:51:54 +00:00
John Mark Bell
f3e6ad3e90 Attempt to perform content cleaning far less frequently.
svn path=/trunk/netsurf/; revision=3156
2007-01-30 00:44:53 +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
John Mark Bell
df4dbaf4cf Handle cookies in unverifiable transactions
svn path=/trunk/netsurf/; revision=3151
2007-01-27 20:58:20 +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
0b875957cb Format frame content to correct initial size. Scale iframe co-ordinates.
svn path=/trunk/netsurf/; revision=3134
2007-01-03 15:15:54 +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
John Mark Bell
98b451ffae Add option to set Accept-Charset header (Stefaan Claes)
svn path=/trunk/netsurf/; revision=3124
2006-12-28 00:42:14 +00:00
John Mark Bell
5b3f0755f6 Add URLdb destruction functionality
svn path=/trunk/netsurf/; revision=3115
2006-12-08 22:38:46 +00:00
Richard Wilson
74115a7a0d Correctly support NORESIZE flag for frames (partially fix 1593228)
svn path=/trunk/netsurf/; revision=3100
2006-12-03 19:47:07 +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