Vincent Sanders
2171f13ab3
enable gnu extensions to get strcasestr from string.h
2019-08-05 10:01:13 +01:00
Daniel Silverstone
b15b204f49
form: Fix situation where a gadget initialises with NULL value
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 22:12:10 +01:00
Daniel Silverstone
05c6ee02d9
html: Mirror gadget values in and out of the DOM
...
Currently only supporting text input, password input, and hidden
input, along with text areas, this mirrors the text values in
and out of the DOM, allowing JS to adjust the gadget values and
for the gadget values to be interrogated from JS.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 22:07:42 +01:00
Vincent Sanders
3be2b98cc2
change browser_window_drop_file_at_point() to take unscaled coordinates
2019-08-04 14:24:33 +01:00
Vincent Sanders
f21c41a2e5
change browser_window_redraw to use unscaled coordinates
2019-08-04 11:25:35 +01:00
Daniel Silverstone
1905200154
Add content handlers for queries
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Michael Drake
90fe920e07
Duktape element binding: Check dom_string_create for error.
2019-08-04 11:11:35 +01:00
Michael Drake
a0fbf56a1d
CSS hints: Change css_hint_advance to advance pointer by parameter.
2019-08-04 11:10:26 +01:00
Vincent Sanders
357e8a8ad2
remove unnecessary browser_window_redraw_rect interface
2019-08-03 21:58:21 +01:00
Vincent Sanders
d4c01894c2
change browser_window_get_features to use unscaled coordinates
2019-08-03 14:29:06 +01:00
Vincent Sanders
0ebfff259f
change browser_window_mouse_track to use unscaled coordinates
2019-08-03 14:29:05 +01:00
Vincent Sanders
0a8ed41a1a
change browser_window_mouse_click to use unscaled coordinates
...
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
2019-08-03 14:29:05 +01:00
Daniel Silverstone
182c4ddefe
box_construct: Check error return from dom_has_attribute
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 14:27:44 +01:00
Daniel Silverstone
1150cf684d
dukky: Remove unused dukky_safe_get()
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 15:08:46 +01:00
Daniel Silverstone
09cce349da
dukky: Clean up our stacktrace reporting
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 14:55:34 +01:00
Daniel Silverstone
0eb5aa68fb
Duktape: Hopefully silence issue with %lld
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 14:19:13 +01:00
Michael Drake
15a3c21232
Duktape: Make declaration match definition for memcmp and double_div.
2019-08-02 14:19:13 +01:00
Michael Drake
ee338c9b24
Duktape: Make declaration match definition for duk_refzero_check_fast()
2019-08-02 14:19:13 +01:00
Michael Drake
1c2a0021b3
Duktape: Make declarations match definitions for fastint-enabled functions.
2019-08-02 14:19:13 +01:00
Michael Drake
80116bfe9f
Duktape: Make declarations match definitions for duk_raw_read_xxx_be
2019-08-02 14:19:13 +01:00
Michael Drake
22a348fa31
Duktape: Make declarations match definitions for inline functions.
2019-08-02 14:19:13 +01:00
Michael Drake
f320725307
Duktape: Prevent clang static analysis.
2019-08-02 14:19:13 +01:00
Michael Drake
b4bbca89cd
Duktape: Update to 2.4.0 release.
2019-08-02 14:19:13 +01:00
Daniel Silverstone
095a0639d3
Document.bnd: Fix cookies getter and implement setter
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 12:23:45 +01:00
Daniel Silverstone
9742a8317f
Dukky: Add and utilise a jserrors category
...
Normal, and verbose logging will now also log all JS errors in order that we
stand a chance of debugging things more easily when testing.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 10:12:45 +01:00
Daniel Silverstone
609ee9b71c
Window: Provide a little more info on why not EXPOSE()ing some stuff
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 09:27:06 +01:00
Daniel Silverstone
ce7e6d91f5
Window: Restructure EXPOSE()d globals
...
By reference to the MDN and to Duktape's CLI, expose everything
we possibly can on the global object (Window).
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 09:17:12 +01:00
Daniel Silverstone
e85e2f7cdf
dukky.c: Correct typo (BUTTOM -> BUTTON)
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 21:57:36 +01:00
Daniel Silverstone
f365e75407
Dukky: Support console logging better
...
Add a polyfill for Array.from(), and fix the console formatter so that
it won't keep exploding. This should improve matters in the tests.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 21:40:54 +01:00
Daniel Silverstone
bb3e0e51f1
dukky: Attempt to make the fallback to HTMLUnknownElement more useful.
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 21:03:07 +01:00
Daniel Silverstone
acee5faa3f
html_interaction.c: Default node to <HTML> node
...
In order to cope when an entire document is `visibility: hidden`
we default to the <HTML> node when interacting with the document
to ensure we don't drop off the end of the box model without
identifying at least one node to fire events at.
This resolves #2658
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 13:56:42 +01:00
Daniel Silverstone
a325d6b474
Console.bnd: Support attempts to log when Window has gone
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:22:09 +01:00
Michael Drake
4b6967fee4
Layout: Apply min/max width to replaced elements when width is given.
2019-07-30 21:55:29 +01:00
Vincent Sanders
730d59776a
cleanup some javascript documentation comments
2019-07-12 13:40:26 +01:00
Vincent Sanders
90530c419e
when owning context is destroyed ensure that active js compartment is destroyed first
2019-07-12 13:37:04 +01:00
Vincent Sanders
c2fa6af0ff
make content close check the content status itself
...
make content handler open and close return error status
2019-07-10 16:42:52 +01:00
Vincent Sanders
1ae0ee21ee
add isFinite to global context
2019-07-01 23:26:11 +01:00
Daniel Silverstone
43f8e77df7
css/utils.c: Fix vw/vh handling in len2pt
...
We were using integer multiplication rather than fixed-point
multiplication when calculating point sizes relative to the viewport.
This fixes that.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-30 11:27:58 +01:00
Michael Drake
1c3ce67c62
HTML: Viewport width/height in length context are fixed point.
2019-06-29 21:59:15 +01:00
Vincent Sanders
dc9762fef3
revert 8265b8b66f
as ssize_t is not available everywhere
2019-06-25 08:49:29 +01:00
Daniel Silverstone
8265b8b66f
Duktape: Probably should use ssize_t
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-15 21:34:47 +01:00
Daniel Silverstone
84b8e7dfa1
Duktape: Hopefully silence issue with %lld
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-15 21:33:59 +01:00
Daniel Silverstone
e82107a296
Window.bnd: Suppress some unnecessary stack frame dumps
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-09 15:59:05 +01:00
Daniel Silverstone
c5c8a49276
Window.bnd: Expose isNan
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-09 15:20:01 +01:00
Daniel Silverstone
04cf2fe588
Window.bnd: Do not remove in-train callbacks
...
Sometimes callbacks may be cancelled from within themselves. In
that case we need to simply ensure that should the callback be
wanted to repeat, we instead stop that so that once the callback
is completed we do not attempt to reschedule something which had
already been deleted.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-09 11:04:15 +01:00
Vincent Sanders
dddc5eac94
Update schedulers return codes
...
The GTK and monkey frontends schedulers now return NSERROR_NOT_FOUND
when a caller is using a negative schedule time to remove a callback.
2019-06-08 13:33:16 +01:00
Daniel Silverstone
64ee8e1b00
html.c: Correct ordering for reformat time
...
Fix a minor bug where we'd likely never end up reformatting.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-05 22:59:49 +01:00
Daniel Silverstone
c07b2edd77
Document.bnd: createDocumentFragment() unref fragment
...
The pushed fragment node holds the reference, so unref it in
the end of createDocumentFragment()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-01 13:59:36 +01:00
Daniel Silverstone
9c32564085
html_script.c: html_script_exec() reqacquire script ptr
...
Since executing a script can cause more scripts to be appended
to the script array, and that can cause a reallocation which might
move the script array, reacquire the script pointer after running
the script so that we don't wander off into the reeds.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-01 13:25:14 +01:00
Vincent Sanders
a6de56583c
Improve javascript unimplemented bnding documentation generation
2019-05-31 19:40:10 +01:00
Daniel Silverstone
57094c84ed
Expose NaN on Window
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 20:11:52 +01:00
Daniel Silverstone
196c2fc845
Add dodgy window method to clear callbacks
...
Until we can determine *how* the compartment isn't cleaning
up properly in the duktape context, this will at least mean
we don't get unpleasant callback related issues when compartments
are reset during browsing.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 16:23:37 +01:00
Daniel Silverstone
87be4e7a17
Log when we finalise window objects
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 16:13:57 +01:00
Daniel Silverstone
c42039c546
Use generics for makeListProxy properly
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 16:13:57 +01:00
Daniel Silverstone
9ee92823e2
Use generics for makeListProxy properly
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 16:13:57 +01:00
Daniel Silverstone
78385629c3
Remove unnecessary generics magic
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-25 16:13:57 +01:00
Michael Drake
b330fd9f0e
HTML: Update selection media data for new libcss API.
2019-05-07 14:01:51 +01:00
Michael Drake
31655be43b
CSS: One inch is 96 css pixels.
2019-05-07 09:53:31 +01:00
Michael Drake
51feeadcf9
HTML: Set up the CSS length measuring context in CSS pixels.
2019-05-06 21:30:05 +01:00
Michael Drake
041e9426c1
CSS: Use helper to convert form css to physical pixels.
2019-05-06 21:25:54 +01:00
Michael Drake
ffc199d778
CSS: Add helpers to convert between css and physical pixels.
2019-05-06 21:22:55 +01:00
Michael Drake
7567f64075
CSS: Extern the nscss_baseline_pixel_density value.
...
Front ends should be able to set this, or it should
be a config option.
2019-05-06 21:21:44 +01:00
Michael Drake
e02020198d
Convert css_len2pt and css_len2px for CSS pixels.
2019-05-06 20:49:48 +01:00
Michael Drake
a43b83de03
HTML: Squash error-path leaks in select box construction.
2019-05-06 17:29:53 +01:00
Michael Drake
0db71994ea
HTML: Before building the box tree, get viewport dimensions.
2019-05-06 15:38:33 +01:00
Michael Drake
0f3b279167
HTML content handler: Handle content msg for getdims.
2019-05-06 15:38:33 +01:00
Daniel Silverstone
d77ed689e6
Quieten dukky a little more in default log levels
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 15:36:49 +01:00
Daniel Silverstone
52ef77ceef
Do not prevent reattempting conversion of HTML contents
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 15:10:01 +01:00
Daniel Silverstone
654e1ee12a
Use new safe context dump
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 15:09:47 +01:00
Daniel Silverstone
378383ea3b
Support context dump safely in duktape
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 15:09:39 +01:00
Daniel Silverstone
cdc7713662
Add some missing unrefs
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 12:20:04 +01:00
Vincent Sanders
dbf02c37f4
complete basic binding documentation
...
improve the alert() method parameter handling
2019-05-06 12:04:06 +01:00
Daniel Silverstone
10930fcbaf
Properly set log levels
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 10:17:00 +01:00
Vincent Sanders
35bc2ccbb8
change content get_source_data interfaces to return uint8_t and size_t
...
previously these interfaces returned char * and unsigned int which was
undesirable.
2019-05-05 22:50:25 +01:00
Daniel Silverstone
67da94a537
Use consoleFormatter in Console.bnd
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
846e811760
Generics: Add consoleFormatter
...
In order to support the console logging formatting specification
as per https://console.spec.whatwg.org/#logger we need to implement
the Formatter(...) algorithm which is easier done within JavaScript
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
8b4ec11b89
Dukky: Change from specifically named generics
...
Instead of specifically having to extract each generic by name,
such as makeListProxy, instead support the entire generics table
and use `dukky_push_generics()` to gain access to it.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
8474c5d4c0
Logging: migrate and provide content interface
...
Migrate the console enums into netsurf/console.h and add
support so that contents can raise a message to log to
the console.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
3ba50e8574
Force a GC to ensure old compartment goes away
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 18:51:41 +01:00
Daniel Silverstone
ac512958ff
Ensure we clear the cbt entry after finishing a non-recurring callback
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 18:51:25 +01:00
Vincent Sanders
e27df0c0b8
make missing xxd command fail the build correctly
2019-05-05 16:07:27 +01:00
Daniel Silverstone
3021142aad
Support content_exec for content_html
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 16:00:03 +01:00
Daniel Silverstone
9a3b644bf0
Replace zd with PRIsizet to appease Windows
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 14:55:08 +01:00
Daniel Silverstone
4394dbd9d4
Add missing semi-colon. Sorry
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 23:15:13 +01:00
Vincent Sanders
d566debc48
change back to unsigned long to avoid warning on gnueabihf platforms
2019-05-04 23:11:14 +01:00
Daniel Silverstone
6dfc0f1486
Support nodelist indexing
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 23:06:20 +01:00
Vincent Sanders
38a65c0242
add some comments to window location binding
2019-05-04 22:48:50 +01:00
Daniel Silverstone
274b4a2d2e
Support Document::createDocumentFragment
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 21:56:07 +01:00
Daniel Silverstone
2f1526653f
Expose Number and Error on Window
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 21:55:54 +01:00
Daniel Silverstone
85a4792280
Add createElementNS
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 17:57:45 +01:00
Daniel Silverstone
ed829a4772
JS: Attribute external JS to the URI it came from in backtraces
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 17:32:17 +01:00
Daniel Silverstone
8009444918
Expose encodeURI{,Component}
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 17:31:46 +01:00
Daniel Silverstone
83f24af275
Restore newlines for unimplemented javascript in doxygen
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 17:03:46 +01:00
Daniel Silverstone
9769e8f2c0
Clean up async/defer JS contents during parent finalisation
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 16:42:47 +01:00
Daniel Silverstone
36d83668c2
Support Window as an event target for dukky
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 15:49:21 +01:00
Daniel Silverstone
e4f57437f6
Unref body when finished getting event handler
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 15:01:15 +01:00
Daniel Silverstone
99809ee646
Better dukky debug for node creation
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 15:01:15 +01:00
Michael Drake
a03b4a3c14
CSS: Update for change to libcss append sheet API.
...
When appending stylesheets to the selection context, it now
takes the media query string associated with the sheet, rather
than the type bitfield.
TODO:
We need to pass all the sheets in, with their full media
query string, rather than filtering it ourselves and setting
the ones we pass in to "screen".
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
2019-05-04 14:51:42 +01:00
Michael Drake
920d6fa23d
CSS: Update for change to libcss select style API.
...
LibCSS now takes the client media spec, rather than just the
media type we're selecting for.
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
2019-05-04 14:51:42 +01:00
Michael Drake
637b4e5fc0
CSS: Update for change to libcss imported sheet API.
...
The media is not exposed and sent back into libcss now.
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
2019-05-04 14:51:42 +01:00
Daniel Silverstone
19b45fb494
Support script insertion after conversion has begun
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 12:18:21 +01:00
Daniel Silverstone
90cabaf8c8
Add auto-generated getters and setters for HTMLFrameSetElement events
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 14:30:10 +01:00
Daniel Silverstone
ed9894d750
Add auto-generated getters/setters on body element
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 14:26:12 +01:00
Daniel Silverstone
dd02849df0
Add global handlers to Window
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 13:45:24 +01:00
Daniel Silverstone
b2e4c2ec58
UnimplementedJavascript.txt: Remove spurious newlines
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 13:39:07 +01:00
Daniel Silverstone
4f9a373960
Support Document::createEvent()
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 13:32:23 +01:00
Daniel Silverstone
2739a47d83
Event: Implement initEvent() and getter isTrusted
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 12:20:10 +01:00
Daniel Silverstone
177a047752
Update UnimplementedJavascript with the window functions now implemented
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 11:54:38 +01:00
Daniel Silverstone
c17e588b66
Javascript: Support setTimeout and friends
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 11:33:07 +01:00
Daniel Silverstone
519f029420
dukky: Clean up the logging levels a little
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-02 21:18:30 +01:00
Michael Forney
6455a2ea83
SVG content handler: Fix plot style stroke_width
...
In 8332bf6b2a
, when the stroke width was moved from a parameter to
the plot style field, it accidentally used the `stroke` field of
the svgtiny shape (the color) instead of `stroke_width`.
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
2019-03-05 11:17:07 +00:00
Vincent Sanders
826474a1a3
use memcpy instead of strcpy to make the dom string copy intention explicit
2019-03-04 17:32:41 +00:00
Vincent Sanders
61891ada50
validate the form button element type attribute as per spec
...
https://html.spec.whatwg.org/multipage/form-elements.html#attr-button-type
says if the type attribute is anything but "reset" or "button" it
is of "submit" type. The previous logic was incorrect and only used
the button if its type was explicitly submit and noting else.
2019-02-22 21:11:34 +00:00
Vincent Sanders
070c74b648
add webp image handler
2019-02-17 12:09:17 +00:00
Vincent Sanders
6185b254ca
improve some comments
2019-02-17 12:08:23 +00:00
Vincent Sanders
09bbb4571b
tidy up bmp and ico makefile entries to be one per line
2019-02-17 12:07:06 +00:00
Daniel Silverstone
d4d57bc0ed
DUKKY: Remove LOG/JS_LOG macros, update to dukky category
...
Update the logging levels, change to NSLOG across the board,
and ensure that we use the `dukky` category now added for us.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-02-17 11:33:37 +00:00
Daniel Silverstone
41eed8eeaf
Use NSLOG rather than LOG/JS_LOG
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-02-17 11:33:28 +00:00
Michael Drake
e1a3e0427f
HTML handler: Reformat passing viewport height when triggered by object.
...
Previously we correctly used the viewport width, but we were using the
document height instead of viewport height when an HTML child content
triggered a reformat of the parent HTML document.
2019-02-17 09:06:58 +00:00
Michael Drake
776b0242a6
Layout: Add debug logging to show viewport dimensions passed into layout.
...
Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
2019-02-17 09:06:58 +00:00
Michael Drake
0a3a40c23e
Box construction: Don't handle IMAGE specially.
2018-12-13 12:31:38 +00:00
Vincent Sanders
5b235b5195
fix logging level in duktape binding
2018-11-06 21:54:03 +00:00
Daniel Silverstone
44082f9988
Slightly nicer handling of js_exec() and errors
2018-11-04 09:56:41 +00:00
Vincent Sanders
e275b3175b
check dom call return and improve handling of missing form type
2018-10-09 17:00:22 +01:00
Vincent Sanders
7a61c95724
rewrite form_successful_controls_dom as form_dom_to_data
...
Trying to reason about error propagation and resource leakage within
the form submission code was impossible because of the
form_successful_controls_dom function.
This function was over six hundred lines long, had twenty six top
level local variables and six levels of indent in places.
This commit splits it out into thirteen shorter and more obvious
functions. The resulting operation is identical except errors are
properly propagated (all failures were reported as out of memory)
and resource management can be reasoned about.
The compiler appears to inline the entirety of the code from
form_submit() down excepting a handful of leaf functions. This
results in similar code output size as previous implementation.
The new implementation has a greater number of variables passed to sub
functions than desirable because multiple character sets are required
to encode names and values in the multipart data list. However as
noted the compiler effectively inlines all these functions so this
does not actually become a major problem.
2018-09-29 16:59:34 +01:00
Vincent Sanders
a268252629
gcc on openbsd is unable to reason about res variable usage and generates bogus warning
2018-09-26 21:32:35 +01:00
Vincent Sanders
5c96acd6f1
fix url encoding to be compatible with nsurl API changes.
...
As part of this fix the form submission error handling and
reporting has been improved.
2018-09-26 17:21:48 +01:00
Vincent Sanders
e4537cb37e
allow comments to supress implicit fallthrough warnings
2018-09-07 12:53:51 +01:00
Michael Drake
9d8f37ca10
HTML: Don't try to finish an HTML document's conversion twice.
2018-08-27 20:47:37 +01:00
Vincent Sanders
eee67a65e8
remove warning by replacing sprintf snprintf
2018-08-24 11:49:56 +01:00
Vincent Sanders
5dd5d5da4b
remove warning by replacing strcpy with safer strncpy
2018-08-24 10:26:26 +01:00
Vincent Sanders
5f1defd4a7
fix size_t format specifiers
2018-08-18 23:44:15 +01:00
Michael Drake
9fa6c1e0fb
Text handling: Display application/json, rather than offering download.
2018-08-14 16:15:12 +01:00
Michael Drake
0601b7dbec
Duktape: Make declaration match definition for memcmp and double_div.
2018-08-10 12:30:48 +01:00
Michael Drake
80e8c74a69
Duktape: Make declaration match definition for duk_refzero_check_fast()
2018-08-10 11:30:17 +01:00
Michael Drake
ad0a75af8f
Duktape: Make declarations match definitions for fastint-enabled functions.
2018-08-10 11:29:39 +01:00
Michael Drake
e5f2ea9d7a
Duktape: Make declarations match definitions for duk_raw_read_xxx_be
2018-08-10 11:28:27 +01:00
Michael Drake
c986c212bf
Duktape: Make declarations match definitions for inline functions.
2018-08-10 11:27:56 +01:00
Michael Drake
f5f2ebb37a
Duktape: Prevent clang static analysis.
2018-08-10 11:12:20 +01:00
Michael Drake
ae126cfdd5
Duktape: Update to version 2.3.0 release.
2018-08-10 11:11:08 +01:00
Michael Drake
09b015bf11
Browser: Rename function to access bw URL.
2018-07-23 10:47:26 +01:00
Michael Drake
62e3ee6c7e
Layout: Use box helper for first child checks.
2018-06-29 15:03:47 +01:00
Michael Drake
049695fa07
Box: Add helper to check if box is first child.
2018-06-29 15:03:10 +01:00
Michael Drake
948207472a
Layout: Tidy condition so it can be read.
2018-06-29 14:58:32 +01:00
Michael Drake
8a931f01b9
Plotters: Expose array of font family strings to front ends.
2018-05-23 14:02:53 +01:00
Michael Drake
8332bf6b2a
Plotters: Remove width param from path plotter.
...
We now use the stroke_width in the plot_style.
2018-05-23 13:48:17 +01:00
Michael Drake
66493421e6
Plotters: Change stroke width in the plot_style_t to fixed point.
2018-05-23 13:04:19 +01:00
Michael Drake
a58d97a41a
Plotters: Add plot_style_fixed type, and use for font size.
2018-05-23 11:48:35 +01:00
Vincent Sanders
216fb88f58
clean up html content handler header use
...
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049
move html and text content handlers where they belong
2018-05-10 13:37:02 +01:00