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>
This should enable keyboard support for the other core windows
such as cookies, global history and the hotlist.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
In order to let keypresses operate the local history window on
GTK3 we have to permit the drawing area to get focus so that
the keypresses actually make their way into the event loop in
the correct place.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Fix what looks like a typo but was in fact a use of a personal
wrapper around addr2line, to simply use addr2line.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
To improve debugging, decode backtraces discovered during
runs with monkey-see-monkey-do
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
In order that we can process stderr in monkey-see-monkey-do
we need to capture it in the farmer and re-echo it through
Python's stderr object
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
instead of exploding if monkey returns a bad unicode string instead
a warning will be reported and the unicode decode performed with
character replacemnt instead