Browse Source

LibWeb: Construct CSS Tokenizer and Parser with a StringView encoding

This doesn't need to be a full (Deprecated)String, so let's not force it
to be.
Sam Atkins 2 years ago
parent
commit
8af65108e4

+ 1 - 1
Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp

@@ -82,7 +82,7 @@ AK::URL ParsingContext::complete_url(DeprecatedString const& addr) const
     return m_url.complete_url(addr);
 }
 
-Parser::Parser(ParsingContext const& context, StringView input, DeprecatedString const& encoding)
+Parser::Parser(ParsingContext const& context, StringView input, StringView encoding)
     : m_context(context)
     , m_tokenizer(input, encoding)
     , m_tokens(m_tokenizer.parse())

+ 1 - 1
Userland/Libraries/LibWeb/CSS/Parser/Parser.h

@@ -59,7 +59,7 @@ private:
 
 class Parser {
 public:
-    Parser(ParsingContext const&, StringView input, DeprecatedString const& encoding = "utf-8");
+    Parser(ParsingContext const&, StringView input, StringView encoding = "utf-8"sv);
     ~Parser() = default;
 
     CSSStyleSheet* parse_as_css_stylesheet(Optional<AK::URL> location);

+ 2 - 2
Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp

@@ -195,10 +195,10 @@ static inline bool is_E(u32 code_point)
     return code_point == 0x45;
 }
 
-Tokenizer::Tokenizer(StringView input, DeprecatedString const& encoding)
+Tokenizer::Tokenizer(StringView input, StringView encoding)
 {
     // https://www.w3.org/TR/css-syntax-3/#css-filter-code-points
-    auto filter_code_points = [](StringView input, auto const& encoding) -> DeprecatedString {
+    auto filter_code_points = [](StringView input, auto encoding) -> DeprecatedString {
         auto* decoder = TextCodec::decoder_for(encoding);
         VERIFY(decoder);
 

+ 1 - 1
Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.h

@@ -60,7 +60,7 @@ public:
 class Tokenizer {
 
 public:
-    explicit Tokenizer(StringView input, DeprecatedString const& encoding);
+    explicit Tokenizer(StringView input, StringView encoding);
 
     [[nodiscard]] Vector<Token> parse();
 

+ 1 - 1
Userland/Libraries/LibWeb/CSS/SyntaxHighlighter/SyntaxHighlighter.cpp

@@ -43,7 +43,7 @@ void SyntaxHighlighter::rehighlight(Palette const& palette)
             false);
     };
 
-    CSS::Parser::Tokenizer tokenizer { text, "utf-8" };
+    CSS::Parser::Tokenizer tokenizer { text, "utf-8"sv };
     auto tokens = tokenizer.parse();
     for (auto const& token : tokens) {
         if (token.is(Parser::Token::Type::EndOfFile))