Commit Graph

375 Commits

Author SHA1 Message Date
Michael Drake
278451463f Rewrite hints handling to be more efficient.
Now we only look for hints that are actually possible for the
given element.  This new way of doing things is made possible
by the new LibCSS API for hints.

This also makes use of the LibDOM HTMLElement tag type to avoid
lots of massive if-else-if ladders of dom_string_caseless_isequal
calls.
2016-02-05 10:49:58 +00:00
Michael Drake
e42afd9b32 Change hints handling to use new libcss API.
Collect hints and provide them up front.

Note this implementation is minimal effort, and quite inefficient.
We can be faster about it by walking the element's attributes, and
caching things set on ancestor elements which apply to the current
element.  (Mostly table, and body stuff.)
2016-02-05 10:49:58 +00:00
Michael Drake
ae485432c5 Remove duplicate branch. 2016-02-05 10:49:58 +00:00
Michael Drake
e6c8188229 Tidy cellpadding hint handling. 2016-02-05 10:49:58 +00:00
Michael Drake
8e580ccd19 Split out presentational hints handling. 2016-02-05 10:49:58 +00:00
Michael Drake
cad9f1f8c4 Fix ALIGN attribute on TABLE. 2015-08-14 21:26:47 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Michael Drake
3020dd698d Remove legacy #undef 2015-05-03 16:50:38 +01:00
Michael Drake
62c14f8b73 Remove include of nsurl.h 2015-02-26 17:01:04 +00:00
Vincent Sanders
e32a2ad46e Doxygen fixes 2014-11-09 15:28:03 +00: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
Vincent Sanders
89a02c3a8f when walking the css imports ensure the content is present before dereferencing it
css import entries may not have a valid content if the resource failed to load
or was unsuitable in some otehr way. The save_complete iterator did not cope with this.

fixes #2166
2014-07-08 13:25:54 +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
Vincent Sanders
2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +01:00
Vincent Sanders
94f10fa0c0 remove uncessary include os render/html.h 2014-02-04 22:45:31 +00:00
Michael Drake
0a6e5fcb6d Use corestring. 2014-01-24 20:14:26 +00:00
Vincent Sanders
277bcec7c6 stop system colours being anything to do with frontends 2014-01-10 14:32:29 +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
Michael Drake
c43c456d05 Use dom_string_isequal, not lwc_string_isequal, for dom strings. 2014-01-04 16:26:02 +00:00
Vincent Sanders
ad3f3590e4 Merge branch 'mmu_man/haiku-fixes' 2014-01-01 19:12:20 +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
fabc086d4a Rename libcss_node_data key for libdom node user data. 2013-12-13 23:02:15 +00:00
Michael Drake
e4c50bd58a Update for new libcss API. 2013-12-13 20:25:08 +00:00
François Revol
850432f990 C89 2013-12-07 01:08:52 +01:00
Michael Drake
b0fc9bfcb9 Optimise selection by generating node ancestor element/class/id name bloom filters for new libcss API. 2013-12-01 19:15:14 +00:00
Michael Drake
d4c80c2f4e Wrap line. 2013-11-28 11:30:33 +00:00
Michael Drake
1cf0125f2d Fix leaks of colour attribute values. (Such as LINK, VLINK, TEXT, and COLOR attribute values.) 2013-10-25 13:05:38 +01:00
Michael Drake
a921a007e6 Fix leak of cellpadding attribute value. 2013-10-25 12:18:46 +01:00
Vincent Sanders
1f14790d47 add handling for recived but no action redirect messages and log before abort. (closes #3614409) 2013-06-08 09:42:55 +01:00
Michael Drake
ec3491280a Move NetSurf to CSS colour conversion macro. Make both conversion macros the same. 2013-05-29 12:10:40 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Michael Drake
943025ddb0 Remove SUPPORT_VISITED build switch. 2013-05-18 14:40:42 +01:00
Michael Drake
c240fb0c00 Enable :visited handling for experimentation. 2013-05-17 12:38:06 +01:00
Michael Drake
abebc6ae2b Fix visited support for libdom. (Still disabled.) 2013-05-16 18:18:06 +01:00
Vincent Sanders
ca1a468aa8 fix dumb comparison error 2013-05-04 20:22:33 +01:00
Vincent Sanders
926be456b4 check the return codes from css increment and reset 2013-05-04 08:59:55 +01:00
Vincent Sanders
95e726c7cc split sources lists out to their subdirectories as first step towards using core buildsystem 2013-03-11 17:53:52 +00:00
John-Mark Bell
6b9f7c3094 Use correct base URL for inline stylesheets 2013-02-27 03:55:48 +00:00
John-Mark Bell
97978e858b Use custom fetcher for inline CSS 2013-02-27 03:11:10 +00:00
Michael Drake
3f33f5327e Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2013-01-02 14:12:08 +00:00
Michael Drake
700429897a Fix #3584934. Case insensitive matching of align attribute value. 2013-01-02 14:06:02 +00:00
Michael Drake
d7e3ca2230 Fix form input size attribute handling to be case insensitive. Fixes form input widths. 2013-01-02 13:56:00 +00:00
Daniel Silverstone
7a3a209940 File input boxen deserve EX width hinting 2012-11-04 17:36:17 +00:00
Daniel Silverstone
b23aee2f09 type=search is a new-fangled HTML5 thing which we treat as input and thus give EX width hinting. Closes #3578446 2012-11-04 17:29:26 +00:00
Daniel Silverstone
efd6d11e47 Unspecified input types are text and so get EX widths 2012-11-04 17:26:42 +00:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
John-Mark Bell
5743009283 Fix extraction of @size attribute. 2012-09-30 10:21:46 +01:00
John-Mark Bell
07f86cfc1d Fix bug 3570980: extract link colours from body element. 2012-09-25 00:39:03 +01:00
Vincent Sanders
411fdc6186 fix return check on lwc operation 2012-08-09 17:48:05 +01:00
Michael Drake
fb853c9354 Fix attribute includes selector callback. 2012-08-07 15:16:50 +01:00