Commit Graph

14217 Commits

Author SHA1 Message Date
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
Michael Drake
cbaf33e02d Windows: Attempt to remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
62a32a2a8a Atari: Attempt to remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
bcf82925a3 GTK: Remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
d1e8c84ea6 Amiga: Try removing unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
38c632a7da RISC OS: Remove unused minimum gif delay from Choices.
The templates might need work to remove empty space.
2020-02-21 11:45:20 +00:00
Daniel Silverstone
db370bfdb7
HTML: Complete content state machine after async script
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>
2020-02-21 10:48:00 +00:00
Michael Drake
4ef5c6cdb4 README: Add markdown extension. 2020-02-21 09:33:08 +00:00
Michael Drake
12af8617f8 README: Convert to markdown. 2020-02-21 09:31:47 +00:00
Daniel Silverstone
4ba326d71d
GTK3: Also enable focus for other core windows.
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>
2020-02-21 09:01:35 +00:00
Daniel Silverstone
525118cff0
GTK3: Permit Local History to be focussed
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>
2020-02-21 08:57:12 +00:00
Vincent Sanders
8ad68d0232 remove sputious "the" in quick start instructions 2020-01-26 15:52:27 +00:00
s.hawamdeh
b824b43d37 Updated italian translations 2020-01-21 21:36:09 +00:00
Vincent Sanders
c543e3c61c update quick build instructions to include notes on env script 2020-01-21 20:55:34 +00:00