Commit Graph

14080 Commits

Author SHA1 Message Date
Michael Drake
4b2697c989 Page info: Implement redraw. 2020-02-23 17:38:14 +00:00
Michael Drake
c32e1bb340 Page info: Implement page info window creation and destruction. 2020-02-23 17:38:14 +00:00
Michael Drake
3940918b68 Page info: Add data structures and module init/fini. 2020-02-23 17:38:14 +00:00
Michael Drake
9198c9958a Desktop: Add page-info API.
This will be a core window intended to show information about the
page currently shown in the associated browser window.
2020-02-23 17:38:14 +00:00
Michael Drake
8da6252f50 Browser window API: Add count for page state enum. 2020-02-23 17:38:14 +00:00
Michael Drake
a39b651620 Browser window: Add stubs for new interfaces for page-info dialogue. 2020-02-23 17:38:14 +00:00
Michael Drake
d23a7b4c8f Browser window: Constify bw through page_info_state getter. 2020-02-23 17:38:14 +00:00
Michael Drake
475d397b8c Plot style: Add function to engorge a colour channel.
This can be used to exaggerate the red, green, or blue component.
2020-02-23 17:38:14 +00:00
Michael Drake
6783deba4e Plot style: Split lightness calc out of colour_to_bw_furthest macro. 2020-02-23 17:38:14 +00:00
Vincent Sanders
8a834918e3 missed a certificate change on amiga frontend 2020-02-23 17:37:33 +00:00
Vincent Sanders
338dd004f2 fix windows and amiga frontends to cope with certificate chain changes 2020-02-23 17:25:19 +00:00
Vincent Sanders
7039973a1f fix frontends to cope with certificate chain update 2020-02-23 17:19:45 +00:00
Vincent Sanders
0c34d06494 Keep the complete certificate chain from a fetch
Instead of extracting information from the X509 certificate chain in
the fetcher the entire chain is propagated in Distinguished Encoding
Rules (DER) format.

This allows all the information contained in a certificate chain to be
retained which can subsequently be presented to the user
2020-02-23 16:23:50 +00:00
Vincent Sanders
214478fc15 Improve some content documentation comments 2020-02-23 16:17:51 +00:00
Daniel Silverstone
a653e1e86e
utils: Add a generic hashmap and tests for it
In order to be able to use a generic hashmap in things such
as the fs_backing_store we want one to exist.  Here it is,
along with some moderately comprehensive tests.

Current limits:

1. All keys and values are owned by the hashmap
2. The hashmap, while capable of different bucket counts
   only has a single fixed count for now

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 15:13:47 +00:00
Michael Drake
f3b7a0c44c HTML Script: Check for success on intern of mimetype. 2020-02-23 14:28:27 +00:00
Daniel Silverstone
bc94555d9e
hotlist: Report if infallible destruction fails
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:37:42 +00:00
Daniel Silverstone
16163aab03
HTML: Ignore dom exceptions we don't care about
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:36:07 +00:00
Daniel Silverstone
b633bef7bf
Node: nodeValue setter should return value set into node
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:33:26 +00:00
Daniel Silverstone
1ecc36384d
browser_window: Propagate error code when handling errors
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:20:05 +00:00
Daniel Silverstone
bfd185ac49
dukky: Guard pointless work for deep debug
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-23 09:19:51 +00:00
Daniel Silverstone
614ca752f3
GTK: When we update the dimensions, resize the grid
By doing this, we ensure the scrollbars update their thumbs
properly, otherwise they can lag behind the page shape somewhat.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:41:17 +00:00
Daniel Silverstone
486aff5efc
GTK: Drain GTK events before schedule_run()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:01:27 +00:00
Daniel Silverstone
6321243bbd
GTK: Catch a couple of missed flag renames
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:01:27 +00:00
Michael Drake
727ff38647 Treeview: Constify clip rectangle. 2020-02-22 20:04:56 +00:00
Daniel Silverstone
e8e7485089
test: Increase window destroy timeout to 30s by default
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 17:51:07 +00:00
Daniel Silverstone
f9b80469e0
test: Extra info when windows don't destroy quickly
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 17:50:51 +00:00
Daniel Silverstone
98c1bd1b5c
GTK: Update preferences dialog to use GtkBox
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 17:26:33 +00:00
Michael Drake
f39ce1a262 Browser window: Constify the bw in the URL access function. 2020-02-22 16:37:37 +00:00
Michael Drake
194dfad4a5 Core window: Constify the core_window handle through the getters. 2020-02-22 16:37:37 +00:00
Daniel Silverstone
e87bc1bfda
GTK: Remove hack for url bar refresh on throbber stop
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 16:25:49 +00:00
Daniel Silverstone
277c1550f5
browser_window: Inform GUI about redirects and final URL
To correctly have the GUI know about all url bar updates, we
should inform it during the processing of redirects and we should
ensure that when we're in the ready-but-not-done phase we do not
use the fetch parameters but instead the content's known URL

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 16:24:36 +00:00
Daniel Silverstone
c9e5fa9bc1
GTK: Ensure that we don't frob the URL bar from the scaffold
To correctly refocus the location box on tab switching we
need to not update the url of the tab when the scaffold updates
its global context.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:47:17 +00:00
Daniel Silverstone
a016445a82
GTK: Add a location focus state machine
Because the initial navigation process on new browser window
creation is somewhat complex, we need a small state machine in
the GTK UI to ensure that we handle the correct combination
of focussing needed to maintain selection through initial tab
opening.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:33:17 +00:00
Daniel Silverstone
5239163f4d
GTK: Request and honour location focus
So that when we create a new tab we automatically focus the
location box, pass the flag into create, and honour it when it
comes back to us.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:12:22 +00:00
Daniel Silverstone
0fa5f81a52
Browser: Support requesting location focus
In the creation of a browser window it may be valuable to request
that the GUI focus the location input box.  This can be used when
the user requests a new tab/window to allow the entry box to be
focussed properly immediately.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:10:51 +00:00
Daniel Silverstone
5c377cd285
GTK: Use new BW_CREATE_FOREGROUND flags
This gets rid of temp_open_background which was, frankly, a bit
of an eyesore.  In addition it makes the open-in-new-tab context
menu action behave like Firefox's with respect to the user's preference
regarding whether or not to immediately focus new tabs.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 11:51:10 +00:00
Daniel Silverstone
f3bdee255d
Browser: Add FOREGROUND flag to window creation
To better support new-tab / new-window operations as well as
GUIs which want to allow tabs to open in the background by default,
add a flag to request a new browser window be foregrounded.  This
will allow us to simplify at least the GTK frontend a little.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 11:41:15 +00:00
Daniel Silverstone
d25fada8cf
gitignore: Ignore nsgtk2 properly
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 11:39:14 +00:00
Daniel Silverstone
bc1810ed61
JS: it's Infinity not infinity
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 19:37:54 +00:00
Daniel Silverstone
895134c35d
doc: Update UnimplementJavascript.md
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 18:41:25 +00:00
Daniel Silverstone
d0e775e901
JS: Add Element::attributes and NamedNodeMap to handle it
This is a *very* rudimentary implementation lacking most of the
functionality of NamedNodeMap but it's enough to get jQuery 1.12.4 up.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 18:40:35 +00:00
Daniel Silverstone
b23063bb52
JS Generics: Add a NodeMap proxy builder
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 18:40:16 +00:00
Daniel Silverstone
2325062ff1
Element: support innerHTML
To get us further along the JavaScript pathway, support the
getter and setter for innerHTML.  The getter always returns
an empty string for now, but the setter works.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 18:02:57 +00:00
Daniel Silverstone
310247ef82
test: Bring corestring test count up to date
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 16:19:35 +00:00
Daniel Silverstone
61fdb8fda6
JS: Add DOMImplementation::createHTMLDocument
This was the last major thing blocking basic jQuery support

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 16:19:00 +00:00
Daniel Silverstone
fa520638fa
HTML: Ignore LOADING status in html_proceed_to_done()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 14:26:33 +00:00
Daniel Silverstone
2f8868309a
HTML: Don't transition the content state machine if we do nothing
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 14:09:39 +00:00
Michael Drake
9232b8feda Docs: Don't mention removed minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
9a98f19611 Core: Remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00