77 lines · 2.6 KB · Text
RawDownload
LibCSS API & ABI Changes========================   This document explains how to upgrade clients to use new versions of LibCSS.  LibCSS 0.2.0 --> LibCSS 0.3.0-----------------------------   Both the API and ABI are changed.   LibCSS no longer lets clients provide a memory allocator function.  This change affects the following functions:     From include/libcss/computed.h    --  css_computed_style_create()     From include/libcss/select.h      --  css_select_ctx_create()     From include/libcss/stylesheet.h  --  css_stylesheet_create()    There are changes to selection handler callback table:     node_classes      LibCSS no longer frees the any array of classes passed to the      node_classes callback.  It does still unref the individual strings.      This means clients need not allocate a new array each call, but can      keep the array cached on the node.     set_libcss_node_data      New selection handler function used to store a private cache belonging      to libcss on document element nodes.  When the node is deleted or      modified, clients should call css_libcss_node_data_handler().     get_libcss_node_data      New selection handler function used to retrieve private cache belonging      to libcss from document element nodes.  LibCSS 0.3.0 --> LibCSS 0.4.0-----------------------------   The API is changed.   Due to the change from CSS2 overflow to CSS3 overflow properties, the  computed style access functions for overflow properties have changed.  The overflow property is removed.  Added are overflow-x and overflow-y  properties.  (The overflow shorthand property now sets overflow-x and  overflow-y.)   This change affects the following functions:     Removed from   include/libcss/computed.h    --  css_computed_overflow()     Added to       include/libcss/computed.h    --  css_computed_overflow_x()     Added to       include/libcss/computed.h    --  css_computed_overflow_y()  LibCSS 0.5.0 --> LibCSS 0.6.0-----------------------------   The API is changed.   The way that presentational hints are handled has changed to be more  optimal.  Instead of calling the presentational hint callback once  per property per node to get each hint, we now call the callback once  per node to get all the hints that apply to it.   There are changes to selection handler callback table:     node_presentational_hint      Rather than asking for any hint for the given node and property,      it now asks for an array of hints that should apply to the node.   The css_hint structure has been changed to include the property which  the hint applies to.