Commit Graph

1889 Commits

Author SHA1 Message Date
Michael Drake
ded1979fa1 Treeview: Add API for attaching and detaching from corewindows. 2016-12-29 14:43:38 +00:00
Michael Drake
7750d926ad Treeview: Allow treeview to be created "detached".
This allows treeviews to be constructed before their corewindow.
2016-12-29 14:42:25 +00:00
Michael Drake
93fdbcc6de Treeview: Don't call corewindow callbacks if not attached to a corewindow. 2016-12-29 14:40:54 +00:00
Michael Drake
b93ae2c28f Treeview: Convert to using corewindow callback wrappers. 2016-12-29 14:39:44 +00:00
Michael Drake
fb0cdfed79 Treeview: Add wrappers for corewindow callbacks.
Currently unused.
2016-12-29 14:29:48 +00:00
Vincent Sanders
96e073a297 Merge branch 'vince/ro-corewindow'
Conflicts:
	frontends/riscos/sslcert.h
2016-12-28 16:14:19 +00:00
Vincent Sanders
c8c7de976a Fix crash when treeview widget is reinitialised
The treeview widget can be repeatedly finialised and initialised. The
content ready flag was not being cleard on initialisation so content
was being used in an bad state. For example this caused an assert when
content_redraw() was called on non-ready resource handles.
2016-12-28 15:25:46 +00:00
Michael Drake
71983d527e Tree compat layer: Fix assertion for multiple SSL cert windows.
Use corewindow API rather than this compat layer to avoid the assertion.
2016-12-18 13:03:07 +00:00
Chris Young
4ad375c3b0 Ensure memory used by Messages is freed on exit 2016-12-11 16:43:48 +00:00
Vincent Sanders
bcce8cc7b4 fix spelling of retrived 2016-11-21 00:07:13 +00:00
Daniel Silverstone
f8b95e83bb Official Release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEVAwUAWDBZAMMN9DnymH10AQrJjAf+LD/v5Wmzy0TtB7TK58Kk7T6/M6XDZLyR
 a0uyUC5iyGZPnljsds+b6rLl94uM4kDZbATXH2NwZk2BI6Evv8X3ah350XTIciX3
 OcaAHb2oajb8ISesvmaUCPZJhB6k9mUhwpuPUSjuQsMB9kevmoz7KOfqYQ6DPxhq
 fY5G/goqgNlpkUJUPWyAudzJLqh5xsDpG1VGdOPmhjPp3vodYLqFihy8R9Co4gby
 fwcgEL8hI1bnYzsst3JJKJjhlDW/fEgdoScV6lTDp7pZv+VwyNFeKckJAlItwRM0
 cXKSViXgxbTDd9r7n+vrP78srVAY6IGiw7/aIS8/DZAMoEbw6gQXOA==
 =2eDi
 -----END PGP SIGNATURE-----

Merge 3.6 release and prepare 3.7 dev
2016-11-19 13:55:01 +00:00
Daniel Silverstone
75005f9220 Update version.c and amiga version.c 2016-11-19 12:09:51 +00:00
Vincent Sanders
a2396edde4 complete transition to locale independant core operation
The netsurf core no longer uses any locale dependant operations
excepting the mall number or cases where such operations are
explicitly wanted.

the netsurf_init now calls setlocale with the empty string and lets
the c library setup as per its specific implementation.

any core functionality that specificaly processes ascii text must use
the utils/ascii.h header to do so.
2016-09-29 22:37:10 +01:00
Vincent Sanders
bd4377d693 remove cookie manage display of the no_delete boolean
The no_delete flag is mislabelled as persistent. In fact it is simply
never altered from its default value. It is serialised and its state
kept on disc but otherwise is completely vestigial.
2016-09-13 23:28:25 +01:00
Vincent Sanders
e582497322 if the cookie is a session cookie indicate it
previously session cookies were simply displayed as having an expiry
in 1970 which was unhelpful.
2016-09-13 23:17:28 +01:00
Vincent Sanders
17de8d91ac change save complete to use ascii character manipulation 2016-09-11 10:27:11 +01:00
Vincent Sanders
11d2921bbf improve cookie time display and document locale interaction 2016-09-10 23:05:24 +01:00
Vincent Sanders
a8a6098f68 move core window API into netsurf header path 2016-08-18 21:07:04 +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
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
Vincent Sanders
597d167b9d fix hotlist keypress consumption return 2016-08-06 16:59:43 +01:00
Vincent Sanders
73b81a59cc fix global history keypress consumption return 2016-08-04 23:40:34 +01:00
Vincent Sanders
e0d531b824 fix certificate viewer keypress consumption return 2016-07-31 13:25:20 +01:00
Vincent Sanders
b939afe3fc Allow certificate verification user prompt creation to return errors 2016-07-31 13:25:20 +01:00
Vincent Sanders
0f5d7cfcd2 Fix cookie manager keypress consumption return 2016-07-31 13:25:20 +01:00
Michael Drake
a122b94efd URL escape: Simplify to avoid unnecessary allocation.
This removes the toskip parameter, which was only used by the RISC OS
front end.  The toskip param was used to skip 8 characters which did
not need to be escaped from the start of the URL.  The RISC OS front
end now orders the steps of its URL construction to avoid the need
for this.
2016-07-25 09:04:35 +01:00
Vincent Sanders
8066d1c8b4 move key press enums and operations to their own header 2016-07-01 14:27:04 +01:00
Vincent Sanders
0ae788752c remove unecessary textinput header use from treeview header 2016-06-30 16:12:06 +01:00
Vincent Sanders
012b797713 remove unecessary textinput header use from global history header 2016-06-30 15:40:10 +01:00
Vincent Sanders
690066bb56 remove unecessary textinput header use from hotlist header 2016-06-30 15:28:54 +01:00
Vincent Sanders
8dd5b560a5 remove unecessary textinput header use 2016-06-30 11:51:39 +01:00
Vincent Sanders
c313524998 reduce curl usage to fetcher, url unescaping and time parsing 2016-06-29 23:06:53 +01:00
Vincent Sanders
66d0f14b32 move the public form API 2016-06-14 12:39:54 +01:00
Vincent Sanders
976eca9958 msplit public url database API out for frontends 2016-06-13 23:34:45 +01:00
Vincent Sanders
8fdf262683 remove unecessary content API usage from atari frontend 2016-06-08 15:30:25 +01:00
Vincent Sanders
8861923455 Allow include directories to be added by sub makefiles 2016-06-06 14:47:27 +01:00
Vincent Sanders
76a68d7dd0 Update content to split public and internal API 2016-06-06 09:01:38 +01:00
Vincent Sanders
aa53519bcd fix missing includes from header API changes 2016-05-30 21:21:09 +01:00
Vincent Sanders
667605869f move plotters header into public API 2016-05-30 21:05:57 +01:00
Vincent Sanders
7fc0a4c481 move desktop window header into public API 2016-05-30 17:32:57 +01:00
Vincent Sanders
8711fbe47d move mouse and pointer state header into public API 2016-05-30 12:10:08 +01:00
Vincent Sanders
c041393e66 move netsurf header into public API 2016-05-30 11:51:10 +01:00
Vincent Sanders
9ce71876ce move layout header into public API 2016-05-30 11:31:35 +01:00
Vincent Sanders
527756cca0 move fetch header into public API 2016-05-30 11:29:39 +01:00
Vincent Sanders
fe7eb85614 move misc header into public API 2016-05-30 11:23:32 +01:00
Vincent Sanders
aa5090c85b move utf8 header into public API 2016-05-30 11:20:15 +01:00
Vincent Sanders
c821ed2bbd move download header into public API 2016-05-30 11:15:58 +01:00
Vincent Sanders
d240bec036 move clipboard header into public API 2016-05-30 11:04:32 +01:00
Vincent Sanders
1eb86d9df2 move window header into public API 2016-05-30 11:01:40 +01:00
Vincent Sanders
903c4dbef9 move search header into public API 2016-05-30 10:57:22 +01:00
Vincent Sanders
2dab078f21 move bitmap API header to core include directory 2016-05-26 23:01:03 +01:00
Vincent Sanders
6722943b81 move the CSS content handler 2016-05-26 11:18:41 +01:00
Vincent Sanders
3224d7121a move image content handlers to accomodate core build changes 2016-05-23 23:32:16 +01:00
Vincent Sanders
e41ad032fa cleanup printer API usage of plotter headers 2016-05-04 15:43:43 +01:00
Vincent Sanders
6a36d4ec2b remove all core usage of warn_user API 2016-04-26 12:50:16 +01:00
Vincent Sanders
69cea38f41 update scrollbar_create error handling to return nserror 2016-04-26 12:14:56 +01:00
Vincent Sanders
dd14807c8c improve error returns from pdf save API 2016-04-26 11:02:17 +01:00
Vincent Sanders
7ec49463da fix error reporting from frameset creation 2016-04-26 10:26:00 +01:00
Vincent Sanders
bf3ee089cb use the miscellaneous table warning entry
change all the frontends to provide the warning callback in the
miscelaneous table instead of using the warn_user function.

Changing all the warn_user callsites still requires completion.
2016-04-25 23:11:55 +01:00
Vincent Sanders
974a4a21e1 split out the layout glyph sizing and splitting API
This refactors the core "font" sizing API to be handled through gui
 function tables similar to every other core/frontend calling API.
2016-04-23 23:32:21 +01:00
Vincent Sanders
16dde3c704 make framebuffer use nsutils library monotonic times 2016-04-21 13:50:16 +01:00
Vincent Sanders
77a1b4b5e0 replace wallclock API usage with nsutils monitonic time 2016-04-21 13:12:56 +01:00
Vincent Sanders
7ba291037b move regex helper to be with teh single remaining call site 2016-04-20 23:33:31 +01:00
Vincent Sanders
dee7426656 stop content header dragging in so many other headers 2016-04-19 23:20:29 +01:00
Vincent Sanders
392307bb1f reduce content header interdependancy 2016-04-18 23:04:16 +01:00
Vincent Sanders
0bc5d2ca4c create date and time to seconds since epoch processing utility function
currently NetSurf uses curl_getdate to convert textural date and time
strings into seconds since epoch. It is betetr to move this
functionality to a utility function so curl_getdate can easily be
replaced if required.
2016-04-16 23:50:22 +01:00
Vincent Sanders
33c7df0c40 complete the rename of the gui browser table
When the operations tables were created the browser table was renamed
to miscellaneous except the actual rename patch was never applied,
this fixes that situation.
2016-04-16 23:50:21 +01:00
Vincent Sanders
3a5b4571b4 update version info for next development cycle 2016-04-06 12:01:07 +01:00
Vincent Sanders
9faef114ec Update font interface documentation to include parameter direction 2016-03-22 17:52:24 +00:00
Vincent Sanders
d15ab96a51 Fix size_t printf formatting
The printf formatting for size_t is set in c99 as %zu but in windows
it is %Iu this is solved by adding and inttypes style PRI macro for size_t

This also uses this macro everywhere size_t is formatted.
2016-03-17 22:00:54 +00:00
Vincent Sanders
df28737bff update version info for next development cycle 2016-02-16 13:38:33 +00:00
Michael Drake
6b57c94012 Return to original timeouts for now: One 30s attempt. 2016-02-15 09:58:52 +00:00
Michael Drake
0a3519fdac Remove torrent of logging during browser window resize. 2016-02-06 12:41:51 +00:00
Daniel Silverstone
4d1ef3bac4 Add support for retrying timed-out cURL fetches.
This is an attempt to amelioriate the situation found in #2384 where
we see the cURL connect() failing to complete.  Based on the pcap
from the bug log, we believe that RISC OS is likely failing to signal
the completion of the connection to cURL.  As such, cURL times out.

This change permits retries of timed out connections in the hope that
a fresh socket FD might subsequently function correctly.  The defaults
chosen mean that the previous behaviour of 30 seconds before timeout
is reported will remain the same, but in that time we will make 3 separate
attempts to connect the socket.
2015-11-10 21:51:54 +00:00
Michael Drake
519775a65c Don't leak frame scrollbars. 2015-10-31 16:14:40 +00:00
Chris Young
6afda499c2 Show the IDN decoded form in the URL bar on GTK if the option is set. 2015-10-24 15:12:56 +01:00
Vincent Sanders
eb17f4ab37 Implement basic browsing context name property 2015-10-18 10:53:49 +01:00
Chris Young
1e83301251 Remove errorneous addition. 2015-09-05 16:54:12 +01:00
Chris Young
944248ce32 Rough outline for Intuition-based context menu 2015-09-03 00:24:04 +01:00
Michael Drake
16fd36eb9d Proper error handling for JS context creation. 2015-08-13 12:23:59 +01:00
Michael Drake
c7a3229494 Can't tell if failure to create a JS context is an error or not.
It won't create one when built jsoff.
2015-08-13 11:59:43 +01:00
Michael Drake
379d97123a Handle failure to create new context. 2015-08-13 11:49:09 +01:00
Michael Drake
99765cf2d0 Remove TODO. 2015-08-13 09:48:09 +01:00
Michael Drake
2d53524635 Fix crash when JS context is required from a frame. 2015-08-13 09:39:04 +01:00
Vincent Sanders
67ded2a02a This moves message loading out of netsurf_init into each frontend
The translated message loading is dependant on configuration of
resource location in each frontend, additionally they should have the
ability to deal with errors in this loading in a implementation
specific manner.

This also extends the message loading API to be capable of loading
from an inline memory buffer instead of from a file.
2015-06-21 23:27:22 +01:00
Vincent Sanders
335bbe4f52 Move the browser identification and machine info logging.
Previously this information was logged when netsurf_init was called
which might be many lines out output into the log.

It is useful to have this information at the beginning of the log to
make it easily found. In addition it makes netsurf_init less complex.
2015-06-21 23:27:21 +01:00
Vincent Sanders
e9b89f776d Allow the resource scheme to provide data directly.
This allows front ends to provide resources from compiled in data
instead of requiring the resources to be available on disc and forcing
a redirect.
2015-06-17 21:35:40 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
7e6b86eb1a make global history treeview directory creation return error instead of aborting 2015-05-03 17:40:27 +01:00
Vincent Sanders
75d3fdc42e Convert RISC OS to use bitmap render operation 2015-04-24 23:49:49 +01:00
Vincent Sanders
7e2f1094ce Remove unused thumbnail sources from core and gtk 2015-04-23 22:50:16 +01:00
Vincent Sanders
ee78742363 change browser history to use bitmap render interface for thumbnails 2015-04-23 22:50:16 +01:00
Vincent Sanders
de98108e7f Add render to bitmap operations and update gtk to provide it. 2015-04-22 23:14:51 +01:00
Vincent Sanders
cc11912da1 Convert framebuffer frontend to bitmap operations table. 2015-04-14 23:08:02 +01:00
Vincent Sanders
f37e52c394 Move bitmap operations into an operation table.
The generic bitmap handlers provided by each frontend are called back
from the core and therefore should be in an operation table. This was
one of the very few remaining interfaces stopping the core code from
being split into a library.
2015-04-13 23:19:04 +01:00
Vincent Sanders
c134750575 split out gtk SSL certificate verification dialog impementation. 2015-04-12 17:26:22 +01:00
Vincent Sanders
6f4f860ce3 Add some debug round thumbnail creation
More debugging of thumbnail creation as it appears to be involved in a
number of recently reported crashes on RISC OS.
2015-03-27 14:39:00 +00:00
Witold Filipczyk
befa5e6ed3 To avoid namespace conflicts with ncurses add NetSurf key prefix.
Adds a NetSurf key code prefix of NS_ to all key codes.
2015-03-27 09:36:19 +00:00
Vincent Sanders
8a99b045bc Remove url from content thumbnailers API
The content thumbnailers for each frontend were being provided the
contents url. This was only ever used to call the urldb thumbnail
setting API.

This changes it so the single callsite that passed a valid url adds
the bitmap to that url itself in desktop_history.c instead of forcing
every frontend to require the urldb API.

Additionally the old API could pass the url as NULL which was causing
asserts where this was not an expected parameter value. Because of
this this fixes bug #2286 which was also present in the monkey
frontend as both called nsurl_access() on the url without the NULL
check and caused an assertion.
2015-03-15 00:00:45 +00:00
Vincent Sanders
c8d4fe96c4 update version info for next development cycle 2015-03-10 14:44:05 +00:00