1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 05:28:11 +00:00
serenity/Userland/Libraries/LibWeb/CSS
Sam Atkins c3bf9e5b79 LibWeb: Rewrite media-query parsing to match spec grammar
Past me decided that the grammar was overly verbose and I could do it
better myself. Which seemed fine until the spec changed and I didn't
know how to integrate the changes. Lesson learned! :^)

Rather than have a function for every single part of the grammar, I have
written some as lambdas, and combned `<media-condition>` and
`<media-condition-without-or>` into one function. But otherwise it's
close to the spec, with comments listing the part of the grammar being
parsed, so hopefully it will be easier to make future adjustments!

This does not add any new functionality.
2022-01-02 15:43:51 +01:00
..
Parser LibWeb: Rewrite media-query parsing to match spec grammar 2022-01-02 15:43:51 +01:00
SyntaxHighlighter LibWeb: Implement first draft of CSS syntax highlighting :^) 2021-10-23 19:07:44 +02:00
.gitignore Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ComputedValues.h LibWeb: Store all background properties in BackgroundLayerData 2021-11-17 22:20:01 +01:00
CSSConditionRule.cpp LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSConditionRule.h LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSConditionRule.idl LibWeb: Add CSSConditionRule 2021-09-29 18:57:48 +02:00
CSSGroupingRule.cpp LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSGroupingRule.h LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSGroupingRule.idl LibWeb: Add CSSGroupingRule 2021-09-29 18:57:48 +02:00
CSSImportRule.cpp LibWeb: Make CSSImportRule::m_document a WeakPtr 2021-12-06 19:22:16 +01:00
CSSImportRule.h Everywhere: Fix -Winconsistent-missing-override warnings from Clang 2021-12-11 13:14:15 -08:00
CSSMediaRule.cpp LibWeb: Add serialization code for CSS{Media,Supports}Rule 2021-10-15 18:12:20 +01:00
CSSMediaRule.h LibWeb: Add serialization code for CSS{Media,Supports}Rule 2021-10-15 18:12:20 +01:00
CSSRule.cpp LibWeb: Use W3C urls for CSSOM spec links 2021-10-15 21:05:35 +01:00
CSSRule.h LibWeb: Make CSSStyleSheet::m_owner_css_rule a WeakPtr 2021-12-06 19:22:16 +01:00
CSSRule.idl LibWeb: Implement CSSRule and CSSStyleDeclaration serialization 2021-10-01 20:17:15 +02:00
CSSRuleList.cpp LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSRuleList.h LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSRuleList.idl LibWeb: Make CSSRule and CSSRuleList available to JavaScript :^) 2021-09-29 21:21:57 +02:00
CSSStyleDeclaration.cpp LibWeb: Use W3C urls for CSSOM spec links 2021-10-15 21:05:35 +01:00
CSSStyleDeclaration.h LibWeb: Include custom properties in CSS dump 2021-12-09 21:30:31 +01:00
CSSStyleDeclaration.idl LibWeb: Support simplest form of CSSStyleDeclaration.setProperty() 2021-09-26 19:07:03 +02:00
CSSStyleRule.cpp LibWeb: Serialize selectors only in CSSStyleRule::selector_text() 2021-10-16 15:16:27 +01:00
CSSStyleRule.h LibWeb: Implement CSSRule and CSSStyleDeclaration serialization 2021-10-01 20:17:15 +02:00
CSSStyleRule.idl LibWeb: Have CSSStyleRule inherit from CSSRule in IDL 2021-10-03 16:39:17 +02:00
CSSStyleSheet.cpp LibWeb: Remove for_first_not_loaded_import_rule() :^) 2021-11-18 21:11:19 +01:00
CSSStyleSheet.h LibWeb: Make StyleSheet::m_parent_style_sheet a WeakPtr 2021-12-06 19:22:16 +01:00
CSSStyleSheet.idl LibWeb: Add CSSStyleSheet.{insert,delete,remove}Rule() APIs 2021-09-29 21:21:57 +02:00
CSSSupportsRule.cpp LibWeb: Add serialization code for CSS{Media,Supports}Rule 2021-10-15 18:12:20 +01:00
CSSSupportsRule.h LibWeb: Add serialization code for CSS{Media,Supports}Rule 2021-10-15 18:12:20 +01:00
Default.css LibWeb: Add rudimentary styling to <details> and <summary> 2021-12-27 21:44:07 +01:00
Display.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00
GeneralEnclosed.h LibWeb: Implement independent GeneralEnclosed class 2021-11-24 22:57:46 +01:00
Identifiers.json LibWeb: Remove media-query-related identifiers from identifiers.json 2022-01-02 15:43:51 +01:00
Length.cpp LibWeb: Move BrowsingContext into HTML/ 2021-11-18 21:11:30 +01:00
Length.h LibWeb: Remove unused CSS::Length::relative_length_to_px(Layout::Node) 2021-10-28 18:15:15 +02:00
LengthBox.h LibWeb: Add missing headers 2021-10-06 23:52:40 +01:00
MediaList.cpp LibWeb: Move media-query-list serialization code to MediaQuery.{h,cpp} 2021-10-15 18:12:20 +01:00
MediaList.h LibWeb: Implement MediaQuery matching :^) 2021-10-05 18:51:39 +02:00
MediaList.idl LibWeb: Add MediaList 2021-10-01 20:03:03 +02:00
MediaQuery.cpp LibWeb: Make MediaCondition a top-level type and add factory methods 2022-01-02 15:43:51 +01:00
MediaQuery.h LibWeb: Rewrite media-query parsing to match spec grammar 2022-01-02 15:43:51 +01:00
MediaQueryList.cpp LibCore: Make LocalServer::take_over_from_system_server() return ErrorOr 2021-12-06 19:22:16 +01:00
MediaQueryList.h LibCore: Make LocalServer::take_over_from_system_server() return ErrorOr 2021-12-06 19:22:16 +01:00
MediaQueryList.idl LibWeb: Implement MediaQueryList.onchange 2021-10-01 01:35:30 +01:00
MediaQueryListEvent.h LibWeb: Fire MediaQueryListEvents when an MQL's match-state changes 2021-10-05 18:51:39 +02:00
MediaQueryListEvent.idl LibWeb: Fire MediaQueryListEvents when an MQL's match-state changes 2021-10-05 18:51:39 +02:00
PreferredColorScheme.cpp LibWeb: Add Web::CSS::PreferredColorScheme enum 2021-10-31 18:39:13 +01:00
PreferredColorScheme.h LibWeb: Add Web::CSS::PreferredColorScheme enum 2021-10-31 18:39:13 +01:00
Properties.json LibWeb: Add initial values for all CSS properties 2021-11-10 21:58:14 +01:00
QuirksMode.css Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
ResolvedCSSStyleDeclaration.cpp LibWeb: Remove background-repeat/image fields and getters 2021-11-17 22:20:01 +01:00
ResolvedCSSStyleDeclaration.h LibWeb: Implement CSSRule and CSSStyleDeclaration serialization 2021-10-01 20:17:15 +02:00
Screen.cpp LibWeb: Make CSS::Screen forward its ref count to DOM::Window 2021-12-09 21:28:52 +01:00
Screen.h LibWeb: Make CSS::Screen forward its ref count to DOM::Window 2021-12-09 21:28:52 +01:00
Screen.idl LibWeb: Implement the Screen interface 2021-04-04 00:37:54 +02:00
Selector.cpp LibWeb: Use the serialize_a_{identifier,string} algorithms for selectors 2021-10-16 15:16:27 +01:00
Selector.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
SelectorEngine.cpp Libraries: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
SelectorEngine.h LibWeb: Convert CSS Dump, Selector, & SelectorEngine to east const 2021-07-14 13:31:00 +02:00
Serialize.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Serialize.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
StyleComputer.cpp LibWeb: Remove now-unused CustomStyleValue 2021-12-09 21:30:31 +01:00
StyleComputer.h LibWeb: Handle dependency cycles in CSS var()s :^) 2021-12-09 21:30:31 +01:00
StyleInvalidator.cpp LibWeb: Avoid unnecessary copies in StyleInvalidator 2022-01-01 15:40:39 +01:00
StyleInvalidator.h LibWeb: Rename CSS::StyleResolver => StyleComputer 2021-09-24 15:12:15 +02:00
StyleProperties.cpp LibWeb: Store Repeat values directly in BackgroundRepeatStyleValue 2021-11-10 14:38:49 +01:00
StyleProperties.h LibWeb: Combine background-repeat-x/y pseudo-properties 2021-11-10 14:38:49 +01:00
StyleSheet.cpp LibWeb: Make StyleSheet::m_parent_style_sheet a WeakPtr 2021-12-06 19:22:16 +01:00
StyleSheet.h LibWeb: Make StyleSheet::m_parent_style_sheet a WeakPtr 2021-12-06 19:22:16 +01:00
StyleSheet.idl LibWeb: Reimplement the <style> element following the spec 2021-09-30 00:00:55 +02:00
StyleSheetList.cpp LibWeb: Use W3C urls for CSSOM spec links 2021-10-15 21:05:35 +01:00
StyleSheetList.h LibWeb: Evaluate @media rules 2021-10-08 23:02:57 +02:00
StyleSheetList.idl LibWeb: Make StyleSheetList.item an IDL getter 2021-09-29 14:57:59 +01:00
StyleValue.cpp LibWeb: Remove now-unused CustomStyleValue 2021-12-09 21:30:31 +01:00
StyleValue.h Everywhere: Fix -Winconsistent-missing-override warnings from Clang 2021-12-11 13:14:15 -08:00
Supports.cpp LibWeb: Use a string instead of an internal Parser class in Supports 2021-11-24 22:57:46 +01:00
Supports.h LibWeb: Use a string instead of an internal Parser class in Supports 2021-11-24 22:57:46 +01:00