Commit Graph

813 Commits

Author SHA1 Message Date
Vincent Sanders
b24b28e40e clean up some more handler code and remove button push 2019-09-21 10:53:41 +01:00
Vincent Sanders
ff64341ed3 make menu sensitivity work
what remains is interfaces to make the toolbar appropriately sensative
2019-09-21 10:53:41 +01:00
Vincent Sanders
c297101c3a make menus work again 2019-09-21 10:53:41 +01:00
Vincent Sanders
b389dd4116 make web search box work 2019-09-21 10:53:41 +01:00
Vincent Sanders
f3a68771e3 add home button clicked handler 2019-09-21 10:53:41 +01:00
Vincent Sanders
305190fe73 implement several more button press handlers 2019-09-21 10:53:41 +01:00
Vincent Sanders
07a9d5b3fb connect button clicked events for local history and stop buttons 2019-09-21 10:53:41 +01:00
Vincent Sanders
8b5100a97e fix url enttry completion 2019-09-21 10:53:41 +01:00
Vincent Sanders
869c16dae6 cleanup toolbar warnings 2019-09-21 10:53:41 +01:00
Vincent Sanders
bd90138b48 make url entry repond to navigate and update signals 2019-09-21 10:53:41 +01:00
Vincent Sanders
dd767acfee make toolbar url entry display url 2019-09-21 10:53:41 +01:00
Vincent Sanders
02c75d0790 working throbber 2019-09-21 10:53:41 +01:00
Vincent Sanders
89fb88f6de move toolbar to be in tab contents 2019-09-21 10:53:41 +01:00
Vincent Sanders
65d169da10 get the code to at least compile again. toolbar is completely broken 2019-09-21 10:53:41 +01:00
Vincent Sanders
1fc51d1f44 moved most of init to toolbar.c 2019-09-21 10:53:41 +01:00
Daniel Silverstone
8b0aec4bac Monkey: Clean up various leaked blocks
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-07 15:24:37 +01:00
Vincent Sanders
6bce06b91f fix spelling mistakes from miscellaneous event commit 2019-08-20 16:38:51 +01:00
Vincent Sanders
4dc4d8b318 add miscellaneous event to browser window callback table
extend the browser window callback table with a miscallaneous event
 entry. This is used to replace all browser window callbacks which
 take no parameters.

This reduces the API surface from seven separate calls to a single
 call with an enumeration which may be readily extended.

The initial implementation in the frontends simply calls the original
 implementations to reduce scope for errors.
2019-08-20 00:16:52 +01:00
Vincent Sanders
c0e27bd0da access gtk throbber frames through an interface
This changes the gtk throbber frames to be accessed through an API
  This removes teh nsgtk_throbber global and hides the implementation
  details from the rest of the code.
2019-08-18 14:41:31 +01:00
Vincent Sanders
01f3879b64 Move favicon from url entry widget to notebook tab label 2019-08-15 23:02:04 +01:00
Vincent Sanders
22ae220bf6 fix atari removal of login window 2019-08-14 12:43:15 +01:00
Vincent Sanders
4094232e3d
remove login window from atari frontend 2019-08-14 12:31:59 +01:00
Vincent Sanders
1e9bfcda7e
remove login window from amiga frontend 2019-08-14 12:23:04 +01:00
Vincent Sanders
7f6222babe
remove login from riscos frontend 2019-08-14 12:18:39 +01:00
Vincent Sanders
ccd81015a1
remove login window from windows frontend 2019-08-14 12:09:04 +01:00
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