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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
The async script completion process needs to complete the
content state machine so that browser throbbers eventually
stop once async scripts have fetched and run, even if that
happens *after* conversion finishes.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>