Daniel Silverstone
804faacf82
html: Handle canvas width/height stated explicitly in px
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 20:26:51 +01:00
Daniel Silverstone
4d89108072
html: Don't both building a bitmap if we're not rendering it
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:03:48 +01:00
Daniel Silverstone
334b498d5c
html: Handle canvas in redraw
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:00:46 +01:00
Daniel Silverstone
937894d654
html: set up canvas box properly
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 16:00:20 +01:00
Daniel Silverstone
b39f418bca
html: Add canvas node handling in dom_event
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 15:59:47 +01:00
Michael Drake
c2f73310d0
Squash warning: "_GNU_SOURCE" redefined.
...
The utils/config.h header handles this.
2020-05-22 10:30:05 +01:00
Vincent Sanders
4cef0f955c
pass the browser window to selection click handler
...
this means the content handlers do not have to provide a separate
method to extract their browser window and it can simply be
passed in.
2020-05-20 23:17:48 +01:00
Vincent Sanders
f4e50b45c8
make free text search content handler agnostic
2020-05-12 23:22:05 +01:00
Vincent Sanders
3c7538a9f9
hoist common text search out of content handlers
2020-05-12 21:09:41 +01:00
Vincent Sanders
a8596a80ae
move free text search general interface to content.
...
needs additional cleanup to call content through handler table to
perform searches.
2020-05-10 23:22:29 +01:00
Vincent Sanders
ab952e0634
improve content header usage
2020-05-07 20:55:44 +01:00
Vincent Sanders
5f8b1497e1
clean up content headers and documentation comments
...
pure formatting and documentation changes, no code difference
2020-05-06 23:38:50 +01:00
Vincent Sanders
c2f9bcac19
remove junk content_add_error api
2020-05-06 22:54:52 +01:00
Vincent Sanders
d9a593c984
split dom event handling into separate module
2020-05-05 20:05:37 +01:00
Vincent Sanders
1d8542166c
Clean up html content dom element insertion processing
2020-05-05 11:14:26 +01:00
Vincent Sanders
82559d2ff4
remove the forward references in html form internal handling
2020-05-03 21:56:51 +01:00
Vincent Sanders
2a0f552524
remove forward delcarations and clean up formatting in html table layout processing
2020-05-03 19:02:47 +01:00
Vincent Sanders
a40727cd29
Improve hsndling of html content objects with no associated box
2020-05-03 17:00:04 +01:00
Vincent Sanders
fcd8d50359
remove unecessary include
2020-05-03 10:06:43 +01:00
Vincent Sanders
a706c69bf4
improve html content handler private headers
2020-05-02 20:47:53 +01:00
Vincent Sanders
19cd5cb3b3
add missing include
2020-05-01 21:36:50 +01:00
Vincent Sanders
986d4d5f82
put html content handler object interface into its own header
2020-05-01 21:25:23 +01:00
Vincent Sanders
479d0cb29a
remove unused available width and height parameters from html_fecth_object()
2020-04-30 22:16:41 +01:00
Vincent Sanders
6b6bbad2b7
remove unecessary filename prefixes in the html content handler
2020-04-30 21:59:21 +01:00
Vincent Sanders
e8d0ba15ad
split html box processing code
...
reduce the module size of the html box handling code by
splitting into smaller sections.
No functional code change.
2020-04-29 20:37:42 +01:00
Vincent Sanders
a64261c3bd
Initial special canvas handling to not show fallback
2020-04-28 23:35:00 +01:00
Vincent Sanders
c0ef8ce645
clean up html box, no functionality change just cosmetic
...
split up the html box headers
tidy up the documentation comments
avoid forward declarations in normalisation implementation
2020-04-28 23:30:20 +01:00
Vincent Sanders
f6883d6761
use dom type interface instead of strcasecmp
2020-04-26 17:31:15 +01:00
Vincent Sanders
b577de7c5b
remove forward declarations
...
reorder module to remove need for forward function declarations.
remove unecessary and confusing parameter macros
2020-04-26 11:21:02 +01:00
Vincent Sanders
084861a31b
Implement javascript scheme url script https://wiki.whatwg.org/wiki/URL_schemes
2020-04-17 22:43:44 +01:00
Vincent Sanders
e2f34232a2
refactor html mouse action
...
This reduces the source complexity of the html_mouse_action()
previously this was a single function of several thousand
lines with over 30 local variables allocated on the stack.
Variables are now mostly held in a single static structure which
drasticaly reduces the size of stack frame required and improves
lookup locality.
The generated code does cause two additional function calls as the
compiler avoids inlining the sub functions. The optimiser seems to
produce somewhat better code within the sub functions.
In the final analysis there appears to be no significant performance
loss or gain with this change, just more readable source.
2020-04-13 12:09:07 +01:00
Daniel Silverstone
cbc28d2c98
html: Also close js thread on html_stop()
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-29 14:31:42 +01:00
Daniel Silverstone
6a2ce2b3c7
HTML: Use new js_closethread()
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-22 10:18:30 +00:00
Daniel Silverstone
efbfaa0cb1
JS: Move ownership of jsthread from browser to htmlc
...
Since it makes more sense for the htmlc to be responsible for
when the JS thread gets destroyed, move its lifetime from the
responsibility of the browser window to the html content.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-22 10:00:29 +00:00
Daniel Silverstone
17b28e85c1
JS: Split concept of JS context into heap and thread
...
In preparation for proper splitting of Javascript support into
heaps and threads, this renames the types and corrects the no-js
builds to still work. At this time no substantive change in
semantics exists, and the duktape build won't work.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-21 18:30:41 +00:00
Michael Drake
f3b7a0c44c
HTML Script: Check for success on intern of mimetype.
2020-02-23 14:28:27 +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
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
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
Vincent Sanders
55ba27c68f
re-order config include so strcasecmp is correctly detected on RISC OS/win32
2019-12-22 11:11:04 +00:00
Daniel Silverstone
eba05b0d38
html_script: Count sync scripts to prevent unpausing early
...
If there is more than one incomplete sync script then it's
important that we don't unpause hubbub too early. This commit
adds a counter so that if there're unfinished sync scripts in
the set, we don't unpause until the last one completes.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-12-19 20:50:33 +00:00
Michael Drake
faf667ada7
HTML: box_consturction: cleanup name dom_string in box_object.
2019-12-10 19:26:12 +00:00
Michael Drake
4c4b57d511
HTML redraw: Never draw box scrollbars for textareas.
...
The scrollbars for textareas are rendered by the widget.
This stops us from putting broken scrollbars over the top of the
textarea's own scrollbars.
2019-12-09 14:33:53 +00:00
Michael Drake
eb88c92749
html: css fetcher: Fix passing LWC borrow to fetcher_add, which consumes.
...
Fixes abort on exit when corestring finalisation tried to unref
what should have been the final ref:
$ ./nsgtk3
corrupted double-linked list
Aborted (core dumped)
2019-12-02 10:58:36 +00:00
Michael Drake
65e5512160
html: Fire DOM KeyboardEvents on keypresses.
2019-12-01 21:25:46 +00:00
Michael Drake
7e6723e27a
html: Add function for issuing a keypress event.
2019-12-01 21:25:46 +00:00
Michael Drake
a2190f91c9
html: Split out helper for firing DOM events and swallowing errors.
2019-12-01 21:25:46 +00:00
Michael Drake
12fd5ddd69
HTML: Rename fire_dom_event to fire_generic_dom_event.
2019-12-01 21:25:46 +00:00
Daniel Silverstone
715586bb65
html_saw_insecure_objects: Don't infinite loop on objects
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-12-01 17:05:28 +00:00