Skip to content

Commit

Permalink
Rename parserSelector variables to mutableSelector
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=267151
rdar://120558236

Reviewed by Aditya Keerthi.

This should have been done as part of the CSSParserSelector -> MutableCSSSelector rename in 272620@main.

* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeScopeRule):
(WebCore::CSSParserImpl::consumeStyleRule):
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::supportsComplexSelector):
(WebCore::CSSSelectorParser::resolveNestingParent):

Canonical link: https://commits.webkit.org/272708@main
  • Loading branch information
nt1m committed Jan 5, 2024
1 parent 0058f6b commit a97369f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
22 changes: 11 additions & 11 deletions Source/WebCore/css/parser/CSSParserImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1008,17 +1008,17 @@ RefPtr<StyleRuleScope> CSSParserImpl::consumeScopeRule(CSSParserTokenRange prelu
CSSParserTokenRange selectorListRange = prelude.makeSubRange(selectorListRangeStart, &prelude.peek());

// Parse the selector list range
auto parserSelectorList = parseMutableCSSSelectorList(selectorListRange, m_context, m_styleSheet.get(), last.has_value() ? CSSParserEnum::IsNestedContext::Yes : CSSParserEnum::IsNestedContext::No, CSSParserEnum::IsForgiving::Yes);
if (parserSelectorList.isEmpty())
auto mutableSelectorList = parseMutableCSSSelectorList(selectorListRange, m_context, m_styleSheet.get(), last.has_value() ? CSSParserEnum::IsNestedContext::Yes : CSSParserEnum::IsNestedContext::No, CSSParserEnum::IsForgiving::Yes);
if (mutableSelectorList.isEmpty())
return false;

// In nested context, add the implicit :scope or &
if (last) {
for (auto& parserSelector : parserSelectorList) {
for (auto& mutableSelector : mutableSelectorList) {
if (*last == AncestorRuleType::Scope)
appendImplicitSelectorPseudoClassScopeIfNeeded(*parserSelector);
appendImplicitSelectorPseudoClassScopeIfNeeded(*mutableSelector);
else if (*last == AncestorRuleType::Style)
appendImplicitSelectorNestingParentIfNeeded(*parserSelector);
appendImplicitSelectorNestingParentIfNeeded(*mutableSelector);
}
}

Expand All @@ -1028,7 +1028,7 @@ RefPtr<StyleRuleScope> CSSParserImpl::consumeScopeRule(CSSParserTokenRange prelu
prelude.consumeIncludingWhitespace();

// Return the correctly parsed scope
scope = CSSSelectorList { WTFMove(parserSelectorList) };
scope = CSSSelectorList { WTFMove(mutableSelectorList) };
return true;
};
std::optional<AncestorRuleType> last;
Expand Down Expand Up @@ -1262,20 +1262,20 @@ static void observeSelectors(CSSParserObserverWrapper& wrapper, CSSParserTokenRa
RefPtr<StyleRuleBase> CSSParserImpl::consumeStyleRule(CSSParserTokenRange prelude, CSSParserTokenRange block)
{
auto preludeCopyForInspector = prelude;
auto parserSelectorList = parseMutableCSSSelectorList(prelude, m_context, m_styleSheet.get(), isNestedContext() ? CSSParserEnum::IsNestedContext::Yes : CSSParserEnum::IsNestedContext::No, CSSParserEnum::IsForgiving::No);
auto mutableSelectorList = parseMutableCSSSelectorList(prelude, m_context, m_styleSheet.get(), isNestedContext() ? CSSParserEnum::IsNestedContext::Yes : CSSParserEnum::IsNestedContext::No, CSSParserEnum::IsForgiving::No);

if (parserSelectorList.isEmpty())
if (mutableSelectorList.isEmpty())
return nullptr; // Parse error, invalid selector list

if (!m_ancestorRuleTypeStack.isEmpty()) {
// https://drafts.csswg.org/css-nesting/#cssom
// Relative selector should be absolutized (only when not "nest-containing" for the descendant one),
// with the implied nesting selector inserted.
for (auto& parserSelector : parserSelectorList)
appendImplicitSelectorIfNeeded(*parserSelector, m_ancestorRuleTypeStack.last());
for (auto& mutableSelector : mutableSelectorList)
appendImplicitSelectorIfNeeded(*mutableSelector, m_ancestorRuleTypeStack.last());
}

auto selectorList = CSSSelectorList { WTFMove(parserSelectorList) };
auto selectorList = CSSSelectorList { WTFMove(mutableSelectorList) };
ASSERT(!selectorList.isEmpty());

if (m_observerWrapper)
Expand Down
14 changes: 7 additions & 7 deletions Source/WebCore/css/parser/CSSSelectorParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -213,16 +213,16 @@ bool CSSSelectorParser::supportsComplexSelector(CSSParserTokenRange range, const
// @supports requires that all arguments parse.
parser.m_disableForgivingParsing = true;

std::unique_ptr<MutableCSSSelector> parserSelector;
std::unique_ptr<MutableCSSSelector> mutableSelector;
if (isNestedContext == CSSParserEnum::IsNestedContext::Yes)
parserSelector = parser.consumeNestedComplexSelector(range);
mutableSelector = parser.consumeNestedComplexSelector(range);
else
parserSelector = parser.consumeComplexSelector(range);
mutableSelector = parser.consumeComplexSelector(range);

if (parser.m_failedParsing || !range.atEnd() || !parserSelector)
if (parser.m_failedParsing || !range.atEnd() || !mutableSelector)
return false;

auto complexSelector = parserSelector->releaseSelector();
auto complexSelector = mutableSelector->releaseSelector();
ASSERT(complexSelector);

return !containsUnknownWebKitPseudoElements(*complexSelector);
Expand Down Expand Up @@ -1207,8 +1207,8 @@ CSSSelectorList CSSSelectorParser::resolveNestingParent(const CSSSelectorList& n
// It's top-level, the nesting parent selector should be replaced by :scope
const_cast<CSSSelector*>(selector)->replaceNestingParentByPseudoClassScope();
}
auto parserSelector = makeUnique<MutableCSSSelector>(*selector);
result.append(WTFMove(parserSelector));
auto mutableSelector = makeUnique<MutableCSSSelector>(*selector);
result.append(WTFMove(mutableSelector));
selector = copiedSelectorList.next(selector);
}

Expand Down

0 comments on commit a97369f

Please sign in to comment.