Commit Graph

788 Commits

Author SHA1 Message Date
Vincent Sanders
6a1dbd377b
remove login window from gtk front end 2019-08-13 12:09:21 +01:00
Chris Young
ef75d670d6 Amiga: DebugPrintF is OS4-only 2019-08-10 14:51:15 +01:00
Chris Young
765c9c6654 Amiga: OS3 doesn't know FOREGROUNDPEN, so use TEXTPEN instead 2019-08-10 14:49:25 +01:00
Chris Young
bf9ccc57c8 Amiga: Implement a simple listbrowser log in the GUI
Can be revealed/hidden with F12 and is currently undocumented.
2019-08-10 14:29:58 +01:00
Chris Young
78199c0177 Amiga: Allow running JS from ARexx
Option arexx_allow_exec enables the EXEC command.
It is disabled by default and currently undocumented.
Theoretically this could be used by a form filler application.
2019-08-10 14:22:52 +01:00
Chris Young
faec17a903 Remove scale from Amiga frontend
Remove shadow scale variable
Redraw when scale is changed
This also fixes a long-standing bug where the window would not redraw correctly when scrolling if not at 100% scale
2019-08-10 13:22:12 +01:00
Daniel Silverstone
1cf1ec55bc Support SSL verification through new about: handler
In doing this, also propagate why the certificates were bad
so that the page can display a reason.  We will need FatMessages
for all these.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 13:15:23 +01:00
Daniel Silverstone
8469f4cc8e Reimplement handling of BAD_AUTH inside browser_window
We now handle authentication requests via an `about:` page
which presents a nice form built into the browser window.
In order to do this, we add internal navigation as a concept
to the browser window and we strip the 401login support from all
frontends except monkey.

The 401login callback is now intended for password safe type support
rather than an immediately interactive prompt.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 11:26:47 +01:00
Daniel Silverstone
5775e39411 amiga: Fix more content error snafus.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:19:58 +01:00
Daniel Silverstone
49a82109ce riscos: Deal with silly typos. I'm too tired now.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:18:50 +01:00
Daniel Silverstone
040d558d39 amiga: Try and catch the last content rework for amiga
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:16:00 +01:00
Daniel Silverstone
865844ede7 riscos: Try and fix up all the content changes
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:13:24 +01:00
Vincent Sanders
936cb3ce0c remove shadow scale variable from beos 2019-08-05 09:36:25 +01:00
Vincent Sanders
243659763b remove shadow scale variable from atari 2019-08-05 09:36:17 +01:00
Vincent Sanders
e78dc4f5a9 remove RISC OS scale shadow variable 2019-08-04 21:55:09 +01:00
Vincent Sanders
bf0e6be9ca remove unecessary scaling in RISC OS get and set scroll offsets 2019-08-04 21:46:18 +01:00
Vincent Sanders
0aae3c370b change RISC OS keypress handling for scale to not use shadow variable 2019-08-04 16:49:01 +01:00
Vincent Sanders
13276f5654 make risc os title setting not use shadow scale value 2019-08-04 15:17:40 +01:00
Vincent Sanders
98f8eaeb31 remove unused interface 2019-08-04 15:01:30 +01:00
Vincent Sanders
3be2b98cc2 change browser_window_drop_file_at_point() to take unscaled coordinates 2019-08-04 14:24:33 +01:00
Michael Drake
c88a55999a RISC OS: Fix log message. 2019-08-04 14:12:31 +01:00
Michael Drake
1651dc2fb1 RISC OS: Try setting the caret position to give the window focus. 2019-08-04 14:11:01 +01:00
Vincent Sanders
f21c41a2e5 change browser_window_redraw to use unscaled coordinates 2019-08-04 11:25:35 +01:00
Vincent Sanders
b2f5c80ef8 trivial documentation cleanups 2019-08-04 11:25:35 +01:00
Daniel Silverstone
1905200154 Add content handlers for queries
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Michael Drake
6d81f87c73 RISC OS: Set window has focus in local history open. 2019-08-04 10:18:07 +01:00
Vincent Sanders
337c2ed7b1 remove unused gtk window interfaces and clean up documentation 2019-08-04 09:47:58 +01:00
Michael Drake
a1951f4c49 RISC OS: Fix ro_cw_get_window_dimensions to account for toolbar height. 2019-08-03 16:57:28 +01:00
Michael Drake
01485d06ba RISC OS: Core window: X scroll is positive, Y scroll is negative. 2019-08-03 16:40:05 +01:00
Michael Drake
11ecf0b671 Amiga: Fix the corewindow get scroll call. 2019-08-03 16:18:50 +01:00
Michael Drake
3938d5340b Corewindow: Sanitise scrolling API.
Now the core has a helper so that all the front ends don't need
to implement the scroll to show area API.

Now they simply have get and set scroll APIs.
2019-08-03 15:57:23 +01:00
Vincent Sanders
641f5fb072 make use of improved browser_window_set_scale API in frontends 2019-08-03 15:53:07 +01:00
Vincent Sanders
d4c01894c2 change browser_window_get_features to use unscaled coordinates 2019-08-03 14:29:06 +01:00
Vincent Sanders
0ebfff259f change browser_window_mouse_track to use unscaled coordinates 2019-08-03 14:29:05 +01:00
Vincent Sanders
0a8ed41a1a change browser_window_mouse_click to use unscaled coordinates
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
2019-08-03 14:29:05 +01:00
Michael Drake
54daff0e97 RISC OS: y scroll is negative. 2019-08-03 14:04:36 +01:00
Michael Drake
f984873799 RISC OS: Attempt to implement ro_cw_scroll_visible().
Untested.
2019-08-03 13:50:37 +01:00
Daniel Silverstone
69d1d5f626 monkey: Support clicking in windows
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 12:31:02 +01:00
Michael Drake
404fc65771 Framebuffer: Remove bogus comment. 2019-08-03 11:07:04 +01:00
Michael Drake
3a4477413a Framebuffer: Add keyboard controls for scaling. 2019-08-03 11:00:09 +01:00
Daniel Silverstone
a08a1a1d14 amiga/history_local: Scroll to cursor on open
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:04:58 +01:00
Daniel Silverstone
f98de0d347 riscos/local_history: Scroll to cursor on open.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:03:37 +01:00
Daniel Silverstone
99cb0d6bc6 windows/local_history: Scroll to cursor on open
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:02:24 +01:00
Daniel Silverstone
7c2811f5f6 framebuffer/local_history: Scroll to cursor on open
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:01:46 +01:00
Daniel Silverstone
5e8b2d4653 gtk/local_history: Scroll local history to cursor on display
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:00:34 +01:00
Daniel Silverstone
c078c3f509 gtk/corewindow.c: Correctly handle scroll_visible
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:00:06 +01:00
Daniel Silverstone
6bbdf08cb0 gtk, beos: Run scheduler before fetching fdset
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 17:06:45 +01:00
Daniel Silverstone
f7d97d6483 monkey: Report the errno when select() returns -1
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 16:57:38 +01:00
Daniel Silverstone
6a9137f431 monkey: Run scheduler before extracting fdsets
We need to run the scheduler *before* we extract the fdsets from
the fetchers, otherwise fetch aborts might result in EBADF

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 16:56:54 +01:00
Vincent Sanders
3114e78ded fix missed get dimensions call in amiga frontend 2019-08-02 12:58:50 +01:00
Vincent Sanders
552aab42e1 remove scaled parameter from get_dimensions 2019-08-02 12:26:20 +01:00
Vincent Sanders
955cf5f97b RISCOS: change invalidate to cope with unscaled rectangles 2019-08-01 22:34:13 +01:00
Vincent Sanders
654840e845 AMIGA: Update to remove rectangle scaling from browser window invalidate 2019-08-01 22:34:13 +01:00
Michael Drake
2943e9ae46 GTK: Update for unscaled bw invalidate rectangle. 2019-08-01 22:34:13 +01:00
Vincent Sanders
5742762070 split browser and browser_window operations 2019-08-01 19:51:19 +01:00
Samuel Dionne-Riel
87177d8aa1 GTK: prefer using curl's intrinsic defaults for CURLOPT_CA*
On distributions that ship only a ca-bundle in `/etc/ssl`, the
configuration set at initialization will force curl to look for
certificates that are not present in this directory.

Removing the setting instead makes curl use its internal default.

The framebuffer frontend will not set this option, and the only
other frontend that sets it is BeOS.

This issue can be observed (likely among other) on the NixOS Linux
distribution.
2019-08-01 12:03:06 +01:00
brabo
ba9f5f8ef0 gtk/fetch.c & monkey/filetype.c: ascii_is_space already checks for newline. 2019-08-01 10:42:08 +01:00
brabo
c90bfb23ad gtk/fetch.c & monkey/filetype.c: small comment correction. 2019-08-01 10:42:08 +01:00
Daniel Silverstone
6c951f7a15 monkey/browser.c: Handle failed calloc more gracefully
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:23:58 +01:00
Vincent Sanders
f4878b4c17 Update version for next development cycle 2019-07-17 11:39:46 +01:00
Vincent Sanders
f7d4b485cb update copyright years for release 2019-07-17 11:19:06 +01:00
Michael Forney
6a53b447e5 Declare global variables as extern in headers
Otherwise, each source file that includes the header will create a
new definition, which are usually merged together by the linker.

Multiple definitions of an object is not allowed in ISO C.
2019-06-30 09:52:06 +01:00
Vincent Sanders
ca2cbac232 fix freetype pkg-config usage in atari frontend 2019-06-29 18:01:22 +01:00
Vincent Sanders
a57940a468 fix atari STRIP makefile target to not have a spurious close bracket 2019-06-25 16:59:22 +01:00
Vincent Sanders
8b31e18ad6 stop the atari toolchain from matching the cstrip binary for the strip one 2019-06-25 16:56:06 +01:00
Chris Young
24590a1145 Check callback memory is allocated before trying to use it. 2019-06-09 20:30:46 +01:00
Chris Young
93494790f3 Fix memory leak in Amiga frontend 2019-06-09 20:17:47 +01:00
Chris Young
7314651b95 NULL drawhandle after free 2019-06-09 19:29:56 +01:00
Vincent Sanders
dddc5eac94 Update schedulers return codes
The GTK and monkey frontends schedulers now return NSERROR_NOT_FOUND
 when a caller is using a negative schedule time to remove a callback.
2019-06-08 13:33:16 +01:00
Vincent Sanders
eeeca4b712 add ability to stop a navigation in monkey frontend 2019-06-06 17:17:27 +01:00
Vincent Sanders
2db39b1f7d quieten down windows debug 2019-05-17 18:15:58 +01:00
Chris Young
a5e4bf8220 Make SimpleRefresh the default.
This reduces memory use.
2019-05-12 16:43:01 +01:00
Chris Young
f139c4fa4d Add a render hook to ensure the browser window is redrawn when needed
This fixes the occasional damaged areas in SimpleRefresh mode
2019-05-12 16:38:48 +01:00
Chris Young
336a7dc170 Mark functions as static 2019-05-10 22:11:21 +01:00
Chris Young
6ac65a3674 Hide the message port which is shared amongst all Amiga NetSurf windows 2019-05-10 21:59:03 +01:00
Chris Young
24b910f4ff Make the window list more private
TODO: fix arexx.c to not need it
2019-05-10 21:49:00 +01:00
Chris Young
a5051c7128 Use new beep function 2019-05-10 21:34:22 +01:00
Chris Young
97010ecef5 Make screen pointer accesible through an accessor function only 2019-05-10 20:59:30 +01:00
Chris Young
c5a07fac76 Replace global current gui_window with an accessor function 2019-05-10 20:32:40 +01:00
Vincent Sanders
8f9d434b12 make win32 keyboard handling in browsing window functional
makes the drawable area widget for the browser display use windows
unicode input and copes with surrogate pairs for full unicode input
coverage.

fixes the keydown handling to only the necessary navigation operations
like left, right up and down etc.
2019-05-09 23:27:59 +01:00
Vincent Sanders
95b8d12950 implement windows clipboard functionality
This allows clipboard to operate (cut, copy, paste and delete) in the
 win32 front end. The clipboard is set and read in windows unicode
 mode and then converted to/from utf-8 for the browser core.
2019-05-09 23:11:05 +01:00
Chris Young
896e531a7f fix os3 build 2019-05-08 18:35:51 +01:00
Chris Young
944d8fc412 try storing form_control in the hook data
it doesn't appear to be needed anywhere else
2019-05-08 18:12:22 +01:00
Chris Young
19742c826a Make gadget object enum private to gui.c 2019-05-08 17:51:53 +01:00
Chris Young
76618d9588 make gui_window_2 private to gui.c 2019-05-08 17:48:50 +01:00
Chris Young
df5c18315f Pass ptr to clicktab var instead of func calls 2019-05-08 17:29:14 +01:00
Chris Young
d0df3fa4b3 more accessor for gui_window_2 2019-05-08 01:44:44 +01:00
Chris Young
1cd30fdb3c Move ami_(re)set_pointer (back?) into gui.c as they need to set/read the gui_window_2 structure 2019-05-08 00:59:04 +01:00
Chris Young
ae36d35728 throbber crap 2019-05-08 00:56:07 +01:00
Chris Young
a5aa53657c get the window title from a gui_window 2019-05-08 00:35:09 +01:00
Chris Young
1edf8f2848 set find window function 2019-05-08 00:30:51 +01:00
Chris Young
c64d48005c Try moving form_control into gui_window 2019-05-08 00:18:43 +01:00
Chris Young
4713e1c8af Accessor for the select menu control pointer 2019-05-08 00:16:06 +01:00
Chris Young
ca1a519cfa remove direct access to gui_window_2's gui_window 2019-05-08 00:08:35 +01:00
Chris Young
b9dd0a60c3 accessor for window from gui_window_2 2019-05-07 23:43:15 +01:00
Chris Young
83c3831853 set menu to window through a function 2019-05-07 22:22:12 +01:00
Chris Young
67af746324 Get menu structure directly from gui_window 2019-05-07 22:07:57 +01:00
Chris Young
6d1f480f01 Get the shared window's window structure directly from the gui_window
In a lot of places gui_window_2 was only being accessed for Window
2019-05-07 21:58:09 +01:00
Chris Young
5c7b5476f0 Make gui_window private to gui.c
TODO: ratonalise these accessors
2019-05-07 21:45:40 +01:00
Chris Young
d719bdcee3 No debug symbols on OS3
None of the tools manage to extract any info from them
2019-05-06 13:36:18 +01:00