- 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
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
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
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
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
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
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
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
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
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
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
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
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
Tidy code to reduce compiler warnings. htmlredraw.c and plugin.c produce
the most now. Hopefully I haven't broken anything ;)
svn path=/import/netsurf/; revision=451
Sync Info box and About Page version numbers.
If no version is specified in the Messages file, it defaults to "CVS
Test Build"
Remove unnecessary TODOs in plugin.c
svn path=/import/netsurf/; revision=415