Commit Graph

336 Commits

Author SHA1 Message Date
Daniel Silverstone b0e04780af node_is_empty
svn path=/trunk/netsurf/; revision=13655
2012-03-25 08:55:27 +00:00
John Mark Bell d3463d9e2a Ensure parent is NULL if there is no parent
svn path=/trunk/netsurf/; revision=13648
2012-03-25 07:59:05 +00:00
Vincent Sanders 3576ad71cb fix up framebuffer build flags
fix select attributes

svn path=/trunk/netsurf/; revision=13643
2012-03-24 22:42:14 +00:00
Vincent Sanders 784b223387 continue conversion
svn path=/trunk/netsurf/; revision=13635
2012-03-24 22:21:25 +00:00
Vincent Sanders 6a62b3a561 three more callbacks fixed up
svn path=/trunk/netsurf/; revision=13629
2012-03-24 21:35:02 +00:00
John Mark Bell aa49a54db5 Fix up node_has_attribute
svn path=/trunk/netsurf/; revision=13611
2012-03-24 19:40:06 +00:00
John Mark Bell 1688080e04 Beginnings of fixed up selection binding
svn path=/trunk/netsurf/; revision=13609
2012-03-24 18:48:14 +00:00
Vincent Sanders 1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +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 c876a37a5f Avoid a couple of strlen calls.
svn path=/trunk/netsurf/; revision=13005
2011-10-08 12:26:10 +00:00
John Mark Bell 4e574f1252 Improve performance of style selection
svn path=/trunk/netsurf/; revision=13000
2011-10-08 00:21:59 +00:00
Michael Drake 7805550e82 Port presentational hint backgrounds to nsurl.
svn path=/trunk/netsurf/; revision=12990
2011-10-07 22:07:57 +00:00
Michael Drake 201dcddff8 Port disabled :visited support to nsurl.
svn path=/trunk/netsurf/; revision=12961
2011-10-05 20:22:56 +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 088c91b127 More accurate legacy font size handling
svn path=/trunk/netsurf/; revision=12695
2011-08-31 21:12:57 +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 ffd2e6095d Fix matching of universal element selectors
svn path=/trunk/netsurf/; revision=11979
2011-03-12 18:29:40 +00:00
John Mark Bell 1bfb8c9f89 Sync API with modern libcss
svn path=/trunk/netsurf/; revision=11977
2011-03-12 17:51:59 +00:00
Vincent Sanders 74f108ee4d Saturated maths in css fixed point
svn path=/trunk/netsurf/; revision=11975
2011-03-12 17:46:11 +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
John Mark Bell a8bc5d3916 Fix :root detection
svn path=/trunk/netsurf/; revision=11571
2011-01-31 23:14:13 +00:00
John Mark Bell 7661829e60 Various fixes for selection callbacks
svn path=/trunk/netsurf/; revision=11570
2011-01-31 22:31:47 +00:00
John Mark Bell cf561c8a6e Sync selection engine binding with latest libcss
svn path=/trunk/netsurf/; revision=11561
2011-01-31 08:49:39 +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 cd5950936a Add ability to dump opacity property, too
svn path=/trunk/netsurf/; revision=11528
2011-01-29 21:54:35 +00:00
John Mark Bell 5d27aa256f Port to latest libcss
svn path=/trunk/netsurf/; revision=11526
2011-01-29 19:22:12 +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
Michael Drake 12a9c138e6 Fix attempt to destroy selection resutls that don't exist.
svn path=/trunk/netsurf/; revision=11216
2011-01-05 19:53:35 +00:00
Michael Drake 08ed4c207f Update to new libcss API for simultanious selection for base element and its pseudo elements.
svn path=/trunk/netsurf/; revision=11215
2011-01-05 19:36:05 +00:00
Michael Drake 3c698793a0 Make function only used in the selection code private.
svn path=/trunk/netsurf/; revision=11193
2011-01-04 18:02:55 +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 73ace49c5a Fix colours
svn path=/trunk/netsurf/; revision=10989
2010-12-04 21:52:26 +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
John Mark Bell 737d6ad557 Merge jmb/kill-reentrancy. r=vince
svn path=/trunk/netsurf/; revision=10346
2010-04-11 10:52:18 +00:00
Daniel Silverstone 291b4480f1 Cover our backs in the charset == NULL case
svn path=/trunk/netsurf/; revision=10319
2010-04-08 15:41:36 +00:00
Daniel Silverstone 832ecb9ce3 Allow nscss to retain charset and nscss_clone to use it
svn path=/trunk/netsurf/; revision=10318
2010-04-08 15:40:17 +00:00
John Mark Bell 1c6d8c7e47 Prevent assertion when imported stylesheet fails to load.
svn path=/trunk/netsurf/; revision=10256
2010-04-06 19:31:23 +00:00
John Mark Bell 69f02e926f Make the high-level cache drop contents of unacceptable type on the floor.
svn path=/trunk/netsurf/; revision=10238
2010-04-04 17:17:24 +00:00
John Mark Bell 79ce683b4e Most of a stop implementation.
Remaining work:
  1) Clone content_html_data
  2) Cloning content_css_data requires the charset of the old content
  3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.

svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell 43a99ab683 Constify data parameter to *_process_data
svn path=/trunk/netsurf/; revision=10234
2010-04-03 16:37:36 +00:00
John Mark Bell 9aca901eb1 The convert stage of a content's state progression no longer reflows the content to the provided dimensions.
It is now defined as converting the content into a state in which it is ready for use.
The user of the content is now responsible for performing an initial reformat (sic) of the content before it can be redrawn.

Purge width/height parameters from hlcache_handle_retrieve/content_convert/*_convert APIs.
Fix up content handlers affected by the above change in semantics.
Ensure that browser_window_callback performs an initial reformat of its content.

svn path=/trunk/netsurf/; revision=10207
2010-03-29 22:33:21 +00:00
Rob Kendrick 974f42f8cf Only obey size property on input elements that are either text or password. Fixes submit buttons with size properties being too small/large.
svn path=/trunk/netsurf/; revision=10191
2010-03-28 18:33:10 +00:00
Daniel Silverstone cb7412181f Replace fetch_poll with llcache_poll throughout. Allow CONTENT_OTHER to complete properly.
svn path=/trunk/netsurf/; revision=10187
2010-03-28 16:00:54 +00:00
Daniel Silverstone 270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
John Mark Bell aaa14e7672 Fix erroneous switch fallthrough
svn path=/trunk/netsurf/; revision=9694
2009-11-22 14:12:49 +00:00
John Mark Bell 9e742f13da Log failures
svn path=/trunk/netsurf/; revision=9629
2009-10-12 17:38:22 +00:00
John Mark Bell d442d4ff9f Yet more case insensitivity
svn path=/trunk/netsurf/; revision=9549
2009-09-06 22:49:32 +00:00
Michael Drake cd07aa9d31 Fix for percentage values.
svn path=/trunk/netsurf/; revision=9546
2009-09-05 16:36:44 +00:00
Michael Drake 3dd906c813 Remove redundant line.
svn path=/trunk/netsurf/; revision=9545
2009-09-05 16:24:17 +00:00
Michael Drake d8f4c0d029 Fix table border=0.
svn path=/trunk/netsurf/; revision=9544
2009-09-05 16:23:00 +00:00
Michael Drake ca8a2b5af0 Fix defualt table cell border width and move border style from default css to code.
svn path=/trunk/netsurf/; revision=9543
2009-09-05 15:49:09 +00:00
John Mark Bell d82b27ff58 Attribute value comparisons should be case insensitive
svn path=/trunk/netsurf/; revision=9537
2009-09-05 08:13:34 +00:00
John Mark Bell 0d412f5604 Sync with libcss.
svn path=/trunk/netsurf/; revision=9406
2009-08-23 07:58:33 +00:00
John Mark Bell 196f268ae5 Fix build
svn path=/trunk/netsurf/; revision=9392
2009-08-22 10:21:43 +00:00
John Mark Bell 5552f2b06c Use new alignment scheme
svn path=/trunk/netsurf/; revision=9390
2009-08-22 09:56:41 +00:00
John Mark Bell b0f127aa2c Support HTML alignment hints.
svn path=/trunk/netsurf/; revision=9381
2009-08-21 17:05:22 +00:00
John Mark Bell efc284836b Sync with new libcss API. There's huge amounts of room for improvement in this implementation.
svn path=/trunk/netsurf/; revision=8883
2009-07-29 09:59:29 +00:00
John Mark Bell c75a613546 Add stylesheet size + size of imported sheets onto CSS content size.
Remove imported contents once we've fetched them and imported them into their parent (once this has happened, the content object is just an empty shell, so not worth keeping around).

svn path=/trunk/netsurf/; revision=8831
2009-07-27 19:40:55 +00:00
John Mark Bell 1916193813 Slight optimisation
svn path=/trunk/netsurf/; revision=8824
2009-07-27 14:57:40 +00:00
John Mark Bell 3f62ae40d4 Retrieve charset specified on the HTTP layer.
svn path=/trunk/netsurf/; revision=8821
2009-07-27 13:56:05 +00:00
John Mark Bell b5d55eb295 Consider stylesheet media types
svn path=/trunk/netsurf/; revision=8820
2009-07-27 13:49:10 +00:00
John Mark Bell 24881dfb98 Something approximating error reporting. This really needs addressing properly.
svn path=/trunk/netsurf/; revision=8791
2009-07-25 21:42:27 +00:00
John Mark Bell f734aaace5 Make round-to-nearest clearer.
svn path=/trunk/netsurf/; revision=8786
2009-07-25 17:21:35 +00:00
John Mark Bell c51b14383c Now that libwapcaplet guarantees NUL-termination of strings, stop copying them unnecessarily.
svn path=/trunk/netsurf/; revision=8785
2009-07-25 15:47:11 +00:00
John Mark Bell 2939ec04de More consistent conversion of lengths to pixels.
We now calculate the nearest whole number of pixels required for 1 unit, then multiply that by the requested length.
This means that 2 * len2px(1, cm) == len2px(2, cm), for example.

svn path=/trunk/netsurf/; revision=8782
2009-07-25 13:19:11 +00:00
John Mark Bell ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Michael Drake 8365d46eb7 Rename TRANSPARENT to NS_TRANSPARENT to avoid clash on Windows. By MarkieB.
svn path=/trunk/netsurf/; revision=8513
2009-07-14 10:57:07 +00:00
John Mark Bell 5feb7018c5 Replace parent_url with a pointer to the parent content.
svn path=/trunk/netsurf/; revision=8428
2009-07-10 00:26:37 +00:00
John Mark Bell 8e545756f0 Tidy up background-position parsing
svn path=/trunk/netsurf/; revision=7601
2009-05-28 14:05:47 +00:00
John Mark Bell 243c1ba03f Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef NDEBUG.
svn path=/trunk/netsurf/; revision=7593
2009-05-28 10:39:53 +00:00
John Mark Bell b98f105b24 Purge WITH_AUTH
svn path=/trunk/netsurf/; revision=6600
2009-02-22 15:13:10 +00:00
John Mark Bell 847b776285 Purge NETSURF_USE_SSL and WITH_SSL
svn path=/trunk/netsurf/; revision=6599
2009-02-22 15:07:50 +00:00
John Mark Bell 15d7987723 Squash leaks
svn path=/trunk/netsurf/; revision=6559
2009-02-18 13:11:32 +00:00
John Mark Bell 72b8a67660 Ensure URLs are normalized prior to fetching.
Squash memory leaks.

svn path=/trunk/netsurf/; revision=6411
2009-02-10 18:35:56 +00:00
John Mark Bell 0ccdff104f Blah.
svn path=/trunk/netsurf/; revision=6366
2009-02-05 15:07:19 +00:00
Michael Drake 61489da940 Handle no units in CSS as px. This is a temporary measure until the new CSS parser is used, which will handle this properly.
svn path=/trunk/netsurf/; revision=6173
2009-01-22 10:53:14 +00:00
Michael Drake e34ed32685 Fix css_len2pt conversion from px and use it in the RO front end code.
svn path=/trunk/netsurf/; revision=5914
2008-12-16 12:26:52 +00:00
John Mark Bell d7bc286801 Rename library to avoid confusion.
Require make test to actually do anything. Will error out by default.

svn path=/trunk/netsurf/; revision=5814
2008-11-28 17:29:35 +00:00
John Mark Bell baf8100d9b Extract test code from css.c into a separate source file.
Modify test driver to take stylesheet filename on the command line.
Makefile to build a library from the css parser sources and link the test driver against it.

svn path=/trunk/netsurf/; revision=5812
2008-11-28 17:17:45 +00:00
Michael Drake b7a1b3999e Implement percentage heights for block level elements in normal flow, floats and positioned boxes. Percentage min/max-height not yet handled.
svn path=/trunk/netsurf/; revision=5550
2008-10-12 21:22:28 +00:00
Michael Drake 76444db118 Fix pt and pc size calculations when screen dpi is not 90.
svn path=/trunk/netsurf/; revision=5536
2008-10-11 15:59:49 +00:00