Commit Graph

53 Commits

Author SHA1 Message Date
John Mark Bell
ce93fc9d4c Add _GNU_SOURCE. Ugh.
svn path=/trunk/netsurf/; revision=5813
2008-11-28 17:20:50 +00:00
John Mark Bell
bd94520701 More hoops, more warnings squashed.
svn path=/trunk/netsurf/; revision=5570
2008-10-13 23:49:15 +00:00
Daniel Silverstone
3f5d902edd Merged revisions 5309-5406,5409-5422 via svnmerge from
svn://svn.netsurf-browser.org/branches/vince/netsurf-fb

........
  r5309 | vince | 2008-09-13 10:59:10 +0100 (Sat, 13 Sep 2008) | 2 lines
  
  first stab at framebuffer frontend
........
  r5313 | vince | 2008-09-14 15:08:52 +0100 (Sun, 14 Sep 2008) | 2 lines
  
  add line plotters
........
  r5314 | vince | 2008-09-14 15:28:12 +0100 (Sun, 14 Sep 2008) | 2 lines
  
  add rectangle plot to 16bpp plotters
........
  r5315 | vince | 2008-09-14 19:58:57 +0100 (Sun, 14 Sep 2008) | 2 lines
  
  improve 16bpp image plot
........
  r5316 | vince | 2008-09-15 00:35:32 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  abstract the os specific framebuffer init
........
  r5317 | vince | 2008-09-15 11:18:51 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  first cut of linux frontend
........
  r5318 | vince | 2008-09-15 12:01:00 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  remove junk includes
........
  r5319 | vince | 2008-09-15 12:09:02 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  make plotters OS agnostic again
........
  r5322 | vince | 2008-09-15 15:55:01 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  Linux frontend operates
........
  r5323 | vince | 2008-09-15 16:32:47 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  abstract out OS specific input
........
  r5326 | vince | 2008-09-15 19:21:01 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  Improve linux mode setting
........
  r5329 | vince | 2008-09-15 21:13:33 +0100 (Mon, 15 Sep 2008) | 2 lines
  
  improve text clipping
........
  r5339 | vince | 2008-09-16 00:07:57 +0100 (Tue, 16 Sep 2008) | 2 lines
  
  possibly fix text clipping issue
........
  r5342 | vince | 2008-09-16 00:39:36 +0100 (Tue, 16 Sep 2008) | 2 lines
  
  consolidate polygon plotters
........
  r5344 | dsilvers | 2008-09-16 10:21:06 +0100 (Tue, 16 Sep 2008) | 1 line
  
  Fix up the framebuffer target makefile a bit more, add some config options for it
........
  r5345 | dsilvers | 2008-09-16 10:22:19 +0100 (Tue, 16 Sep 2008) | 1 line
  
  Ensure the appropriate frontend is selected when building framebuffer
........
  r5346 | dsilvers | 2008-09-16 10:27:16 +0100 (Tue, 16 Sep 2008) | 1 line
  
  Update build system to support targetting separate framebuffer frontends in different build trees, update executable to be nsfb-blah
........
  r5350 | vince | 2008-09-16 17:15:04 +0100 (Tue, 16 Sep 2008) | 1 line
  
  Add -g to provide symbols for framebuffer link
........
  r5351 | vince | 2008-09-16 17:17:09 +0100 (Tue, 16 Sep 2008) | 1 line
  
  framebuffer scheduler now works, plotters tweaked, gui tracks window redraw requirements better, keypresses not duplicated under linux fb
........
  r5352 | dsilvers | 2008-09-16 17:38:53 +0100 (Tue, 16 Sep 2008) | 1 line
  
  Ensure we only allow one fetcher at a time
........
  r5361 | vince | 2008-09-17 11:48:44 +0100 (Wed, 17 Sep 2008) | 2 lines
  
  initial cursor support
........
  r5362 | vince | 2008-09-17 13:56:47 +0100 (Wed, 17 Sep 2008) | 2 lines
  
  add mouse handling
........
  r5363 | vince | 2008-09-17 14:14:44 +0100 (Wed, 17 Sep 2008) | 2 lines
  
  add framebuffer resources
........
  r5364 | vince | 2008-09-17 17:12:21 +0100 (Wed, 17 Sep 2008) | 2 lines
  
  add reasonable pointer
........
  r5366 | vince | 2008-09-17 17:17:25 +0100 (Wed, 17 Sep 2008) | 2 lines
  
  fix pointer alpha
........
  r5370 | vince | 2008-09-18 13:43:53 +0100 (Thu, 18 Sep 2008) | 2 lines
  
  warning squash and cleanup ready for trunk merge
........
  r5375 | vince | 2008-09-19 14:58:43 +0100 (Fri, 19 Sep 2008) | 2 lines
  
  Working mouse navigation
........
  r5377 | vince | 2008-09-20 14:06:22 +0100 (Sat, 20 Sep 2008) | 2 lines
  
  Improve scrolling
........
  r5378 | vince | 2008-09-20 14:46:46 +0100 (Sat, 20 Sep 2008) | 2 lines
  
  fix redraw issues with scrolling
........
  r5380 | vince | 2008-09-20 17:08:43 +0100 (Sat, 20 Sep 2008) | 3 lines
  
  Alter panning to use its own flag so it doesnt cause invalid redraw 
  operations 
........
  r5381 | vince | 2008-09-20 21:52:45 +0100 (Sat, 20 Sep 2008) | 2 lines
  
  add dummy framebuffer
........
  r5383 | vince | 2008-09-21 00:00:15 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  fix segfault when cursor is off teh bottom of teh screen
........
  r5384 | vince | 2008-09-21 00:06:08 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  fix off by one in pointer fix
........
  r5385 | vince | 2008-09-21 00:25:09 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  when fixing bloody silly off by one errors remember to fix *both* references
........
  r5387 | vince | 2008-09-21 00:38:13 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  last try at stopping the pointer segfault
........
  r5388 | vince | 2008-09-21 16:24:18 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  improve vertical text clipping
........
  r5392 | vince | 2008-09-21 23:11:51 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  Improve text plotters
........
  r5393 | vince | 2008-09-21 23:34:38 +0100 (Sun, 21 Sep 2008) | 2 lines
  
  fix 32bpp line plotting
........
  r5394 | vince | 2008-09-22 00:00:03 +0100 (Mon, 22 Sep 2008) | 2 lines
  
  Fix off by one error in line plotting clipping
........
  r5397 | vince | 2008-09-22 13:46:22 +0100 (Mon, 22 Sep 2008) | 2 lines
  
  Fix bitmap tileing
........
  r5398 | vince | 2008-09-22 17:46:02 +0100 (Mon, 22 Sep 2008) | 2 lines
  
  enable knockout renderer
........
  r5399 | vince | 2008-09-22 18:43:48 +0100 (Mon, 22 Sep 2008) | 2 lines
  
  ensure clipping region lies within window, caused by knockout renderer
........
  r5400 | vince | 2008-09-22 19:20:25 +0100 (Mon, 22 Sep 2008) | 2 lines
  
  update cursor to one swiped from X windows
........
  r5405 | vince | 2008-09-23 09:09:05 +0100 (Tue, 23 Sep 2008) | 2 lines
  
  fix vertical scroll limit
........
  r5412 | dsilvers | 2008-09-23 10:53:14 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Revert noisy fetcher patch
........
  r5413 | dsilvers | 2008-09-23 10:58:00 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Add header guards
........
  r5414 | dsilvers | 2008-09-23 11:31:31 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Tidy the region clipping slightly
........
  r5416 | dsilvers | 2008-09-23 12:05:00 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Rationalise how the framebuffer frontend finds resources and options
........
  r5418 | dsilvers | 2008-09-23 13:59:00 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Ensure options are overridden after load, and squash an fb_gui.c warning
........
  r5419 | dsilvers | 2008-09-23 14:20:07 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Support fb_mode and fb_device options
........
  r5420 | dsilvers | 2008-09-23 14:21:48 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Support option_fb_device in the able frontend
........
  r5421 | dsilvers | 2008-09-23 14:25:17 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Ensure target_blank is disabled
........
  r5422 | dsilvers | 2008-09-23 14:39:00 +0100 (Tue, 23 Sep 2008) | 1 line
  
  Rework linux fb frontend to support scanning and opening all event devices for input
........

svn path=/trunk/netsurf/; revision=5423
2008-09-23 14:00:40 +00:00
John Mark Bell
50f520379b warnings.squash();
svn path=/trunk/netsurf/; revision=4206
2008-05-26 10:34:47 +00:00
John Tytgat
793d466edf - introduction of SLEN()
- enforce result of url_normalize() being NULL on failure
- plug memory leak when url_normalize() fails

svn path=/trunk/netsurf/; revision=4200
2008-05-25 15:51:30 +00:00
John Tytgat
3f6d2a9f0c Contribution from Philip Boulain <prb@ecs.soton.ac.uk>:
This makes url_normalize take care of whitespace in a fairly useful way,
consistent with other browsers:

 - Leading and trailing whitespace is trimmed
 - Internal whitespace is urlescaped

For example,
 "  http://www.google.co.uk/search?q=hello world  "
becomes
 "http://www.google.co.uk/search?q=hello%20world"

Explicit trailing whitespace, e.g. "...hello world%20", is left alone.

The upshot is that if you sloppily copy-paste a URL from IRC or whatnot
into the address bar, NetSurf no longer silently ignores you if you
caught some adjacent whitespace.

svn path=/trunk/netsurf/; revision=4198
2008-05-25 15:04:22 +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
John Mark Bell
b087dfb3da Remove spurious *
svn path=/trunk/netsurf/; revision=3946
2008-03-13 18:26:20 +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
John Mark Bell
2fa8e656a1 The previous fix was broken -- URI paths include the leafname.
Make url_path() return the full path (including the leafname).
Defaulted cookie path attributes have the leafname and trailing slash stripped.
Add testcase for defaulted path.
Fix testcase conditions for paths with leafnames.

svn path=/trunk/netsurf/; revision=3693
2008-01-07 12:01:11 +00:00
John Mark Bell
252ad5c476 Add url_leafname()
Remove spurious * from url_host_is_ip_address()

svn path=/trunk/netsurf/; revision=3691
2008-01-07 04:54:08 +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
d1b79f3e41 Bring percent-encoding closer to what other browsers do.
svn path=/trunk/netsurf/; revision=3179
2007-02-11 22:28:00 +00:00
Richard Wilson
ef65cb38bd Fix 1535120, 1528673
svn path=/trunk/netsurf/; revision=3087
2006-12-01 21:09:49 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +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
Richard Wilson
b0851c9dde Expose url component functions.
svn path=/trunk/netsurf/; revision=2907
2006-09-02 16:42:37 +00:00
Richard Wilson
6c4003bf90 Remove URL caching and fix NULL reads.
svn path=/trunk/netsurf/; revision=2855
2006-08-17 14:48:28 +00:00
Richard Wilson
de0c4e2c32 Implement up toolbar icon and menu option.
svn path=/trunk/netsurf/; revision=2705
2006-07-03 21:07:02 +00:00
John Mark Bell
b7af14b591 Implement component-wise URL comparison
svn path=/trunk/netsurf/; revision=2697
2006-07-02 22:34:04 +00:00
John Mark Bell
f73bae5c29 Make url_plq ensure url_get_components found a path
Make url_scheme call url_destroy_components in case where no scheme was 
found.

svn path=/trunk/netsurf/; revision=2686
2006-07-01 22:40:41 +00:00
Richard Wilson
f22838ab62 Stop possible pollution of the cache.
svn path=/trunk/netsurf/; revision=2681
2006-06-30 23:09:21 +00:00
Richard Wilson
cea180d752 Rewrite url_join to RFC 3986 compliance, and without the use of regular expressions. This should speed up pages with lots of links and also fix certain cases where URLs were incorrectly returned.
svn path=/trunk/netsurf/; revision=2664
2006-06-28 21:49:41 +00:00
Richard Wilson
d45a56ba7f Fix URL joining for fragments.
svn path=/trunk/netsurf/; revision=2658
2006-06-27 18:47:33 +00:00
Richard Wilson
a0414fd967 Massively optimise common URL functions. This should (a) drastically reduce the start-up time for users with a large history/hotlist, and (b) decrease the loading time for pages with a sizable number of references.
svn path=/trunk/netsurf/; revision=2656
2006-06-27 17:59:32 +00:00
Richard Wilson
83c6568057 Don't use a regexp to extract scheme name.
svn path=/trunk/netsurf/; revision=2655
2006-06-27 00:53:39 +00:00
John Mark Bell
4f249f9d0a Merge cookies changes into head - unvalidated transactions and a UI
still need implementing.

svn path=/trunk/netsurf/; revision=2632
2006-06-19 21:49:25 +00:00
James Bursa
77907dd584 Fix crash when a relative URL contains "//../".
svn path=/trunk/netsurf/; revision=2543
2006-04-22 09:07:28 +00:00
John Mark Bell
c09eb457df Unify information databases
svn path=/trunk/netsurf/; revision=2519
2006-04-09 23:21:13 +00:00
John Mark Bell
5ce5fe084c [project @ 2006-02-19 18:26:23 by jmb]
Rewrite HTTP authentication.
Fix extraction of realm from WWW-Authenticate header.
Tidy up login dialog code.

svn path=/import/netsurf/; revision=2085
2006-02-19 18:26:23 +00:00
James Bursa
253c199d1f [project @ 2005-07-23 20:43:37 by bursa]
Rewrite and simplify url_nice() to improve suggested filenames. Add option to keep extensions (no UI currently).

svn path=/import/netsurf/; revision=1814
2005-07-23 20:43:37 +00:00
John Mark Bell
f4ecaaed31 [project @ 2005-07-16 14:35:20 by jmb]
- Convert Messages files to UTF-8 encoding.
- Replace local_encoding_name() with platform specific
  utf8_[to,from]_local_encoding() functions - this allows mapping of 8bit
  characters 0x80->0x9f (inclusive).
- All text that is rendered by the RISC OS Wimp is now converted to the system
  local encoding prior to display.
- Lose the horrendous hack that was messages_get_key()
- Menu text is now translated to system local encoding on the fly (if necessary)
  rather than at menu creation time. This allows the system alphabet to change
  under us and our menus remain usable.
- The Languages menu now lists all languages that are present in the LangNames
  file. In the case of selecting the UI language, those languages which are not
  available are shaded.

svn path=/import/netsurf/; revision=1796
2005-07-16 14:35:25 +00:00
Adrian Lees
8aed1103b6 [project @ 2005-06-27 01:57:54 by adrianl]
Fix termination of output from url_escape

svn path=/import/netsurf/; revision=1770
2005-06-27 01:57:54 +00:00
John Mark Bell
5817f82ba8 [project @ 2005-06-26 22:18:37 by jmb]
Improve clarity of use of utf8_to_enc.
Remove use of curl_escape - url_escape does similar things, just better.

svn path=/import/netsurf/; revision=1766
2005-06-26 22:18:37 +00:00
James Bursa
b05bef4a61 [project @ 2005-04-30 14:31:48 by bursa]
Fix bug in url_up_re which caused /xy/../ not to be recognised when xy was 2 characters. Add defines for match part numbers. Simplify part 6(g) of url_join().

svn path=/import/netsurf/; revision=1704
2005-04-30 14:31:48 +00:00
John Mark Bell
a051b36ae7 [project @ 2005-04-23 22:26:05 by jmb]
Make url_join match the spec - see http://www.ics.uci.edu/~fielding/url/test1.html for testcases.

svn path=/import/netsurf/; revision=1682
2005-04-23 22:26:05 +00:00
John Mark Bell
d43dc8839e [project @ 2005-04-16 05:10:08 by jmb]
Don't unescape characters 0x80->0xFF

svn path=/import/netsurf/; revision=1648
2005-04-16 05:10:08 +00:00
John Mark Bell
a91cd77902 [project @ 2005-02-14 22:35:05 by jmb]
Fix bug in regex

svn path=/import/netsurf/; revision=1513
2005-02-14 22:35:05 +00:00
John Mark Bell
0c7b9496ef [project @ 2005-02-14 21:20:26 by jmb]
Make regex work with latest unixlib.
Fix incorrect return value

svn path=/import/netsurf/; revision=1512
2005-02-14 21:20:26 +00:00
Richard Wilson
2affb76944 [project @ 2005-02-03 13:18:22 by rjw]
Implementation of URL suggestion

svn path=/import/netsurf/; revision=1488
2005-02-03 13:18:22 +00:00
James Bursa
a1fe308d13 [project @ 2005-01-02 14:41:07 by bursa]
regexec() returns int, not a pointer.

svn path=/import/netsurf/; revision=1425
2005-01-02 14:41:07 +00:00
John Mark Bell
7a49cba9f3 [project @ 2005-01-02 04:01:21 by jmb]
Lose warning

svn path=/import/netsurf/; revision=1420
2005-01-02 04:01:21 +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 Tytgat
7264ae50e5 [project @ 2004-08-14 15:07:19 by joty]
- Rename len() to css_len2px().
- Less compiler warnings concerning float/int implicit casts.
- More stddef.h type usuage.

svn path=/import/netsurf/; revision=1232
2004-08-14 15:07:21 +00:00
John Mark Bell
c9bd6fa9fc [project @ 2004-08-09 16:11:58 by jmb]
Rework the interface of the URL handing module to allow for multiple error types.
Modify save_complete URL rewriting appropriately.

svn path=/import/netsurf/; revision=1206
2004-08-09 16:11:58 +00:00
John Mark Bell
f68d4491be [project @ 2004-08-06 22:20:36 by jmb]
Make the likes of <a href="#foo"> work

svn path=/import/netsurf/; revision=1188
2004-08-06 22:20:36 +00:00
James Bursa
e3833d52a2 [project @ 2004-06-08 10:56:21 by bursa]
Ignore whitespace at the start and end of URLs.

svn path=/import/netsurf/; revision=935
2004-06-08 10:56:21 +00:00
James Bursa
9d9f208d7e [project @ 2004-05-07 19:04:59 by bursa]
Fix possible buffer under-read.

svn path=/import/netsurf/; revision=840
2004-05-07 19:04:59 +00:00
James Bursa
0bb2a027d6 [project @ 2004-04-13 23:21:03 by bursa]
Make scheme matching stricter.

svn path=/import/netsurf/; revision=779
2004-04-13 23:21:03 +00:00