Optimize the way to handle CSS presentational hints: Previously, the CSS selection engine iterated over all properties not either in a UA stylesheet or a user stylesheet with !important set. It asked the client if there were any presentational hints for that node, once for each property. This triggered up to N_PROPERTIES * N_NODES calls to the client.
The new API asks the client to supply a list of all the presentational hints that apply to node, which is 0 for most nodes. This triggers at most N_NODES calls to the client.
css_hint has been changed to include the property which the hint applies to.
Wrapper classes have been adjusted as well:
Because of this incompatible API change, the YuNetSurf major version incremented to 3.
TYuCssand descendands have all events of all their Sheets. Assign once, use everywhere.
TYuCsshas sheet propertiy defaults. Sheets are initialized with these values and can be modified:
Sheets, including imported sheets to other sheets.
TYuCss.Sheetscollection to organize sheets. The old TYuCss.AppendSheet() is no longer needed and removed.
TYuCss.DoComputeFontSizevirtual method as common CSS
compute_font_sizecallback for all descendants. This fixes a bug where
TYuCSSwas not calculating the font size when composing computed styles.
Unfortunately, the above changes were possible only by breaking backwards compatibility. Adjustments to existing code might be necessary, hence the major version increase. The demo projects have been adjusted for reference.
TYuSimpleTreeWalkerclass, with support for
Filter, and PreviousNode.
coInlineStylescontrols weather to apply inline styles.