Commit Graph

305 Commits

Author SHA1 Message Date
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
Michael Drake
6e0e3ea81f Duktape: Squash armhf warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14609:25: warning: cast increases required alignment of target type [-Wcast-align]
    duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
                         ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32423:20: warning: cast increases required alignment of target type [-Wcast-align]
    h_boundtarget = (duk_hboundfunc *) h_target;
                    ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46072:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47889:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49866:23: warning: cast increases required alignment of target type [-Wcast-align]
   duk_hboundfunc *f = (duk_hboundfunc *) h;
                       ^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61533:14: warning: cast increases required alignment of target type [-Wcast-align]
    h_bound = (duk_hboundfunc *) func;
              ^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78165:24: warning: cast increases required alignment of target type [-Wcast-align]
   duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
                        ^
2018-05-08 12:21:41 +01:00
Michael Drake
8319ead530 Duktape: Squash -Wcast-align warnings on armhf. 2018-05-05 21:19:36 +01:00
Michael Drake
0ee536b083 Duktape: Make declarations match definitions for inline functions. 2018-05-04 16:54:36 +01:00
Michael Drake
dcb12cab51 Duktape: Make declarations match definitions for fastint-enabled functions. 2018-05-04 16:54:33 +01:00
Michael Drake
4bf20cc693 Duktape: Make declaration match definition for duk_refzero_check_fast() 2018-05-04 16:54:30 +01:00
Michael Drake
f6073cd699 Duktape: Make declarations match definitions for duk_raw_read_xxx_be 2018-05-04 16:54:27 +01:00
Michael Drake
af8bde6214 Duktape: Prevent clang static analysis. 2018-05-04 16:54:23 +01:00
Michael Drake
b16b525cd3 Duktape: Update to 2.2.1 release. 2018-05-04 16:50:55 +01:00
Vincent Sanders
f3eb366679 Fix dependency declaration for dukky.c 2018-04-21 11:54:09 +01:00
John-Mark Bell
fe45bc1dbe JPEG: handle CMYK/YCCK images
No real colourspace conversion here, so expect oversaturated images

Fixes #2570.
2018-01-20 17:58:42 +00:00
John-Mark Bell
328a29d22f RSVG: fix colour conversion 2018-01-20 15:33:05 +00:00
Michael Drake
6be6fa1b21 CSS utils: Handle new units in length conversion routines.
This causes a ripple effect of all the callsites needing
information they didn't have.
2018-01-05 13:49:51 +00:00
Michael Drake
5776d3448c CSS computed style composition: Update for new CSS units.
Since the nscss_compute_font_size callback now needs to convert
new units to absolute values, and some of these units require info
from the root element's style, there are knock-on changes to ensure
that the required info is available where its needed.
2018-01-05 13:49:51 +00:00
Michael Drake
d1c656b55f CSS: Add new libcss unit types to computed style dump. 2018-01-02 15:38:35 +00:00
Michael Drake
046977507b Duktape: Squash -Wcast-align warnings on armhf. 2017-11-02 16:34:59 +00:00
Michael Drake
8f73414c06 Revert "Duktape: Attempt to squash aarch64 cast increases required alignment warnings."
This reverts commit 8cc3adee5a.

These warnings don't show up with the CI updated to Debian Stretch.
2017-11-01 16:02:20 +00:00
Michael Drake
8cc3adee5a Duktape: Attempt to squash aarch64 cast increases required alignment warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14585:25: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32399:20: error: cast increases required alignment of target type [-Werror=cast-align]
h_boundtarget = (duk_hboundfunc *) h_target;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46048:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47865:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49842:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61509:14: error: cast increases required alignment of target type [-Werror=cast-align]
h_bound = (duk_hboundfunc *) func;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78117:24: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
^
2017-10-30 16:50:38 +00:00
Michael Drake
448228a30c Duktape: Use align-by-8 on all platforms by default
This reproduces upstream commit de7ae8a2ecc597e1c2024c15dbeae4d28c9f2a2c.

*   de7ae8a2ec

It was applied to master after the release of Duktape 2.2.0.  See also:

*   https://github.com/svaarala/duktape/issues/1783
*   https://github.com/svaarala/duktape/issues/812#issuecomment-337058737
2017-10-29 15:17:06 +00:00
Michael Drake
0687687c37 Duktape: Revert alignment of struct duk_hobject. 2017-10-29 15:16:21 +00:00
Michael Drake
ea7da966de Duktape: Another attempt to squash aarch64 increases required alignment warnings. 2017-10-29 14:50:10 +00:00
Michael Drake
6619be2b72 Duktape: Attempt to squash aarch64 cast increases required alignment warnings.
content/handlers/javascript/duktape/duktape.c: In function 'duk_resolve_nonbound_function':
content/handlers/javascript/duktape/duktape.c:14585:25: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) h)->target);
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_bi_function_prototype_bind':
content/handlers/javascript/duktape/duktape.c:32399:20: error: cast increases required alignment of target type [-Werror=cast-align]
h_boundtarget = (duk_hboundfunc *) h_target;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_free_hobject':
content/handlers/javascript/duktape/duktape.c:46048:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__mark_hobject':
content/handlers/javascript/duktape/duktape.c:47865:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_hobject_refcount_finalize_norz':
content/handlers/javascript/duktape/duktape.c:49842:23: error: cast increases required alignment of target type [-Werror=cast-align]
duk_hboundfunc *f = (duk_hboundfunc *) h;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk__handle_bound_chain_for_call':
content/handlers/javascript/duktape/duktape.c:61509:14: error: cast increases required alignment of target type [-Werror=cast-align]
h_bound = (duk_hboundfunc *) func;
^
content/handlers/javascript/duktape/duktape.c: In function 'duk_js_instanceof':
content/handlers/javascript/duktape/duktape.c:78117:24: error: cast increases required alignment of target type [-Werror=cast-align]
duk_push_tval(thr, &((duk_hboundfunc *) func)->target);
^
2017-10-29 14:02:10 +00:00
Michael Drake
a47edd3733 Duktape: Make declarations match definitions for inline functions. 2017-10-21 16:33:03 +01:00
Michael Drake
8e7fc8e2ac Duktape: Make declarations match definitions for fastint-enabled functions.
Restore ff20edbfbe for 2.2.0 import.
2017-10-21 16:23:16 +01:00
Michael Drake
0759139c61 Duktape: Make declaration match definition for duk_refzero_check_fast()
Restore 9a8577fead for 2.2.0 import.
2017-10-21 16:21:48 +01:00
Michael Drake
0a7f62ceb0 Duktape: Make declarations match definitions for duk_raw_read_xxx_be
Restore 6d63f7959a for 2.2.0 import.
2017-10-21 16:20:33 +01:00
Michael Drake
6f33e48ca3 Duktape: Prevent clang static analysis.
Restore 336326af3a for 2.2.0 import.
2017-10-21 15:54:33 +01:00
Michael Drake
3356906904 Duktape: Update to 2.2.0 release. 2017-10-21 15:51:55 +01:00
Michael Drake
f7f18042bf CSS: Wrappers for computed style getters that return unsupported values.
We don't yet handle the Flexbox-related values for certain properties.
2017-10-20 17:46:37 +01:00
Michael Drake
f64a22c228 CSS hints: Ensure length and unit are initialised for vertical-align. 2017-10-13 10:28:42 +01:00
Vincent Sanders
b9bdc8d312 fix image cache format specifiers signedness 2017-09-11 17:29:57 +01:00
Vincent Sanders
63f5ba6f62 update bindings with logging changes 2017-09-06 18:45:35 +01:00
Vincent Sanders
75018632a9 Use coccinelle to change logging macro calls in c files
for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done

@@ expression E; @@
-LOG(E);
+NSLOG(netsurf, INFO, E);
@@ expression E, E1; @@
-LOG(E, E1);
+NSLOG(netsurf, INFO, E, E1);
@@ expression E, E1, E2; @@
-LOG(E, E1, E2);
+NSLOG(netsurf, INFO, E, E1, E2);
@@ expression E, E1, E2, E3; @@
-LOG(E, E1, E2, E3);
+NSLOG(netsurf, INFO, E, E1, E2, E3);
@@ expression E, E1, E2, E3, E4; @@
-LOG(E, E1, E2, E3, E4);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4);
@@ expression E, E1, E2, E3, E4, E5; @@
-LOG(E, E1, E2, E3, E4, E5);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5);
@@ expression E, E1, E2, E3, E4, E5, E6; @@
-LOG(E, E1, E2, E3, E4, E5, E6);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6);
@@ expression E, E1, E2, E3, E4, E5, E6, E7; @@
-LOG(E, E1, E2, E3, E4, E5, E6, E7);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
2017-09-06 18:45:27 +01:00
Vincent Sanders
8d9b2efc11 use nslog library for logging if available. 2017-09-03 23:40:32 +01:00
Michael Drake
c2ac1a713f Errorcodes: Add SPRITE_ERROR and use it in sprite content handler. 2017-08-30 09:43:13 +01:00
Michael Drake
1670dc33af Sprite content handler: Ensure we broadcast error on librosprite error. 2017-08-29 11:57:34 +01:00
Michael Drake
a9d18a8efd Sprite content handler: Fix leaked rosprite_mem_context on rosprite_load error. 2017-08-29 11:55:46 +01:00
Michael Drake
ba0283f526 RSVG content handler: Remove unused assignement. 2017-08-28 12:16:24 +01:00