Commit Graph

914 Commits

Author SHA1 Message Date
Chris Young
b91d5f3ac7 Fix the passing of NetSurf internally-handled args to the core 2015-01-05 19:58:31 +00:00
Chris Young
f9ccd65545 Translate common RAmiga-shortcuts directly to their NetSurf keycodes 2015-01-03 14:20:47 +00:00
Chris Young
a10aaea989 Greatly simplify finding out if our gui_window is the one being displayed. 2015-01-02 23:14:49 +00:00
Chris Young
ef43be9989 Fix crash on startup when "always show tabs" is enabled. 2014-12-19 11:57:32 +00:00
Chris Young
17ec567266 Remove redundant check 2014-12-10 17:44:38 +00:00
Chris Young
0166083584 Get scale after memory allocated 2014-12-04 19:02:59 +00:00
Michael Drake
19fed3976f Don't need browser window private header now. 2014-12-04 12:23:24 +00:00
Michael Drake
f0b38f27d4 Use API to get at a browser window's content. 2014-12-04 12:22:56 +00:00
Michael Drake
60877b6ff5 Fix missmatched bracket. 2014-12-04 12:18:36 +00:00
Michael Drake
4af70cd1ac Use browser_window_get_extents to simplify window content size handling. 2014-12-04 12:14:16 +00:00
Michael Drake
fad6318d59 Use browser_window_get_url() 2014-12-04 12:04:36 +00:00
Michael Drake
e4437ad76b Store scale in gui_window. Remove a lot of bw dereferencing for scale. 2014-12-04 11:42:12 +00:00
Chris Young
0cd682644b Revert "Revert "Write out to the backing store asynchronously.""
This reverts commit 75623179aa.
2014-11-22 16:41:29 +00:00
Chris Young
2de1553a00 New scheduler 2014-11-22 16:27:39 +00:00
Chris Young
f8d8d218d8 Initial steps for a scheduler process 2014-11-22 16:27:39 +00:00
Chris Young
fe56795205 Revert "Should be a while loop in case of multiple simultaneous event triggers."
This reverts commit 9dcf001a0b.

For ehatever reason this is entirely broken, but I'm in the process of rewriting so just revert for now to get the working builds again.
2014-11-22 14:18:00 +00:00
Chris Young
9dcf001a0b Should be a while loop in case of multiple simultaneous event triggers. 2014-11-21 23:47:26 +00:00
Chris Young
75623179aa Revert "Write out to the backing store asynchronously."
This reverts commit 1ddf8215cf.

Appears to be unsafe to run this in a new process.
2014-11-19 23:34:53 +00:00
Chris Young
1ddf8215cf Write out to the backing store asynchronously.
Despite the fact AmigaOS filesystems run as separate processes,
DOS filesystem writes occur synchronously waiting for the disk
write to finish before returning.  Here we have effectively taken
the core's fs backing store and extended it slightly so the store
operation is spun off into a new process, running at a lower task
priority than NetSurf itself.  This stops the UI pauses that occur
shortly after loading pages as NetSurf commits the cache to disk.

Somewhat experimental, pending more extensive user testing.
2014-11-18 19:31:11 +00:00
Chris Young
cfc9971d0e Remove no longer used poll option from schedule runner 2014-11-17 23:47:28 +00:00
Chris Young
230e348315 update comments 2014-11-16 16:44:19 +00:00
Chris Young
0966b8097c Allocate screen title when first needed and keep it private to amiga/gui.c 2014-11-16 16:40:41 +00:00
Chris Young
20705189b9 Make win_destroyed variable private to amiga/gui.c 2014-11-16 16:31:35 +00:00
Chris Young
6ce6b9ae97 Replace curbw (current browser_window, used mostly for ARexx support) with cur_gw (current gui_window) 2014-11-16 16:01:59 +00:00
Chris Young
d626487fe1 Remove any pending favicon refresh to avoid a crash on exit/window close 2014-11-16 15:06:32 +00:00
Chris Young
497994b0f4 Fix amiga/gui.c to not ref gui_window via browser_window 2014-11-16 14:44:40 +00:00
Chris Young
7cb7879427 Remove a loop which appears to do nothing 2014-11-16 14:25:31 +00:00
Chris Young
e3620ac675 Change clicktab userdata to hold gui_window instead of browser_window 2014-11-16 14:24:18 +00:00
Chris Young
e75cdeeefd Don't make the app id a global var 2014-11-16 14:06:12 +00:00
Chris Young
b2fd904eef Make the SPACE_RenderBox compatibility functions public 2014-11-15 13:52:06 +00:00
Chris Young
e909c93804 Use SPACE_RenderBox if available, as SPACE_AreaBox is "dangerous". 2014-11-15 13:46:23 +00:00
Vincent Sanders
3e4f5737aa Doxygen cleanups in frontends 2014-11-11 15:46:04 +00:00
Chris Young
fb0af6f269 Call open/close timer from schedule init/free functions 2014-11-10 23:50:28 +00:00
Chris Young
e9696b2fa9 New function for an error requester with the correct imagery which doesn't attempt to do Messages lookup. 2014-11-10 21:59:51 +00:00
Chris Young
098fbb628b Move some init functions together for the sake of clarity 2014-11-10 19:01:30 +00:00
Chris Young
225161b05e Move MIME cleanup before NetSurf's internal exit. 2014-11-10 18:58:58 +00:00
Chris Young
16e80452c2 Remove gui_init and merge the contents into main() 2014-11-10 18:57:38 +00:00
Chris Young
7bf92f6a04 Remove die()
Terminating execution abruptly on AmigaOS is dangerous.
2014-11-10 18:56:09 +00:00
Chris Young
e0833a7f2e Fix warnings 2014-11-09 01:10:52 +00:00
Chris Young
4329c7a328 Terminate execution if an essential library fails to open 2014-11-09 00:06:56 +00:00
Chris Young
c2eb205685 Open libraries *before* we need them... 2014-11-09 00:06:56 +00:00
Chris Young
3c1aeebb1e Fix headers 2014-11-09 00:06:55 +00:00
Chris Young
9601ddacad Add new libs file to centrally open/close required libraries, and move a couple of the existing manual opens to it. 2014-11-09 00:06:55 +00:00
Vincent Sanders
c14ddad660 change url setting api to take an nsurl instead of a text string 2014-11-02 22:30:45 +00:00
Vincent Sanders
c31c4babe1 Change contextual content retrieval to browser features.
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.

By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.

Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Chris Young
c3522ea747 Change min stack (again) to 128K
It has come to my attention that some websites (eg amigakit.com) are using marginally more than the 96K stack space set previously.  This should give plenty of breathing space.
2014-10-30 21:51:52 +00:00
Vincent Sanders
7ace528729 Update url setting API to return nserror code instead of calling warn_user 2014-10-29 00:18:12 +00:00
Chris Young
29dfdd459d Move scroller check into update_extent, where it makes more sense 2014-10-26 22:22:15 +00:00
Chris Young
bad7780378 Check scroller requirements as part of the reformat. 2014-10-26 21:30:19 +00:00
Chris Young
784d893eb7 Avoid a crash on exit in kiosk mode 2014-10-26 17:08:23 +00:00
Chris Young
36a3e58c06 Expand status bar to entire window width 2014-10-26 17:00:18 +00:00
Chris Young
340d74ae4f Make the new hscroller work properly 2014-10-26 16:42:00 +00:00
Chris Young
80b195cdd5 Move the hscrollbar inside the window 2014-10-26 16:35:05 +00:00
Chris Young
17b87a60cf Offset new windows as per style guide 2014-10-26 16:12:34 +00:00
Chris Young
0c77d85f89 Make window counting a generic function 2014-10-26 15:41:44 +00:00
Chris Young
b751513d6f Schedule redraws for 1cs to ensure they take place after reformats (which are scheduled by the core for 0cs) 2014-10-26 13:22:02 +00:00
Chris Young
a01cb0f635 Don't need redraw_scheduld as the scheduler stops it being scheduled twice anyway 2014-10-26 13:18:19 +00:00
Chris Young
69c7b6b1f5 Fix button update, avoid forward decl 2014-10-26 13:11:05 +00:00
Chris Young
49873c8bf3 Cache size gadget width 2014-10-25 20:17:33 +01:00
Chris Young
d89f654fbe Correct comment 2014-10-25 20:08:56 +01:00
Chris Young
a2e999584c Use the correct size gadget width (thx tboeckel) 2014-10-25 20:07:58 +01:00
Chris Young
41b08da31a Check scroller requirement after a resize 2014-10-25 20:03:14 +01:00
Chris Young
b2ff4877e4 Remove the vertical scroll bar if there's nothing to scroll 2014-10-25 19:59:11 +01:00
Chris Young
7e95b7ffb1 Remove some old VertProp tags 2014-10-25 19:29:51 +01:00
Chris Young
b7b4db8520 Merge branch 'chris/shorter-vscrollbar'
Move the vertical scroller into the window area and allow it to be removed when eg. framesets are being displayed.
2014-10-25 19:27:40 +01:00
Chris Young
d31aa9a959 Use more sensible default value for size gadget width 2014-10-25 19:24:58 +01:00
Chris Young
fa7d44702a Fix warnings 2014-10-25 16:22:28 +01:00
Chris Young
2ad41a78c4 Returns bool, not void 2014-10-25 15:52:10 +01:00
Chris Young
8d930afb3d Reduce code duplication 2014-10-25 15:49:42 +01:00
Chris Young
088c03a9b7 Reformat page after scrollbar add/remove 2014-10-25 15:47:05 +01:00
Chris Young
e22273c0ff Remove scrollbar for framesets too 2014-10-25 15:38:57 +01:00
Chris Young
8590780ff5 Avoid forward decl, add comments 2014-10-25 15:29:12 +01:00
Chris Young
90e6cf85b6 Toggle vscroll on/off as needed 2014-10-25 15:23:31 +01:00
Chris Young
f5d866ab70 Rename OID_VSCROLL to GID_VSCROLL and ensure it exists before referencing 2014-10-25 15:08:04 +01:00
Chris Young
6034e69ad1 Creat ehte kiosk window similar to the normal one 2014-10-25 14:41:10 +01:00
Chris Young
78a8f1d967 Remove TODO: LM_REMOVECHILD disposes the objects already. 2014-10-25 14:30:17 +01:00
Chris Young
f787b22594 Add a TODO, don't break kiosk window 2014-10-25 13:29:10 +01:00
Chris Young
f9ed0af8d8 Remove built-in window scrollbar and replace with a scroller.gadget.
The style does not match the window border so looks a bit odd.
2014-10-25 13:17:49 +01:00
Michael Drake
94f32b8369 Move create_form_select_menu to window gui table. 2014-10-24 20:45:21 +01:00
Chris Young
7cfec69700 Ensure the throbber is stopped when destroying a gui_window. Fixes 2205. 2014-10-23 18:48:31 +01:00
Vincent Sanders
56a5ad11f3 remove unecessary include of browser.h in amiga frontend 2014-10-17 23:18:58 +01:00
Vincent Sanders
0b64df140c Update amiga frontend for split operation table header changes 2014-10-16 22:33:44 +01:00
Vincent Sanders
30f118a86d remove unecessary css includes from fronetends 2014-10-13 15:45:51 +01:00
Vincent Sanders
02bbaa3e88 split version info into its own header and remove unnecessary nesurf.h includes
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.

Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
265f63e679 remove use of deprecated netsurf_quit variable
The core no longer needs to run the event polling loop as fetches are now
scheduler driven. This is part of a series which will ultimately remove
netsurf_poll callback altogether.

The Amiga maintainer probably wants to look at moving the ami_quit
signalling inside ami_handle_msg() to further reduce overhead.
2014-10-12 10:05:01 +01:00
Chris Young
e994704d5c void function 2014-09-20 13:44:28 +01:00
Chris Young
1b2225ea07 Move log init so it starts earlier 2014-09-20 13:38:38 +01:00
Chris Young
9e6b0fb8b0 Adjust min stack to 96K following evaluation. 2014-09-07 14:09:11 +01:00
Chris Young
93d7cf59ff Reduce stack back down to 64K 2014-09-02 18:58:28 +01:00
Chris Young
5b815861f3 Ensure the favicon updates correctly when we close a tab 2014-08-25 20:20:16 +01:00
Chris Young
2353790a45 Reduce minimum stack to 128K.
This should make it easier to see if bug#2177 is fully resolved.
2014-08-03 12:24:08 +01:00
Chris Young
989e82544e Increase minimum stack to 1MB 2014-07-26 13:11:44 +01:00
Chris Young
db28f295a8 Raise minimum stack to 512K 2014-07-26 00:24:19 +01:00
Chris Young
36411a2ba5 Fix tab title when "always show tabs" is enabled and only one tab is present 2014-07-12 16:09:08 +01:00
Chris Young
d61713d107 Don't update if there is no browser attached (fixes potential crash on startup) 2014-07-12 16:01:43 +01:00
Chris Young
c3514c2c50 Ensure tab titles are updated if the tab bar is newly added 2014-07-12 15:44:14 +01:00
Vincent Sanders
0f151e37cb Merge branch 'vince/reformatpending'
Conflicts:
	amiga/gui.c
2014-07-06 10:45:31 +01:00
Chris Young
ab5b2d9afe Move favicon redraw to scheduled callback 2014-07-05 19:00:21 +01:00
Chris Young
21a21e8143 Move the throbber to proper scheduled operation 2014-07-05 18:44:44 +01:00
Chris Young
bdcb123f0a Replace a flag for search ico refresh with a scheduled callback 2014-07-05 17:47:40 +01:00
Chris Young
f3508427f8 Ensure Ctrl-C does not terminate NetSurf abruptly. 2014-07-05 09:36:43 +01:00
Chris Young
eccfdec27a Wait for network activity instead of polling. 2014-07-03 20:53:28 +01:00
Vincent Sanders
18aefabd20 change reformat to be driven from the scheduler like redraw 2014-07-01 09:27:20 +01:00
Vincent Sanders
2330503533 Merge branch 'vince/fetchschedule' 2014-07-01 09:03:47 +01:00
Chris Young
01088bb63b Re-disable the favicon render hook 2014-07-01 08:28:07 +01:00
Chris Young
846b534854 Recreate the entire menu when the hotlist window is closed.
This ensures the hotlist entries in the menu are in sync with reality, and mirrors the existing hotlist toolbar update.
2014-06-30 22:37:05 +01:00
Chris Young
01271f4061 Re-enable favicon render hook. Not sure why or when this was disabled. 2014-06-30 22:21:10 +01:00
Chris Young
0c5bb37bea Implement a very basic favicon cache for the hotlist menu to use 2014-06-29 22:35:52 +01:00
Vincent Sanders
8944edd649 convert all frontends to scheduled fetch operation 2014-06-26 19:05:59 +01:00
Chris Young
904cefd388 Enable temporary change of search provider from the main browser window 2014-06-15 15:48:55 +01:00
Chris Young
3de529d815 Change the search ico to be a chooser gadget with the icon as the display 2014-06-15 15:39:49 +01:00
Chris Young
ea01d6b3fc Double the stack as it still runs out on occasion 2014-06-01 08:46:22 +01:00
Michael Drake
ee32aa43fe Remove an unused variable. 2014-05-31 08:47:32 +01:00
Vincent Sanders
1966649c83 fix amiga build to use correct nsurl acessor function 2014-05-27 00:15:34 +01:00
Vincent Sanders
688f60d963 fix errors with path_to_url conversion 2014-05-27 00:08:04 +01:00
Vincent Sanders
00b6cfc57e rework path to url mapping functions to convert from and to nsurl 2014-05-26 23:52:36 +01:00
Chris Young
4a9e1edbde Redraw the favicon if the window is resized. 2014-05-25 15:07:40 +01:00
Chris Young
bd9acf594f Try to ensure we get the correct search icon when the window opens. 2014-05-25 10:37:20 +01:00
Chris Young
ab5fb83037 Move search_web_init somewhere sane 2014-05-25 10:26:34 +01:00
Vincent Sanders
5d8d4d84b7 use new search web interface to refresh icon. 2014-05-25 01:16:32 +01:00
Vincent Sanders
b34a6bbe31 fix warnings in amiga build introduced in websearch changes 2014-05-25 01:14:01 +01:00
Vincent Sanders
649f4f8890 fix amiga build error 2014-05-25 01:11:24 +01:00
Vincent Sanders
a6d3ceae0e Completely re-write web search provider handling 2014-05-25 01:01:59 +01:00
Vincent Sanders
0a2082d777 ensure all vmkpath implementations check their parameters 2014-05-17 22:28:32 +01:00
Chris Young
11f03cae0c Create cache dir 2014-05-16 09:55:38 +01:00
Vincent Sanders
64f607760b add backing store storage path to browser initialisation 2014-05-13 15:53:06 +01:00
Vincent Sanders
06a3f84e50 remove amiga specific mkpath wrapper as registration has been fixed and the generic netsurf)mkpath is available 2014-05-11 16:54:36 +01:00
Chris Young
318edea47e Make mkpath allocate the string buffer for map_filename. Fixes 2119. 2014-05-10 15:22:38 +01:00
Vincent Sanders
16b11e7238 ensure operations tables are registered as early as possible. 2014-05-10 10:22:10 +01:00
Vincent Sanders
2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +01:00
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
b9bade808f missing comma 2014-05-07 16:47:44 +01:00
Vincent Sanders
6349704b5e fix silly errors in atari and amiga file operation table change 2014-05-07 16:38:58 +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
Chris Young
b1f67dab31 Remove Cairo from AmigaOS frontend. 2014-05-03 16:38:58 +01:00
Chris Young
9ba0d66c6d Ensure we don't get extraneous signals allocated 2014-04-06 15:24:24 +01:00
Chris Young
1ecd56bd71 Fix a case where the screen wouldn't close if NetSurf had been launched from Workbench 2014-04-06 15:22:18 +01:00
Chris Young
4ec70fd3a2 Fix some more cppcheck unread/unusedVariable warnings 2014-04-05 23:40:03 +01:00
Chris Young
3ea6ca89a0 Fix cppcheck constStatement warning 2014-04-05 23:12:07 +01:00
Chris Young
c2f9a39966 Fix some cppcheck variableScope warnings 2014-04-05 20:26:39 +01:00
Chris Young
f991abc53c Fix a bunch of cppcheck unusedVariable/unreadVariable warnings 2014-04-05 20:26:39 +01:00
Chris Young
268cda0f56 Fix cppcheck variableHidingTypedef 2014-04-05 20:26:39 +01:00
Chris Young
412df34298 Fix some cppcheck variableScope warnings 2014-04-05 20:26:39 +01:00
Chris Young
4575698f0f Fix cppcheck syntaxError 2014-04-03 19:06:09 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Chris Young
c44bbcdc08 Ensure any user-input URLs are passed to the core in UTF-8.
Everything else, including any content of the URL bar which hasn't just been entered by the user, is assumed to be in ASCII.
NB: The exception is the ARexx OPEN command.  This is because NetSurf uses the ARexx port and this command internally when multiple instances are opened.
file: addresses typed into the address bar containing non-ASCII characters will probably no loger work, but it is expected that under normal circumstances, users will either drag'n'drop files or use Project=>Open.  If it becomes an issue I will work around it at a later date.
2014-03-13 19:37:01 +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
2f66b6f6e2 Fix builds. 2014-02-10 22:53:22 +00:00
Michael Drake
49bed056dd Make browser_window_navigate (un)verifiable flag match browser_window_create. 2014-02-10 22:40:04 +00:00