Commit Graph

76 Commits

Author SHA1 Message Date
Vincent Sanders
096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
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
1fd565cba7 make GTK configuration handling conform to XDG specification. 2014-04-28 16:37:00 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Vincent Sanders
a67c49eacf Fix gtk web page searching 2014-03-18 16:02:21 +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
3d7cd77982 Simplify local history interface. 2014-02-08 22:43:54 +00:00
Michael Drake
5e495f0ab9 Avoid dereffing bw in a few places. 2014-02-08 19:52:17 +00:00
Michael Drake
e33737ef23 Use browser_window_has_content. 2014-02-08 15:41:32 +00:00
Michael Drake
41d70c741f Use browser_window URL accessor. 2014-02-08 15:16:05 +00:00
Michael Drake
cf84e557fa Simplify browser_window_refresh_url_bar.
Reduces front end need to access bw internals.
2014-02-08 12:07:13 +00:00
Vincent Sanders
3455d66921 reduce desktop/browser.h unecessary includes 2014-02-03 17:56:24 +00:00
Vincent Sanders
6a7ca8b2a8 remove unecessary includes 2014-02-03 16:57:45 +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
8702eedf67 fix leak in error path (coverity 1109889) 2013-11-06 10:52:29 +00:00
Vincent Sanders
5c3daf9013 fix memory leak in error path (coverity 1109889) 2013-11-03 15:00:40 +00:00
Vincent Sanders
2962faed63 fix gtk title setting to cope with null titles coverity 1109897 2013-10-25 15:44:52 +01:00
Vincent Sanders
2cd2846122 fix coverity 1109906 uninitialised pointer read 2013-10-25 12:42:53 +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
eaae716989 Move old hotlist out of the way. 2013-08-13 12:41:04 +01:00
Michael Drake
3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00
Vincent Sanders
2f280f16eb completely rework scaffolding window destruction using gtkwidget destroy signals 2013-06-28 12:13:02 +01:00
Vincent Sanders
3d7f79683c add new tab tab 2013-06-27 16:42:08 +01:00
Vincent Sanders
59dc293156 fix status/toolbar bottom split position and setting user option in gtk 2013-06-25 19:01:41 +01:00
Vincent Sanders
8b43b732bc move gtk frontend to use new options API 2013-05-28 14:16:11 +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
Michael Drake
631265ef6b Front ends have no reason to include desktop/selection.h now. 2013-05-10 12:16:05 +01:00
Michael Drake
3afd9c9731 Remove search context from browser window, simplify search interface for front ends.
Added content interface for search.

Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.

Search API reduced to a pair of functions at each level:
  {desktop|content|html|textplain}_search
and
  {desktop|content|html|textplain}_search_clear

Updated front ends to use simplified search API.  Only tested GTK and RO builds.

These confine the search stuff to render/.  However search still uses struct
selection.  The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +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
e2e7aa135c Update GTK front end to implement new clipboard API. 2013-01-08 17:02:27 +00:00
Vincent Sanders
33934e1271 implement the GTK preferances dialog with signals 2013-01-01 00:59:47 +00:00
John-Mark Bell
f824ab8af4 Port save complete to libdom. 2012-11-03 23:19:45 +00:00
Daniel Silverstone
fa660c24e8 Remove unnecessary libxml includes from GTK includes 2012-10-11 20:48:06 +01:00
Michael Drake
153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00
Michael Drake
634b8f642e Don't need to set everything to zero since it's static 2012-08-20 23:05:09 +01:00
Michael Drake
b134279644 Allow the presence of form inputs to be obtained without knowledge of html content internals. 2012-08-20 22:02:37 +01:00
Michael Drake
9202c137b2 Remove unused includes. 2012-08-20 16:08:06 +01:00
Michael Drake
8fc0eab89b Use proper function for dumping box tree. 2012-08-20 16:06:51 +01:00
Vincent Sanders
8ffc6439a7 fix build on gtk 2.12
svn path=/trunk/netsurf/; revision=13927
2012-05-17 16:48:20 +00:00
Vincent Sanders
2622adaa1f allow netsurf to build with gtk3
svn path=/trunk/netsurf/; revision=13926
2012-05-16 19:57:43 +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
Vincent Sanders
ea0c028cac fix favicon display
svn path=/trunk/netsurf/; revision=13460
2012-02-21 20:54:31 +00:00
Vincent Sanders
4dd1b4d80b fix the popup menu entry signal attaching to attach the correct handler functions. as the prototype changes depending on signal type and we were using the non menu function prototype for menu entries.
svn path=/trunk/netsurf/; revision=13437
2012-02-08 02:45:03 +00:00