Commit Graph

203 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
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
Vincent Sanders e32a2ad46e Doxygen fixes 2014-11-09 15:28:03 +00: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
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 e4c50bd58a Update for new libcss API. 2013-12-13 20:25:08 +00: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
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
Vincent Sanders c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Michael Drake 2ad24f39da Interned string cleanup, phase 2: Create utils/corestrings and use it in css handler. 2012-07-22 15:48:55 +01:00
Michael Drake 1e65737c8c Interned string cleanup, phase 1: Use lwc_string where possible in CSS handler. 2012-07-22 14:06:45 +01:00
John Mark Bell 9b08752807 Ensure error is initialised
svn path=/trunk/netsurf/; revision=13711
2012-03-25 22:59:39 +00:00
John Mark Bell bfc619a8dc Fix up border-{trbl}-style hint
svn path=/trunk/netsurf/; revision=13710
2012-03-25 22:52:05 +00:00
John Mark Bell fb21c6b3fb Make vertical align hint less braindead
svn path=/trunk/netsurf/; revision=13707
2012-03-25 19:17:51 +00:00
Daniel Silverstone b8517a2a18 Cellpadding needs interning too
svn path=/trunk/netsurf/; revision=13697
2012-03-25 16:23:02 +00:00
Daniel Silverstone 9d1baa5ba9 All the intern strings we might need for CSS
svn path=/trunk/netsurf/; revision=13696
2012-03-25 15:51:32 +00:00
Vincent Sanders e12566e1a1 add presentational hint routine for background image
svn path=/trunk/netsurf/; revision=13693
2012-03-25 15:12:15 +00:00
John Mark Bell 729b34fa3b Fix up node_presentational_hint_vertical_align
svn path=/trunk/netsurf/; revision=13690
2012-03-25 14:51:37 +00:00
Vincent Sanders 6ff2da6e31 fix node_is_link
add dom string globals to css handler

svn path=/trunk/netsurf/; revision=13678
2012-03-25 11:14:19 +00:00
John Mark Bell f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake 36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
John Mark Bell 339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
John Mark Bell 3d71da088b Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +00:00
John Mark Bell 9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
John Mark Bell 85ec83636d Reject attempts by a stylesheet to import itself
svn path=/trunk/netsurf/; revision=12644
2011-08-23 19:59:13 +00:00
John Mark Bell dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell b34502af82 Refactor http utilities
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +00:00
Vincent Sanders 83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Vincent Sanders 8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
John Mark Bell e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
John Mark Bell b652e1f36e Sync with versioned libcss ABI
svn path=/trunk/netsurf/; revision=12008
2011-03-13 09:32:13 +00:00
John Mark Bell 86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
John Mark Bell ceadbafcbc Clean up blank_import on exit
svn path=/trunk/netsurf/; revision=11818
2011-02-26 01:19:11 +00:00
John Mark Bell daa8697651 Parallelise fetch and conversion of imported stylesheets
svn path=/trunk/netsurf/; revision=11817
2011-02-26 00:58:54 +00:00
John Mark Bell 28d1817bdd Fix bug #3171370: initialise font resolution callback pointers
svn path=/trunk/netsurf/; revision=11608
2011-02-03 09:31:11 +00:00
Vincent Sanders fbb1139214 add default system colour handlers to each frontend
svn path=/trunk/netsurf/; revision=11530
2011-01-30 13:40:47 +00:00
John Mark Bell 850160c40f Reflect new css_stylesheet_create API
svn path=/trunk/netsurf/; revision=11523
2011-01-29 14:53:18 +00:00
John Mark Bell 08ca689172 Reflect changes to libcss API
svn path=/trunk/netsurf/; revision=11001
2010-12-05 14:24:29 +00:00
John Mark Bell 89683af529 Only invoke callback when we successfully converted CSS data.
svn path=/trunk/netsurf/; revision=10592
2010-07-01 19:42:02 +00:00
Daniel Silverstone 5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell 000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
Daniel Silverstone c1c25e479a Unref uri after sending it to hlcache when requesting a css pending import, so that we don't leak the uris
svn path=/trunk/netsurf/; revision=10503
2010-04-27 22:25:41 +00:00
Daniel Silverstone 3d31372b9d Fix it so that empty charset strings fall back properly. Fixes http://www.arm.com/community/partners/all_partners.php
svn path=/trunk/netsurf/; revision=10452
2010-04-22 12:19:17 +00:00
John Mark Bell 69d0119a48 Check correct variable for error.
svn path=/trunk/netsurf/; revision=10428
2010-04-18 16:07:34 +00:00
John Mark Bell 7dcc15cbd4 Now that we own imported stylesheets, we can get away with allocating a single blank import and registering that.
svn path=/trunk/netsurf/; revision=10370
2010-04-11 19:59:59 +00:00
John Mark Bell 88449e3328 Pedantic line break
svn path=/trunk/netsurf/; revision=10368
2010-04-11 19:51:38 +00:00