Diff
Modified: trunk/Source/WebCore/ChangeLog (281425 => 281426)
--- trunk/Source/WebCore/ChangeLog 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/ChangeLog 2021-08-23 00:52:28 UTC (rev 281426)
@@ -1,3 +1,25 @@
+2021-08-22 Myles C. Maxfield <[email protected]>
+
+ Tiny cleanups in CSS parsing code
+ https://bugs.webkit.org/show_bug.cgi?id=229369
+
+ Reviewed by Alan Bujtas.
+
+ Use references for non-nullable pointers, and pass nullptr instead of 0 to other pointer parameters.
+
+ No new tests because there is no behavior change.
+
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+ (WebCore::StyleSheetContents::parseString):
+ * css/StyleSheetContents.h:
+ * css/parser/CSSParser.cpp:
+ (WebCore::CSSParser::parseSheet):
+ * css/parser/CSSParser.h:
+ * css/parser/CSSParserImpl.cpp:
+ (WebCore::CSSParserImpl::parseStyleSheet):
+ * css/parser/CSSParserImpl.h:
+
2021-08-22 Alan Bujtas <[email protected]>
[LFC][IFC] Add support for out-of-flow box static positioning
Modified: trunk/Source/WebCore/css/StyleSheetContents.cpp (281425 => 281426)
--- trunk/Source/WebCore/css/StyleSheetContents.cpp 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/StyleSheetContents.cpp 2021-08-23 00:52:28 UTC (rev 281426)
@@ -78,7 +78,7 @@
StyleSheetContents::StyleSheetContents(const StyleSheetContents& o)
: RefCounted<StyleSheetContents>()
- , m_ownerRule(0)
+ , m_ownerRule(nullptr)
, m_originalURL(o.m_originalURL)
, m_encodingFromCharsetRule(o.m_encodingFromCharsetRule)
, m_importRules(o.m_importRules.size())
@@ -339,7 +339,7 @@
return false;
}
- CSSParser(parserContext()).parseSheet(this, sheetText, CSSParser::RuleParsing::Deferred);
+ CSSParser(parserContext()).parseSheet(*this, sheetText, CSSParser::RuleParsing::Deferred);
return true;
}
@@ -346,7 +346,7 @@
bool StyleSheetContents::parseString(const String& sheetText)
{
CSSParser p(parserContext());
- p.parseSheet(this, sheetText, parserContext().mode != UASheetMode ? CSSParser::RuleParsing::Deferred : CSSParser::RuleParsing::Normal);
+ p.parseSheet(*this, sheetText, parserContext().mode != UASheetMode ? CSSParser::RuleParsing::Deferred : CSSParser::RuleParsing::Normal);
return true;
}
@@ -406,7 +406,7 @@
{
StyleSheetContents* root = rootStyleSheet();
if (root->m_clients.isEmpty())
- return 0;
+ return nullptr;
ASSERT(root->m_clients.size() == 1);
return root->m_clients[0]->ownerNode();
}
@@ -414,7 +414,7 @@
Document* StyleSheetContents::singleOwnerDocument() const
{
Node* ownerNode = singleOwnerNode();
- return ownerNode ? &ownerNode->document() : 0;
+ return ownerNode ? &ownerNode->document() : nullptr;
}
static bool traverseRulesInVector(const Vector<RefPtr<StyleRuleBase>>& rules, const WTF::Function<bool (const StyleRuleBase&)>& handler)
@@ -528,7 +528,7 @@
StyleSheetContents* StyleSheetContents::parentStyleSheet() const
{
- return m_ownerRule ? m_ownerRule->parentStyleSheet() : 0;
+ return m_ownerRule ? m_ownerRule->parentStyleSheet() : nullptr;
}
void StyleSheetContents::registerClient(CSSStyleSheet* sheet)
Modified: trunk/Source/WebCore/css/StyleSheetContents.h (281425 => 281426)
--- trunk/Source/WebCore/css/StyleSheetContents.h 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/StyleSheetContents.h 2021-08-23 00:52:28 UTC (rev 281426)
@@ -48,11 +48,11 @@
public:
static Ref<StyleSheetContents> create(const CSSParserContext& context = CSSParserContext(HTMLStandardMode))
{
- return adoptRef(*new StyleSheetContents(0, String(), context));
+ return adoptRef(*new StyleSheetContents(nullptr, String(), context));
}
static Ref<StyleSheetContents> create(const String& originalURL, const CSSParserContext& context)
{
- return adoptRef(*new StyleSheetContents(0, originalURL, context));
+ return adoptRef(*new StyleSheetContents(nullptr, originalURL, context));
}
static Ref<StyleSheetContents> create(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext& context)
{
@@ -111,7 +111,7 @@
StyleSheetContents* parentStyleSheet() const;
StyleRuleImport* ownerRule() const { return m_ownerRule; }
- void clearOwnerRule() { m_ownerRule = 0; }
+ void clearOwnerRule() { m_ownerRule = nullptr; }
// Note that href is the URL that started the redirect chain that led to
// this style sheet. This property probably isn't useful for much except
Modified: trunk/Source/WebCore/css/parser/CSSParser.cpp (281425 => 281426)
--- trunk/Source/WebCore/css/parser/CSSParser.cpp 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/parser/CSSParser.cpp 2021-08-23 00:52:28 UTC (rev 281426)
@@ -65,7 +65,7 @@
CSSParser::~CSSParser() = default;
-void CSSParser::parseSheet(StyleSheetContents* sheet, const String& string, RuleParsing ruleParsing)
+void CSSParser::parseSheet(StyleSheetContents& sheet, const String& string, RuleParsing ruleParsing)
{
return CSSParserImpl::parseStyleSheet(string, m_context, sheet, ruleParsing);
}
Modified: trunk/Source/WebCore/css/parser/CSSParser.h (281425 => 281426)
--- trunk/Source/WebCore/css/parser/CSSParser.h 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/parser/CSSParser.h 2021-08-23 00:52:28 UTC (rev 281426)
@@ -64,7 +64,7 @@
WEBCORE_EXPORT ~CSSParser();
enum class RuleParsing { Normal, Deferred };
- void parseSheet(StyleSheetContents*, const String&, RuleParsing = RuleParsing::Normal);
+ void parseSheet(StyleSheetContents&, const String&, RuleParsing = RuleParsing::Normal);
static RefPtr<StyleRuleBase> parseRule(const CSSParserContext&, StyleSheetContents*, const String&);
Modified: trunk/Source/WebCore/css/parser/CSSParserImpl.cpp (281425 => 281426)
--- trunk/Source/WebCore/css/parser/CSSParserImpl.cpp 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/parser/CSSParserImpl.cpp 2021-08-23 00:52:28 UTC (rev 281426)
@@ -243,16 +243,16 @@
return rule;
}
-void CSSParserImpl::parseStyleSheet(const String& string, const CSSParserContext& context, StyleSheetContents* styleSheet, CSSParser::RuleParsing ruleParsing)
+void CSSParserImpl::parseStyleSheet(const String& string, const CSSParserContext& context, StyleSheetContents& styleSheet, CSSParser::RuleParsing ruleParsing)
{
- CSSParserImpl parser(context, string, styleSheet, nullptr, ruleParsing);
+ CSSParserImpl parser(context, string, &styleSheet, nullptr, ruleParsing);
bool firstRuleValid = parser.consumeRuleList(parser.tokenizer()->tokenRange(), TopLevelRuleList, [&styleSheet](RefPtr<StyleRuleBase> rule) {
if (rule->isCharsetRule())
return;
- styleSheet->parserAppendRule(rule.releaseNonNull());
+ styleSheet.parserAppendRule(rule.releaseNonNull());
});
- styleSheet->setHasSyntacticallyValidCSSHeader(firstRuleValid);
- styleSheet->shrinkToFit();
+ styleSheet.setHasSyntacticallyValidCSSHeader(firstRuleValid);
+ styleSheet.shrinkToFit();
parser.adoptTokenizerEscapedStrings();
}
Modified: trunk/Source/WebCore/css/parser/CSSParserImpl.h (281425 => 281426)
--- trunk/Source/WebCore/css/parser/CSSParserImpl.h 2021-08-23 00:46:27 UTC (rev 281425)
+++ trunk/Source/WebCore/css/parser/CSSParserImpl.h 2021-08-23 00:52:28 UTC (rev 281426)
@@ -89,7 +89,7 @@
static Ref<ImmutableStyleProperties> parseInlineStyleDeclaration(const String&, const Element*);
static bool parseDeclarationList(MutableStyleProperties*, const String&, const CSSParserContext&);
static RefPtr<StyleRuleBase> parseRule(const String&, const CSSParserContext&, StyleSheetContents*, AllowedRulesType);
- static void parseStyleSheet(const String&, const CSSParserContext&, StyleSheetContents*, CSSParser::RuleParsing);
+ static void parseStyleSheet(const String&, const CSSParserContext&, StyleSheetContents&, CSSParser::RuleParsing);
static CSSSelectorList parsePageSelector(CSSParserTokenRange, StyleSheetContents*);
static Vector<double> parseKeyframeKeyList(const String&);