Commit Graph

228 Commits

Author SHA1 Message Date
Vincent Sanders c56642819e add file operations table and make all frontends use it.
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.

These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.

These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders 283cd05d01 Improve documentation on mimetype fetcher table 2014-05-07 16:23:19 +01:00
Vincent Sanders 56b42943d0 improve iconv library handling 2014-04-30 11:56:57 +01:00
Vincent Sanders 6f9a93e332 fix formatting of defaults makefiles 2014-03-20 11:05:39 +00:00
Vincent Sanders 5c6a0eda3b fixup missing includes from schedule changes 2014-03-09 16:14:05 +00:00
Vincent Sanders 87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake a38a63a37e Make history internal to browser_window module. 2014-02-15 18:44:50 +00:00
Michael Drake 49bed056dd Make browser_window_navigate (un)verifiable flag match browser_window_create. 2014-02-10 22:40:04 +00:00
Michael Drake af014bce99 Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags. 2014-02-10 14:08:45 +00:00
Michael Drake ea79e85fcd Clean up gui_window creation API. 2014-02-09 13:07:39 +00:00
Michael Drake 3d7cd77982 Simplify local history interface. 2014-02-08 22:43:54 +00:00
Vincent Sanders 886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +00:00
Vincent Sanders e353973518 fix missing includes 2014-01-29 21:58:46 +00:00
Vincent Sanders 654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Vincent Sanders 8ce0a10670 move path_to_url and url_to_path to fetch operation table 2014-01-25 23:01:32 +00:00
Vincent Sanders 233904c7ed fix build faliures from fetch table operation refactor 2014-01-23 00:09:59 +00:00
Vincent Sanders 0475693394 create table for fetcher operations and move all operations into it 2014-01-23 00:00:18 +00:00
Vincent Sanders 2f478eb5d7 fix missing forward declaration 2014-01-16 15:23:11 +00:00
Vincent Sanders fb1120c212 fix windows build error 2014-01-16 15:00:43 +00:00
Vincent Sanders d47fed4524 move 401 login into operation table 2014-01-16 00:52:17 +00:00
Vincent Sanders 38cb39339a move filename_from_path and path_add_part into gui operation tables 2014-01-16 00:01:25 +00:00
Vincent Sanders bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders 0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders 8dfe225153 move download operations to download table 2014-01-14 16:04:02 +00:00
Vincent Sanders d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Vincent Sanders e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Vincent Sanders d70e371cd9 move two more mandantory window operations to table 2014-01-13 11:38:35 +00:00
Vincent Sanders 7227c29bba move window scroll getter and setter into operations table 2014-01-13 01:08:15 +00:00
Vincent Sanders 5a962586fb move mandantory window update and redraw operations into table 2014-01-12 23:50:54 +00:00
Vincent Sanders 4b49b4ac77 move more optional window operations into table including removing unused hide_pointer operation altogether 2014-01-12 22:55:26 +00:00
Vincent Sanders b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders 56bb9582b1 move set title, set url, start and stop throbber window operations to gui table 2014-01-12 10:27:41 +00:00
Vincent Sanders c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Vincent Sanders d3c392c3d3 Initial conversion of netsurf gui to callback vtable 2014-01-11 14:20:30 +00:00
Daniel Silverstone f97c1fc605 Add some more frontend stubs and fix up some others 2014-01-05 17:37:21 +00:00
Vincent Sanders f7916866e3 remove all references to using libMNG 2014-01-04 17:07:11 +00:00
Michael Drake 4c6a176d39 Remove BITMAP_PERSISTENT flag. 2013-10-03 21:02:08 +01:00
Michael Drake cf8ffa412a Remove old hotlist, cookies, and history_global_core modules.
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake 4473f4b8a8 Remove tree icon_name globals from all the front ends. 2013-09-02 16:39:46 +01:00
Michael Drake 5c7ca39ada Remove tree_url_node module. Had to disable treeview scanning in amiga and cocoa front ends. Amiga front end very likely broken. 2013-09-02 14:17:09 +01:00
Michael Drake 68078d7ea7 Fix up for cookies_old rename. 2013-07-22 10:21:37 +01:00
Michael Drake 3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00
Vincent Sanders a92e5930ff fixup issues with new options API merge 2013-05-28 16:44:46 +01:00
Vincent Sanders fcc61ea374 move windows to new option API 2013-05-28 15:19:06 +01:00
Vincent Sanders 63d7247a9c fix mismatched option name and variable names
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Vincent Sanders 35dacc3671 move the logging initialisation out to be call by frontends
This allows each frontend to pass a distinct callback to configure the
output file stream appropriately for their use.
2013-05-23 11:50:57 +01:00
Michael Drake 631265ef6b Front ends have no reason to include desktop/selection.h now. 2013-05-10 12:16:05 +01:00
Michael Drake 9644d0594c Remove struct selection from gui_drag_save_selection, so gui.h doesn't need it now. 2013-05-10 11:54:26 +01:00
Vincent Sanders 98369b74e2 fixup message splitting with updated tool 2013-05-02 09:24:18 +01:00
Michael Drake 037beb44fb Pass caret clip rect out to front ends. (Nothing actually using them yet.) 2013-03-05 22:54:51 +00:00
Michael Drake 7bdaf95576 Squash warnings from errorcode shake up. 2013-02-22 14:34:23 +00:00
Michael Drake 69c0fb1fff Pass select all as keypress. 2013-02-22 14:34:01 +00:00
Michael Drake 4fd095c060 Update for core change. 2013-02-22 14:19:04 +00:00
Vincent Sanders 529ca251fc rename flags for browser_window routines to be shorter 2013-02-18 11:51:42 +00:00
Vincent Sanders b112dec78d change browser_window_create and refactor all callsites 2013-02-18 11:23:48 +00:00
Vincent Sanders 3bfb5b96a7 browser_window_navigate refactor 2013-02-18 11:23:27 +00:00
Michael Drake bd2ca73de7 Update for new nsfont_split expectations. Untested, but code same as framebuffer. 2013-02-10 18:30:44 +00:00
Michael Drake 9cb1da921b Prompt core to deal with copy/paste correctly. 2013-01-08 17:47:04 +00:00
Michael Drake 9dc965d51c Untested update for new clipboard API. 2013-01-08 17:07:04 +00:00
Vincent Sanders 68565113f3 link order matters 2012-12-20 17:34:17 +00:00
Vincent Sanders 484fa8b110 move common include path setup to core Makefile 2012-12-20 15:27:07 +00:00
Vincent Sanders c87cbe5655 split target defaults out 2012-12-13 19:26:24 +00:00
John-Mark Bell 617d655c7b Remove libxml 2012-11-10 00:11:57 +00:00
John-Mark Bell f824ab8af4 Port save complete to libdom. 2012-11-03 23:19:45 +00:00
Rob Kendrick (fatigue) 58202b2dfd Try to get Windows building with FatMessages. This approach makes me ill, and may not even work. 2012-11-03 13:40:34 +00:00
Michael Drake 35eb251244 Fix "error setting certificate verify locations" problem when the Choices file doesn't exist. Now there's a single place for front ends to set options overrides. Fix nsoption_setnull_charp leak. 2012-10-17 14:20:18 +01:00
Michael Drake d88a839937 Remove suspension of bmp/gif images. It's completely redundant with the convert on demand core image cache. 2012-10-14 20:03:18 +01:00
Michael Drake d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Vincent Sanders e237ebac8f Split install and package targets.
Install target is for installing on the local machine and package generates a package
2012-08-23 11:46:31 +01:00
Michael Drake 920c8b390e Include browser_private.h 2012-08-22 13:10:54 +01:00
Michael Drake d106091d6e Pass font plot style out to front end clipboard append function. 2012-08-13 14:43:04 +01:00
Vincent Sanders de982b4d3e fix windows build format specifiers
add install target for windows - creates installer rather than actually installing
2012-08-12 21:52:39 +01:00
Vincent Sanders d6b293001d fix build warnings 2012-08-10 22:23:22 +01:00
Michael Drake 88055b5810 Update to use selection_copy_to_clipboard, although this code is all commented out anyway. 2012-08-02 15:09:31 +01:00
Vincent Sanders a796b6020c fix library link order 2012-07-24 12:52:54 +01:00
Vincent Sanders 3faaff91ac change to use netsurf toolchain build 2012-07-23 21:12:19 +01:00
Michael Drake ce20021df7 Fix colour string matching. Lose unneeded case insensitivity in matching.
svn path=/trunk/netsurf/; revision=13739
2012-03-27 11:02:35 +00:00
Michael Drake eb189092c7 Constify param to gui_system_colour_char function.
svn path=/trunk/netsurf/; revision=13737
2012-03-27 10:47:29 +00:00
Vincent Sanders 1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake 6794af012e Constify rect param to gui_window_drag_start.
svn path=/trunk/netsurf/; revision=13397
2012-01-11 16:45:17 +00:00
Michael Drake 04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Michael Drake 67f2470d5a Pass whether background images are wanted in redraw_context.
svn path=/trunk/netsurf/; revision=13335
2011-12-23 22:39:25 +00:00
John Mark Bell d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
John Mark Bell f27d5a3e15 Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +00:00
Michael Drake 0401d52f51 Remove gui_window_frame_resize_start() functions.
svn path=/trunk/netsurf/; revision=12738
2011-09-05 15:35:34 +00:00
Michael Drake ce1ba5e351 Delete frame creation handling.
svn path=/trunk/netsurf/; revision=12736
2011-09-05 12:49:21 +00:00
Vincent Sanders 5c718b2f76 fix windows build, sorce file expansion being done too early
svn path=/trunk/netsurf/; revision=12729
2011-09-05 10:46:53 +00:00
Michael Drake 0ffcfb91b5 Comment out broken copy selection to clipboard stuff and add a TODO.
svn path=/trunk/netsurf/; revision=12727
2011-09-05 10:31:21 +00:00
Michael Drake 5be6bd452d Remove gui_window_position_frame() definition from core and remove all implementations from front ends.
svn path=/trunk/netsurf/; revision=12711
2011-09-04 18:20:24 +00:00
Vincent Sanders cd554e6f1e make image content handlers build conditional from teh makefile
svn path=/trunk/netsurf/; revision=12673
2011-08-28 14:29:15 +00:00
Michael Drake c9d424fa24 Fix up Windows front end. Stop it poking inside selection contexts.
svn path=/trunk/netsurf/; revision=12599
2011-07-13 13:30:40 +00:00
Michael Drake f8fdd8faac Fix up Windows for r12574 API change.
svn path=/trunk/netsurf/; revision=12583
2011-07-06 12:59:47 +00:00
Michael Drake eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake 2bedf4d88f Frond ends signal end of drag with call to browser_window_mouse_track.
svn path=/trunk/netsurf/; revision=12515
2011-06-27 17:45:17 +00:00
Michael Drake dea7683985 Remove gui_window_set_scale().
svn path=/trunk/netsurf/; revision=12502
2011-06-24 12:01:24 +00:00
Michael Drake 5a4c8916ef If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
svn path=/trunk/netsurf/; revision=12497
2011-06-24 09:30:33 +00:00
John Mark Bell e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Vincent Sanders 2ca6e9a3e6 split out drawable window handling
extensive cleanups
fix localhistory

svn path=/trunk/netsurf/; revision=12153
2011-04-03 22:01:37 +00:00
Vincent Sanders ad12c46af5 remove extraneous logging
fix windows path_to_url coping with NULL input and allocation errors.
remove forced verbose logging

svn path=/trunk/netsurf/; revision=12147
2011-03-29 20:50:31 +00:00