Forráskód Böngészése

LibWeb: Convert uppercase selector tag names to lowercase internally

This is necessary for some older content to work correctly. There's
probably a nicer (and correct-er) way to do this. Deferring to the
new CSS parser.
Andreas Kling 5 éve
szülő
commit
38d6cc8598
1 módosított fájl, 8 hozzáadás és 1 törlés
  1. 8 1
      Libraries/LibWeb/Parser/CSSParser.cpp

+ 8 - 1
Libraries/LibWeb/Parser/CSSParser.cpp

@@ -510,10 +510,17 @@ public:
             PARSE_ASSERT(!buffer.is_null());
         }
 
+        auto value = String::copy(buffer);
+
+        if (type == Selector::SimpleSelector::Type::TagName) {
+            // Some stylesheets use uppercase tag names, so here's a hack to just lowercase them internally.
+            value = value.to_lowercase();
+        }
+
         Selector::SimpleSelector simple_selector {
             type,
             Selector::SimpleSelector::PseudoClass::None,
-            String::copy(buffer),
+            value,
             Selector::SimpleSelector::AttributeMatchType::None,
             String(),
             String()