Commit Graph

1598 Commits

Author SHA1 Message Date
Vincent Sanders 17be8cf216 Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.

This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +01:00
Michael Drake c3d6099250 Redraws during layout are prohibited, and redundant. 2014-09-27 09:57:26 +01:00
Michael Drake c9bf72a4a3 Stop invalid background image URL from preventing page load.
Stops url(http://) from causing page load to fail with warning
message of "boxconvert".
2014-09-25 09:50:24 +01:00
Michael Drake 35f7f2b9f3 Resolve relative URLs in inline CSS relative to document's base URL, rather than its content URL.
This means passing the base URL as the URL param to LibCSS's
css_stylesheet_create, rather than the URL of the source of
the style data.
2014-09-18 18:07:52 +01:00
Michael Drake 3daa98d621 Remove unecessary forward declarations. 2014-09-05 23:00:18 +01:00
Michael Drake e23e8b5112 Avoid forward declaration of box_contains_point. 2014-08-31 16:26:50 +01:00
Michael Drake 181cdfab06 Make box_at_point use itteration, rather than recursion.
This should reduce stack usage.  The walk logic is split out from
box_at_point so that it might be reused.
2014-08-31 16:24:35 +01:00
Michael Drake b49832a958 Add float_container to box tree dump. 2014-08-31 16:22:33 +01:00
Michael Drake 2cf3525b00 Fix text selection.
Values returned by nscss_len2px are actually libcss fixed-points,
so convert the result to pixels. Also reduce the amount by which
the top of descendant bboxes are extended to 3/4 of the text
height, which is the maximum possible amount that the text can
protrude above the box when line-height is reduced.
2014-08-20 11:08:35 +01:00
Michael Drake 96dbdee3a4 Remove unused code. 2014-08-04 14:59:48 +01:00
Michael Drake 2ea5ca5805 Remove unwanted debug. 2014-08-04 14:59:13 +01:00
Michael Drake a807d762f9 mailto urls don't have passwords or ports, so we don't need to look for ':'. 2014-08-04 14:49:35 +01:00
Vincent Sanders af16c38d2d fix DOM tree dump debug 2014-08-04 00:37:21 +01:00
Michael Drake a05b5fcff4 Always treat root element as overflow:visible.
Fixes bug #2149.
2014-07-18 20:09:20 +01:00
Michael Drake 7063846614 Restrict 'drill down' to specific box types. 2014-07-18 09:30:27 +01:00
Michael Drake b1eb026c6e Fix bug #2154: List numbering.
Previous list item box may not always be last child of parent.
Search its previous children until a list item is found.
2014-07-18 09:20:07 +01:00
Michael Drake 779deb8559 Fix overflow handling issue. 2014-07-13 18:21:50 +01:00
Michael Drake 0d3faeb4bd Allow suppression of style dump in box tree dumps. 2014-07-13 18:07:12 +01:00
Michael Drake 3c818abaea Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2014-07-08 19:23:55 +01:00
Vincent Sanders 3a9fa29ee5 try and improve usage of browser window internals 2014-07-06 18:34:34 +01:00
Vincent Sanders 4b2101ba6a clean up the fetcher factory and improve its API 2014-06-19 18:27:24 +01:00
Michael Drake 43f21bc9a8 Slight simplification to how wo choose whether to clip for overflow. 2014-06-15 14:47:15 +01:00
Michael Drake 5085bfbf99 Handle overflow-x and overflow-y properties.
Fixes display of BBC Sport.
  Requires LibCSS with support for overflow-x and overflow-y.
2014-06-01 18:36:22 +01:00
Michael Drake c7ba173a64 Remove completely dead file.
NetSurf's list handling has been redundant and unused for years.
2014-05-31 10:45:32 +01:00
Vincent Sanders 4acfda898b fix plain text rendering line breaking with mutibyte sequences (fixes bug #2134) 2014-05-29 11:25:52 +01:00
Vincent Sanders 758dcd4de9 remove uncessary null check (coverity 1199865) and remove forward references 2014-05-18 14:40:39 +01:00
Vincent Sanders 2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +01:00
Vincent Sanders 096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
Michael Drake 0d32293c6a Fix table cell bottom borders leaking to the cell on the right.
Prevent leaking of table cell borders that happend when doing
  border-collapse: collapse;

  Error was do to cell->columns being treated as number of extra
  columns spanned minus 1, rather than number of columns spanned.
2014-04-14 13:24:42 +01:00
Michael Drake b604881528 Remove redundant code.
Remove workaround for crash caused by flawed table layout.
  Table layout is now fixed.
2014-04-12 16:13:44 +01:00
Michael Drake 679c87e527 Fix table layout issue: row spans crossing row groups.
Track row group that spans belong to, and compare with current
  cell's row group to decide whether the previous span affects
  current cell's start column.
2014-04-12 16:09:17 +01:00
Michael Drake f89516c495 Flag TODO for rowspan in different row group. 2014-04-09 21:54:05 +01:00
Michael Drake e41900bddc Implied table rows must increment the row group's row count too. 2014-04-09 20:58:12 +01:00
Vincent Sanders cfc75ac6f9 fix table normalisation to not allow rowspan entries to leak beyond their grouping 2014-04-09 18:17:56 +01:00
Michael Drake c36078db73 Fix collapsing borders with rowspan from previous row group.
Mantis #0002102
2014-04-09 13:57:43 +01:00
Michael Drake 7738584b34 Don't pass pointer to data that isn't on the stack any more to content_broadcast. 2014-03-27 21:35:17 +00:00
Vincent Sanders 4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Michael Drake 7a3d343766 Remove debug logging. 2014-03-10 22:32:04 +00:00
Michael Drake 9da93c23a4 Ensure we get gadget from correct box. 2014-03-10 22:25:36 +00:00
Michael Drake 0397a7cab1 Add some logging. 2014-03-10 22:19:23 +00:00
Vincent Sanders 87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake 71cb70065e Gadgets can exisit outside forms, so now they store their own ref to the containing html content. 2014-02-17 14:38:53 +00:00
Michael Drake 49bed056dd Make browser_window_navigate (un)verifiable flag match browser_window_create. 2014-02-10 22:40:04 +00:00
Michael Drake af014bce99 Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags. 2014-02-10 14:08:45 +00:00
John-Mark Bell 9720c02483 Fix #2071: handle parse completion creating style or script nodes. 2014-02-10 01:25:57 +00:00
Michael Drake 8deb9ec25c Native select menu interface shouldn't force front end to dig inside bw struct. 2014-02-08 17:11:55 +00:00
Vincent Sanders 3455d66921 reduce desktop/browser.h unecessary includes 2014-02-03 17:56:24 +00:00
Vincent Sanders 886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +00:00
Vincent Sanders db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Vincent Sanders 654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Michael Drake 46b8fbaeac Use corestring. 2014-01-25 10:00:33 +00:00
Michael Drake 72510f550b Use corestrings in box construction. 2014-01-24 18:58:12 +00:00
Michael Drake 20e789955d Ensure first option gets selected when the markup doesn't specify any options as selected. 2014-01-24 17:32:49 +00:00
Michael Drake f07a04126d Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2014-01-24 16:45:52 +00:00
Michael Drake 05dc1c1305 Fix Coverity-spotted issue. (Fixes behaviour for multiple selects.) Also minor optimisation. 2014-01-24 14:21:27 +00:00
Vincent Sanders b7e372cf84 ensure imagemap lists are freed on error paths (coverity 1109880) 2014-01-24 12:11:10 +00:00
Michael Drake 4684e9665d Deselect other options when select option is selected, and it's not a multi-select. 2014-01-21 15:01:18 +00:00
Vincent Sanders bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders 0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders 303a29a89c cleanups to fix new clang warnings 2014-01-10 15:55:29 +00:00
Daniel Silverstone 28e670f52d Support 'checked' properly in new form handler 2014-01-06 18:50:49 +00:00
Daniel Silverstone 9a9cb399f9 Merge branch 'rjek/click-file-gadget' 2014-01-05 17:03:17 +00:00
Daniel Silverstone ef5c516ee3 Restore missing message send 2014-01-05 17:01:27 +00:00
Daniel Silverstone 0d5960a68c Remove old form_successful_controls 2014-01-05 16:14:45 +00:00
Daniel Silverstone 6bf609a1a4 Support image inputs 2014-01-05 16:14:17 +00:00
Rob Kendrick 0d7f1cfc93 Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop 2014-01-05 16:04:35 +00:00
Daniel Silverstone b1e6c63a2f Rewrite form_successful_controls() to use the DOM.
This stops image inputs from working temporarily, but makes
inputs inside display:none work correctly.  As such, this is
a net-win.
2014-01-05 15:51:30 +00:00
Rob Kendrick 1bd4a34a27 Remove asserts for default cases from all content message handlers; this is laborious and is no longer useful for catching bugs. 2014-01-05 14:39:08 +00:00
John-Mark Bell 32468516e3 Speculatively start image fetches as we parse the document. 2014-01-05 14:34:49 +00:00
Daniel Silverstone b4f9860848 Remove logging now that file upload *seems* to work 2014-01-04 22:05:23 +00:00
Daniel Silverstone de42f8880e Add a bunch of logging to try and help track down the issue with rawfile handling, sorry guys 2014-01-04 21:20:17 +00:00
Daniel Silverstone 2a18cef82b Shunt around the file multipart stuff a bit to try and fix the segfault 2014-01-04 20:53:43 +00:00
Daniel Silverstone 581d877576 In theory, store raw filenames and pass them through for file upload. Untested due to no file-upload in GTK frontend just yet 2014-01-04 19:34:18 +00:00
Daniel Silverstone 9b8988dd23 Reflect changes to select boxes into the DOM 2014-01-04 18:02:50 +00:00
Daniel Silverstone 0516e4c069 Reflect toggling of 'selected' in the DOM 2014-01-04 18:02:50 +00:00
Daniel Silverstone a5bb596eb3 Ensure that file inputs update the dom node and annotate with the unencoded filename 2014-01-04 18:02:50 +00:00
Daniel Silverstone 533cfa27da Ensure textual input boxes re-update the DOM with new values 2014-01-04 18:02:50 +00:00
Daniel Silverstone 068b07494b Retrieve text area content from the textarea api 2014-01-04 18:02:50 +00:00
Michael Drake 0aa488288c Fix longstanding bug where floating root element caused assertion. Bug #394. 2014-01-04 17:54:43 +00:00
Michael Drake 838359194e Return message to client when textarea is modified. 2014-01-04 14:48:58 +00:00
Michael Drake 8b253a2151 Improve min/max-height handling on replaced elements. 2014-01-04 14:02:22 +00:00
Michael Drake 1970fb7bda Make nscss_get_style return completed computed styles. Now matches nscss_get_blank_style, and no need for anything outside css/select.c to see partial computed styles. 2013-12-19 14:21:15 +00:00
Michael Drake cde62790f6 Update for new lpu API. 2013-12-14 23:17:50 +00:00
Michael Drake e4c50bd58a Update for new libcss API. 2013-12-13 20:25:08 +00:00
Vincent Sanders aa4d2eb608 ensure no division by zero can occour (coverity 1109862 1109863) 2013-11-03 22:51:43 +00:00
Vincent Sanders c26dd43669 ensure no division by zero in scaled object dimensioning (coverity 1109864 ) 2013-11-03 21:52:01 +00:00
Michael Drake 3fc666a9be Squash Coverity #1109879 - Resource leak. 2013-10-25 22:23:18 +01:00
Vincent Sanders 4776f05430 fix potential division by zero by only computing width and height when content is valid and hence will return content width and height not zero. coverity 110986[23] 2013-10-25 22:06:29 +01:00
Michael Drake 1d326a8a1c Fix leak of frame element name. 2013-10-25 19:57:05 +01:00
Michael Drake 88ca82dea2 Fix leak of box scrollbars. 2013-10-25 15:47:49 +01:00
Michael Drake 182b97ed33 Fix leak of html encoding. 2013-10-23 18:55:51 +01:00
Michael Drake 0bbaf1d24d Layout doesn't need to handle the old insane textarea box splitting now. Fixes Coverity:1109882. 2013-10-23 12:48:16 +01:00
Michael Drake 3e08819db9 Fix leaks in form_successful_controls. 'charset' was always leaked, value was leaked in particular OOM case. 2013-10-23 12:34:48 +01:00
Michael Drake 479fcefd9a s/!charset/charset == NULL/ 2013-10-23 12:16:20 +01:00
Michael Drake 8641d5cbda Fix a potential leak. 2013-09-05 11:13:08 +01:00
Michael Drake b646592928 Allocate correct amount of mem for pointers to imagemaps. 2013-09-05 10:46:58 +01:00
Michael Drake 8d3a89b62d Don't attempt to vertical-align objects for now, as our current bodged vertical-align implementation can do more harm than good. 2013-07-12 11:34:47 +01:00
Michael Drake 90231bd4b1 Force root element box type to BOX_BLOCK. 2013-07-10 12:27:56 +01:00
Michael Drake 67066ce47c Shave a few more px off animated background redraw, in the non-tiled cases. (Restrict area to part of image that changed.) 2013-07-07 10:14:13 +01:00
Michael Drake ec50fdaefa Fix rendering of animated background images. Give them sensible redraw area. 2013-07-06 22:57:48 +01:00