소스 검색

LibWeb: Reorder MatchingRule members to make it smaller

By packing the members more efficiently, it goes from 64 to 56 bytes.
Andreas Kling 1 년 전
부모
커밋
25c22bb5e5
2개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      Userland/Libraries/LibWeb/CSS/StyleComputer.cpp
  2. 2 2
      Userland/Libraries/LibWeb/CSS/StyleComputer.h

+ 2 - 2
Userland/Libraries/LibWeb/CSS/StyleComputer.cpp

@@ -2323,14 +2323,14 @@ NonnullOwnPtr<StyleComputer::RuleCache> StyleComputer::make_rule_cache_for_casca
             size_t selector_index = 0;
             for (CSS::Selector const& selector : rule.selectors()) {
                 MatchingRule matching_rule {
-                    cascade_origin,
                     shadow_root,
                     &rule,
                     sheet,
                     style_sheet_index,
                     rule_index,
                     selector_index,
-                    selector.specificity()
+                    selector.specificity(),
+                    cascade_origin,
                 };
 
                 for (auto const& simple_selector : selector.compound_selectors().last().simple_selectors) {

+ 2 - 2
Userland/Libraries/LibWeb/CSS/StyleComputer.h

@@ -21,7 +21,7 @@
 namespace Web::CSS {
 
 // https://www.w3.org/TR/css-cascade/#origin
-enum class CascadeOrigin {
+enum class CascadeOrigin : u8 {
     Author,
     User,
     UserAgent,
@@ -30,7 +30,6 @@ enum class CascadeOrigin {
 };
 
 struct MatchingRule {
-    CascadeOrigin cascade_origin;
     JS::GCPtr<DOM::ShadowRoot const> shadow_root;
     JS::GCPtr<CSSStyleRule const> rule;
     JS::GCPtr<CSSStyleSheet const> sheet;
@@ -39,6 +38,7 @@ struct MatchingRule {
     size_t selector_index { 0 };
 
     u32 specificity { 0 };
+    CascadeOrigin cascade_origin;
     bool contains_pseudo_element { false };
     bool contains_root_pseudo_class { false };
 };