Commit Graph

86 Commits

Author SHA1 Message Date
John Mark Bell
1edcef6141 Remove redundant parameter from content_open API
svn path=/trunk/netsurf/; revision=11964
2011-03-10 23:13:03 +00:00
Chris Young
5ac45472c7 Fix broken CONTENT_PLUGIN API.
Add a default content handler for Amiga using the plugin interface, which passes
unknown files (currently images only) through DataTypes.

svn path=/trunk/netsurf/; revision=11924
2011-03-06 13:58:02 +00:00
John Mark Bell
86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
Steve Fryatt
cd9c0998e9 Merge branches/stevef/toolbars to trunk.
svn path=/trunk/netsurf/; revision=11741
2011-02-20 23:16:33 +00:00
John Mark Bell
f42ed976e5 Constify
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +00:00
Michael Drake
fe7921a387 Pass clip rect as struct through content_redraw api. Update the front ends to use this. Note only RO build tested.
svn path=/trunk/netsurf/; revision=11670
2011-02-13 22:25:11 +00:00
Daniel Silverstone
6c9e4bea8e Purge FETCH_TYPE which is unused throughout NetSurf. Clearing a todo in llcachec.
svn path=/trunk/netsurf/; revision=10300
2010-04-08 12:16:52 +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
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 Tytgat
8e4853dd56 Remove unnecessary casting.
svn path=/trunk/netsurf/; revision=6332
2009-02-01 13:54:40 +00:00
John Tytgat
3f0c50e5a0 - C strings have always an implicit NUL character at the end, no need to specify an extra one.
- riscos/configure/con_theme.c: removed spurious code line.

svn path=/trunk/netsurf/; revision=6331
2009-02-01 13:37:32 +00:00
John Tytgat
2d1481fafc 'unsigned long' -> 'colour' where it made sense.
svn path=/trunk/netsurf/; revision=5459
2008-09-28 22:37:13 +00:00
Rob Kendrick
afdf592637 Merge Mike's tabs changes. Still needs some cleaning.
svn path=/trunk/netsurf/; revision=5189
2008-08-24 10:31:38 +00:00
John Tytgat
203b3289b8 - Include utils/config.h before each WITH_* test entiry enabling/disabling the object file.
- Add same test in corresponding header file (if there is one)
- riscos/uri.c: include riscos/uri.h and have function definitions matching the declarations.
- Disable PDF debug logging.

svn path=/trunk/netsurf/; revision=4769
2008-07-26 23:42:24 +00:00
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
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
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
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
Vincent Sanders
2f864eeecc Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Daniel Silverstone
6807b4208a Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.

This is untested under self-hosted RISC OS builds. All else tested and works.


svn path=/trunk/netsurf/; revision=3307
2007-05-30 22:39:54 +00:00
John Mark Bell
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
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
df4dbaf4cf Handle cookies in unverifiable transactions
svn path=/trunk/netsurf/; revision=3151
2007-01-27 20:58:20 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Richard Wilson
c7f77b0165 Finish history cloning.
svn path=/trunk/netsurf/; revision=2547
2006-04-22 18:24:18 +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
0f228ada91 [project @ 2006-02-06 00:10:09 by jmb]
Implement HTTP caching algorithm; this should avoid stale cache entries being used.

svn path=/import/netsurf/; revision=2059
2006-02-06 00:10:09 +00:00
James Bursa
0605ba7c12 [project @ 2005-10-30 21:23:44 by bursa]
Add index parameter to plugin_open().

svn path=/import/netsurf/; revision=1876
2005-10-30 21:23:44 +00:00
John Mark Bell
784ffb42e6 [project @ 2005-07-26 23:16:21 by jmb]
Implement plugin streams properly (can now have multiple, simultaneous streams to a plugin).
Fix race condition when performing non-file streams.
Support for GETting an URL and streaming it to a plugin (this is untested, due to a lack of access to plugins that actually use this functionality).
General source tidyup.

svn path=/import/netsurf/; revision=1824
2005-07-26 23:16:21 +00:00
James Bursa
11bc5345c5 [project @ 2005-04-13 21:58:28 by bursa]
Add fallback field to struct box for object fallback content. Add some checks for tree consistency to box_dump(). Rename struct plugin_params to object_param. Clean up box_object(), box_embed(), box_iframe(), and box_image(). Implement object fallback to contents if the fetch or conversion fails.

svn path=/import/netsurf/; revision=1627
2005-04-13 21:58:28 +00:00
John Mark Bell
63c33349f0 [project @ 2005-04-09 22:56:34 by jmb]
Fix inappropriate free()s of talloced content

svn path=/import/netsurf/; revision=1619
2005-04-09 22:56:34 +00:00
John Mark Bell
a17aa7d47f [project @ 2005-02-03 10:04:06 by jmb]
Fix issue with plugins embedded in a page requesting fetch of the same page on load.
Add option to block popups.

svn path=/import/netsurf/; revision=1482
2005-02-03 10:04:06 +00:00
James Bursa
2583180b79 [project @ 2005-01-24 22:14:59 by bursa]
Simplify browser_window_go(). Replace browser_window_go_post() with browser_window_go() where possible.

svn path=/import/netsurf/; revision=1466
2005-01-24 22:14:59 +00:00
John Mark Bell
77de9c1336 [project @ 2005-01-03 02:09:20 by jmb]
Shift + Click == download

svn path=/import/netsurf/; revision=1429
2005-01-03 02:09:20 +00:00
John Mark Bell
fa05ee570c [project @ 2004-12-25 18:58:04 by jmb]
Fix issue with streaming as file when handling unknown content length (plugin_convert may have been called prior to the streaming being set up, thus resulting in the file not being streamed)
Lose spurious boolean in plugin_data struct.

svn path=/import/netsurf/; revision=1411
2004-12-25 18:58:04 +00:00
John Mark Bell
a36f92554a [project @ 2004-12-25 12:12:39 by jmb]
Support standalone plugins

svn path=/import/netsurf/; revision=1410
2004-12-25 12:12:39 +00:00
John Mark Bell
a53d5ecfa9 [project @ 2004-11-28 23:38:38 by jmb]
Ensure dimensions specified by HTML/CSS are adhered to, rather than resizing to what the plugin wants

svn path=/import/netsurf/; revision=1375
2004-11-28 23:38:38 +00:00
John Mark Bell
3694fd54b2 [project @ 2004-11-28 00:26:17 by jmb]
Bug fixes.
Reformatting a plugin now works correctly in all cirumstances.
Streaming also works better and reloading a page containing plugins will now work properly.

svn path=/import/netsurf/; revision=1373
2004-11-28 00:26:17 +00:00
John Mark Bell
49ce807e3c [project @ 2004-10-01 21:31:55 by jmb]
A somewhat better implementation of referrers which no longer sends the referer if the URL schemes don't match.

Things to do:
1) Preservation of referer across redirects (see comment in browser.c:284)
2) GUI templates/code for configuration of referer sending (simple on/off toggle only)
3) Make referer sending when fetching objects/stylesheets for a page pay attention to option_send_referer?
4) Handle the case where the referer is in the form of http://moo:foo@mysite.com/ (ie the login details embedded in the referer - not good).

svn path=/import/netsurf/; revision=1297
2004-10-01 21:31:55 +00:00
John Mark Bell
39ad1632eb [project @ 2004-10-01 00:06:49 by jmb]
Send HTTP referer header. This is _only_ sent when a link is clicked (theoretically, at least).

svn path=/import/netsurf/; revision=1296
2004-10-01 00:06:49 +00:00
John Mark Bell
8f9221c6ca [project @ 2004-09-13 23:56:45 by jmb]
Fixup to handle changed option variable name

svn path=/import/netsurf/; revision=1275
2004-09-13 23:56:45 +00:00
John Mark Bell
006344401c [project @ 2004-08-15 19:06:23 by jmb]
Rationalise image redraw.
Supply background colour when redrawing contents
Reenable printing of background images
Require Tinct 0.07

svn path=/import/netsurf/; revision=1234
2004-08-15 19:06:24 +00:00
John Mark Bell
d7627ceceb [project @ 2004-08-13 00:55:59 by jmb]
Rewrite of plugin handling. This is now much nicer than before although it has about the same amount of functionality.
Note: This is now configurable via an option (defaults to OFF)
This has only really been tested with the Flash plugin and seems to work reasonably.

svn path=/import/netsurf/; revision=1216
2004-08-13 00:55:59 +00:00
James Bursa
acfb4c0adb [project @ 2004-08-11 22:08:25 by bursa]
Remove content_add_instance(), content_remove_instance(), content_reshape_instance(). Add content_open(), content_close(). Implement for CONTENT_HTML.

svn path=/import/netsurf/; revision=1213
2004-08-11 22:08:26 +00:00
John Mark Bell
dba4904ddb [project @ 2004-08-11 16:38:04 by jmb]
Add gui and plugin sources missed from previous checkin

svn path=/import/netsurf/; revision=1210
2004-08-11 16:38:04 +00:00
John Mark Bell
bd6ec25190 [project @ 2004-06-10 22:39:56 by jmb]
Compiler warning purge

svn path=/import/netsurf/; revision=954
2004-06-10 22:39:56 +00:00
James Bursa
bb41604045 [project @ 2004-05-05 16:33:15 by bursa]
Fix some compiler warnings. Ignore size attribute for file inputs.

svn path=/import/netsurf/; revision=828
2004-05-05 16:33:15 +00:00
Richard Wilson
e7da747f5f [project @ 2004-05-04 22:21:37 by rjw]
Revised GUI.

svn path=/import/netsurf/; revision=823
2004-05-04 22:23:44 +00:00
John Mark Bell
8cb321ec78 [project @ 2004-05-02 00:21:40 by jmb]
Minimal fixes to allow compilation with Norcroft

svn path=/import/netsurf/; revision=813
2004-05-02 00:21:41 +00:00
James Bursa
7897a98a4c [project @ 2004-02-25 15:12:57 by bursa]
Implement scaling; rewrite desktop/browser; add riscos/thumbnail; rewrite history.

svn path=/import/netsurf/; revision=566
2004-02-25 15:12:58 +00:00