summaryrefslogtreecommitdiff
path: root/content/handlers/html
Commit message (Collapse)AuthorAgeFilesLines
* Box Conversion: Cancel conversion during html_destroyDaniel Silverstone2019-08-234-3/+38
| | | | | | | | If dom_to_box is still in progress when we destroy an HTML content, we need to cancel the conversion otherwise we will end up with a scheduled callback into infinity. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* HTML: Don't allow objects to redraw until we have a layout.Michael Drake2019-08-063-0/+12
|
* html_begin_conversion: If we pause in completing parse, try again later.Daniel Silverstone2019-08-051-0/+7
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* HTML: Box coordinates: Take fast route to float container.Michael Drake2019-08-051-4/+4
| | | | And assert that floats have a float_container.
* Excise the llcache query pathway.Daniel Silverstone2019-08-053-50/+0
| | | | | | | | In further preparation for the auth and cert queries being handled as special contents from `about:` this excises the query pathway from the llcache pretty much entirely. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* content: Rename content_broadcast_errorcode()Daniel Silverstone2019-08-053-31/+36
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Content messages: Remove ERRORCODE, rework ERRORDaniel Silverstone2019-08-053-18/+6
| | | | | | | This reworks CONTENT_MSG_ERROR to be structured data and removes the CONTENT_MSG_ERRORCODE message kind. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* enable gnu extensions to get strcasestr from string.hVincent Sanders2019-08-051-0/+2
|
* form: Fix situation where a gadget initialises with NULL valueDaniel Silverstone2019-08-041-2/+6
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html: Mirror gadget values in and out of the DOMDaniel Silverstone2019-08-046-1/+169
| | | | | | | | | 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>
* change browser_window_drop_file_at_point() to take unscaled coordinatesVincent Sanders2019-08-041-18/+26
|
* change browser_window_redraw to use unscaled coordinatesVincent Sanders2019-08-041-2/+2
|
* Add content handlers for queriesDaniel Silverstone2019-08-043-0/+50
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* remove unnecessary browser_window_redraw_rect interfaceVincent Sanders2019-08-031-2/+4
|
* change browser_window_get_features to use unscaled coordinatesVincent Sanders2019-08-031-4/+11
|
* change browser_window_mouse_track to use unscaled coordinatesVincent Sanders2019-08-031-3/+2
|
* change browser_window_mouse_click to use unscaled coordinatesVincent Sanders2019-08-031-5/+5
| | | | | this means frontends no longer need to scale mouse click events thus simplifying their implementation.
* box_construct: Check error return from dom_has_attributeDaniel Silverstone2019-08-031-3/+11
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_interaction.c: Default node to <HTML> nodeDaniel Silverstone2019-08-011-1/+1
| | | | | | | | | | | 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>
* Layout: Apply min/max width to replaced elements when width is given.Michael Drake2019-07-301-0/+5
|
* make content close check the content status itselfVincent Sanders2019-07-101-2/+6
| | | | make content handler open and close return error status
* HTML: Viewport width/height in length context are fixed point.Michael Drake2019-06-291-2/+2
|
* html.c: Correct ordering for reformat timeDaniel Silverstone2019-06-051-1/+1
| | | | | | Fix a minor bug where we'd likely never end up reformatting. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* html_script.c: html_script_exec() reqacquire script ptrDaniel Silverstone2019-06-011-0/+5
| | | | | | | | | 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>
* HTML: Update selection media data for new libcss API.Michael Drake2019-05-071-4/+7
|
* HTML: Set up the CSS length measuring context in CSS pixels.Michael Drake2019-05-061-2/+2
|
* HTML: Squash error-path leaks in select box construction.Michael Drake2019-05-061-0/+2
|
* HTML: Before building the box tree, get viewport dimensions.Michael Drake2019-05-061-0/+21
|
* HTML content handler: Handle content msg for getdims.Michael Drake2019-05-061-0/+7
|
* Do not prevent reattempting conversion of HTML contentsDaniel Silverstone2019-05-061-8/+0
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* change content get_source_data interfaces to return uint8_t and size_tVincent Sanders2019-05-052-9/+9
| | | | | previously these interfaces returned char * and unsigned int which was undesirable.
* Logging: migrate and provide content interfaceDaniel Silverstone2019-05-051-1/+1
| | | | | | | | 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>
* Support content_exec for content_htmlDaniel Silverstone2019-05-051-0/+85
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* change back to unsigned long to avoid warning on gnueabihf platformsVincent Sanders2019-05-041-1/+1
|
* JS: Attribute external JS to the URI it came from in backtracesDaniel Silverstone2019-05-041-5/+8
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Clean up async/defer JS contents during parent finalisationDaniel Silverstone2019-05-041-10/+15
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* CSS: Update for change to libcss append sheet API.Michael Drake2019-05-041-1/+7
| | | | | | | | | | | | | | 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>
* CSS: Update for change to libcss select style API.Michael Drake2019-05-043-1/+4
| | | | | | | 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>
* Support script insertion after conversion has begunDaniel Silverstone2019-05-043-13/+135
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* use memcpy instead of strcpy to make the dom string copy intention explicitVincent Sanders2019-03-041-4/+4
|
* validate the form button element type attribute as per specVincent Sanders2019-02-221-4/+16
| | | | | | | 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.
* HTML handler: Reformat passing viewport height when triggered by object.Michael Drake2019-02-171-3/+3
| | | | | | 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.
* Layout: Add debug logging to show viewport dimensions passed into layout.Michael Drake2019-02-171-0/+4
| | | | Signed-off-by: Michael Drake <michael.drake@codethink.co.uk>
* Box construction: Don't handle IMAGE specially.Michael Drake2018-12-131-1/+0
|
* check dom call return and improve handling of missing form typeVincent Sanders2018-10-091-22/+30
|
* rewrite form_successful_controls_dom as form_dom_to_dataVincent Sanders2018-09-291-556/+883
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* gcc on openbsd is unable to reason about res variable usage and generates ↵Vincent Sanders2018-09-261-1/+1
| | | | bogus warning
* fix url encoding to be compatible with nsurl API changes.Vincent Sanders2018-09-264-152/+165
| | | | | As part of this fix the form submission error handling and reporting has been improved.
* allow comments to supress implicit fallthrough warningsVincent Sanders2018-09-071-1/+1
|
* HTML: Don't try to finish an HTML document's conversion twice.Michael Drake2018-08-271-0/+16
|