From ef1cbdb7299b20f404e97e88872a229e35f8413b Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Mon, 29 Aug 2022 12:07:37 +0100 Subject: Stylesheet: Track whether stylesheet used revert property value --- src/stylesheet.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/stylesheet.h b/src/stylesheet.h index 45d7b7e..070508f 100644 --- a/src/stylesheet.h +++ b/src/stylesheet.h @@ -188,6 +188,8 @@ struct css_stylesheet { bool quirks_allowed; /**< Quirks permitted */ bool quirks_used; /**< Quirks actually used */ + bool uses_revert; /**< Uses 'revert' property value */ + bool inline_style; /**< Is an inline style */ size_t size; /**< Size, in bytes */ @@ -226,6 +228,9 @@ css_error css__stylesheet_merge_style(css_style *target, css_style *style); static inline css_error css__stylesheet_style_appendOPV(css_style *style, opcode_t opcode, uint8_t flags, uint16_t value) { + if ((flags & (0x7 << 1)) == FLAG_REVERT) { + style->sheet->uses_revert = true; + } return css__stylesheet_style_append(style, buildOPV(opcode, flags, value)); } @@ -250,6 +255,7 @@ static inline css_error css_stylesheet_style_initial(css_style *style, static inline css_error css_stylesheet_style_revert(css_style *style, opcode_t opcode) { + style->sheet->uses_revert = true; return css__stylesheet_style_append(style, buildOPV(opcode, FLAG_REVERT, 0)); } -- cgit v1.2.1