Commit Graph

12544 Commits

Author SHA1 Message Date
Chris Young
6a3f7a386e Ensure we are treating LShift/RShift and LAlt/RAlt the same. 2016-08-12 20:32:09 +01:00
Chris Young
0b67394618 Don't attempt to close a public screen we're not the owner of.
I've never been entirely clear on what the correct approach here is, but OS4 has a feature where it will auto open/close a public screen for you.  In this case, in the microseconds between unlocking that screen and attempting to close it, OS4 has already disposed of the screen and NetSurf has crashed, so we assume the owner will handle the closing instead.
2016-08-11 22:34:46 +01:00
Chris Young
c80551b64b Fix OS3 build 2016-08-11 18:55:57 +01:00
Chris Young
5f65b1caa7 OS3-related comments 2016-08-11 18:55:43 +01:00
Chris Young
a0d51e5f68 Remove excessive scheduler debug 2016-08-11 18:20:51 +01:00
Chris Young
ab7e5c2936 Don't Abort/WaitIO when we've already removed it from the message queue (thx Georg) 2016-08-11 18:14:07 +01:00
Michael Drake
68b20a382d Tests: Fix option handling test data. 2016-08-11 08:42:51 +01:00
Michael Drake
1457a049bb Treeview: Add treeview_font_size to options.
Default is 11pt, and RISC OS overrides to 12pt.
2016-08-11 08:15:21 +01:00
Chris Young
ebb2a33b0b Missing TAG_DONE (thx capehill) 2016-08-10 23:55:28 +01:00
Michael Drake
9aecf47408 Treeview: Rationalise initialisation and finalisation.
Previously the expected behaviour for front ends using the correct
API for hotlist, global history, cookie manager, and ssl cert
viewer was that the front end would initialise the treeview module
on startup and finalise it on application exit.

However, this meant that the front ends had to include the core
treeview header, which they didn't otherwise need.

Since the tree module provided access to the new treeview utilities
through the old tree API, and was used by front ends with no changes
for the new treeview API, the tree layer refcounted initialisations
of treeview-based widgets, and only called the underlying treeview
init/fini functions when needed.

This change moves that refcounting into the treeview module.  Now
the hotlist, global history, cookie manager, and ssl cert viewer
widgets call call treeview init/fini as part of their own
initialisation and finalisation.  This means that front ends
using the correct APIs for treeview-based widgets don't need to
know anything about the underlying treeview, and the tree module
compatibility layer has had its treeview refcounting removed.

Finally, the treeview_init function took a font size parameter.
Now it does not and lit gets font size from config.  We probably
want to add a new `treeview_font_size` option to nsoptions, and
have differnent defaults on different platforms. 12pt on RISC OS,
and 11pt elsewhere, most likely.
2016-08-10 18:57:36 +01:00
Chris Young
b63443b243 Use the API for duplicating IORequests
Add some more debug:
  It appears that some timer events are not being picked up, I can see in the log that something which should have been signalled is not being run.
Enabling the log appears to make the situation worse.
2016-08-10 17:54:26 +01:00
Chris Young
4b14f9ff37 Always wait for at least some time, as it's ambiguous as to whether a 0.0s timerequest is valid. 2016-08-10 00:21:52 +01:00
Chris Young
cd48860207 more debug 2016-08-09 20:00:52 +01:00
Chris Young
1ca5b7332c Decouple the scheduler from system time
This is a hang-over from the old polling scheduler.  I've modified it to use relative times and pass the callback along with the TimeRequest so events get executed in the order they arrive.
The list of events is still in a heap sorted by expected execution time, but this may need to change to something more efficient for random lookups.
2016-08-09 18:36:09 +01:00
Vincent Sanders
94de23dce9 add more tests for partial iterator in url database 2016-08-09 13:15:36 +01:00
Vincent Sanders
9176d3233f ensure url database destructor cleans up correctly 2016-08-09 13:15:02 +01:00
Vincent Sanders
6a26755576 add more API coverage to url database unit tests 2016-08-09 12:41:16 +01:00
Vincent Sanders
115985f069 extend url database unit testing to cover more API 2016-08-09 12:26:37 +01:00
Vincent Sanders
d35ad1b8e7 add cookies tests to url database unit testing 2016-08-09 10:47:47 +01:00
Chris Young
24c1959105 We don't need ReplyMsg here.
TimerRequests are removed from the message queue by WaitIO() which is ultimately called when the event is taken off the heap.
The event on the top of the heap is _not necessarily_ the one which signalled us, though, and we should probably be handling this better.
2016-08-09 00:53:46 +01:00
Chris Young
747958c14c Scheduler debug logging 2016-08-09 00:20:26 +01:00
Vincent Sanders
54860ee6b8 add cookie database load and restore unit test 2016-08-09 00:09:33 +01:00
Vincent Sanders
5830a4c040 extend url database checks to cover authentication detail setter and getter 2016-08-08 23:59:21 +01:00
Vincent Sanders
4bc029340e add some basic url database iteration tests 2016-08-08 23:45:01 +01:00
Vincent Sanders
958fb6aa5e add url databse write output to unit test 2016-08-08 23:13:23 +01:00
Vincent Sanders
4448fa6cbf Fix warnings in unit tests 2016-08-08 22:12:16 +01:00
Michael Drake
1158536bff Tests: Squash more warnings. 2016-08-08 18:09:37 +01:00
Michael Drake
4b90528d3c Tests: Squash some warnings. 2016-08-08 18:03:57 +01:00
Michael Drake
655b619fd4 Add header that may be needed for Windows build. (CI fix attempt.) 2016-08-08 15:17:56 +01:00
Vincent Sanders
c1aec1cfa0 fix urldb warning and test build 2016-08-08 13:52:54 +01:00
Vincent Sanders
05d2b9a92c update urldb dump to use LOG rather than writing to stderr directly 2016-08-08 13:44:18 +01:00
Vincent Sanders
aa10f2f1ef wrap urldb tests in check harness and add minimal session test 2016-08-08 13:44:18 +01:00
Michael Drake
4394587ab0 Utils: Split time handling functions out of utils.c into time.c. 2016-08-07 15:22:13 +01:00
Michael Drake
0e76523e4c Indentation: spaces to tabs. 2016-08-07 14:54:46 +01:00
Vincent Sanders
cc3c1eb99b add unit test for user message handling 2016-08-06 23:43:23 +01:00
Vincent Sanders
35d9baa14e remove unused GTK treeview code completely repalced with core window API 2016-08-06 17:11:29 +01:00
Vincent Sanders
8547452232 convert GTK hotlist to use GTK core window 2016-08-06 17:08:21 +01:00
Vincent Sanders
597d167b9d fix hotlist keypress consumption return 2016-08-06 16:59:43 +01:00
Vincent Sanders
124d3fe9f0 add some more bad values to choices file to ensure parser can cope 2016-08-06 10:43:52 +01:00
Vincent Sanders
c0f4bbb308 remove erroneous parameter check to nsoption_snoptionf
The API check and bounds check for option indexes was from an unsigned
enum so checking for negative numbers was causing "comparison is always
false" errors in compilation.
2016-08-06 10:27:32 +01:00
Vincent Sanders
40ae120360 fix formatted option no init test 2016-08-06 01:29:43 +01:00
Vincent Sanders
62b76bf31a improve option test coverage futher 2016-08-06 01:20:37 +01:00
Vincent Sanders
b2a78c5c6e improve user option testing to cover all the API 2016-08-06 00:06:44 +01:00
Vincent Sanders
afc79d5912 Improve user option testing and API parameter checking 2016-08-05 22:34:44 +01:00
Vincent Sanders
f17e88e709 rename gtk global history implementation 2016-08-04 23:50:06 +01:00
Vincent Sanders
189b7b45fb convert GTK global history to use GTK core window 2016-08-04 23:41:22 +01:00
Vincent Sanders
73b81a59cc fix global history keypress consumption return 2016-08-04 23:40:34 +01:00
Vincent Sanders
e8df81fdb3 add tests for utility string handling 2016-08-04 00:19:48 +01:00
Vincent Sanders
5a73f0797f add url escape test for complete garbage input 2016-08-03 16:06:17 +01:00
Vincent Sanders
eb5e0599af Improve percent escaping testing, parameter checking and documentation 2016-08-03 15:04:28 +01:00