| Index: Source/core/css/CSSSelectorList.cpp
|
| diff --git a/Source/core/css/CSSSelectorList.cpp b/Source/core/css/CSSSelectorList.cpp
|
| index a3b8bdc7c12204a55d3c95fa62911be1935292ed..26892fd5c916c43aa68191180768ca17da5d2ab0 100644
|
| --- a/Source/core/css/CSSSelectorList.cpp
|
| +++ b/Source/core/css/CSSSelectorList.cpp
|
| @@ -112,7 +112,7 @@ String CSSSelectorList::selectorsText() const
|
| {
|
| StringBuilder result;
|
|
|
| - for (const CSSSelector* s = first(); s; s = next(s)) {
|
| + for (const CSSSelector* s = first(); s; s = next(*s)) {
|
| if (s != first())
|
| result.append(", ");
|
| result.append(s->selectorText());
|
| @@ -122,20 +122,19 @@ String CSSSelectorList::selectorsText() const
|
| }
|
|
|
| template <typename Functor>
|
| -static bool forEachTagSelector(Functor& functor, const CSSSelector* selector)
|
| +static bool forEachTagSelector(Functor& functor, const CSSSelector& selector)
|
| {
|
| - ASSERT(selector);
|
| -
|
| + const CSSSelector* current = &selector;
|
| do {
|
| - if (functor(selector))
|
| + if (functor(*current))
|
| return true;
|
| - if (const CSSSelectorList* selectorList = selector->selectorList()) {
|
| - for (const CSSSelector* subSelector = selectorList->first(); subSelector; subSelector = CSSSelectorList::next(subSelector)) {
|
| - if (forEachTagSelector(functor, subSelector))
|
| + if (const CSSSelectorList* selectorList = current->selectorList()) {
|
| + for (const CSSSelector* subSelector = selectorList->first(); subSelector; subSelector = CSSSelectorList::next(*subSelector)) {
|
| + if (forEachTagSelector(functor, *subSelector))
|
| return true;
|
| }
|
| }
|
| - } while ((selector = selector->tagHistory()));
|
| + } while ((current = current->tagHistory()));
|
|
|
| return false;
|
| }
|
| @@ -143,8 +142,8 @@ static bool forEachTagSelector(Functor& functor, const CSSSelector* selector)
|
| template <typename Functor>
|
| static bool forEachSelector(Functor& functor, const CSSSelectorList* selectorList)
|
| {
|
| - for (const CSSSelector* selector = selectorList->first(); selector; selector = CSSSelectorList::next(selector)) {
|
| - if (forEachTagSelector(functor, selector))
|
| + for (const CSSSelector* selector = selectorList->first(); selector; selector = CSSSelectorList::next(*selector)) {
|
| + if (forEachTagSelector(functor, *selector))
|
| return true;
|
| }
|
|
|
| @@ -153,11 +152,11 @@ static bool forEachSelector(Functor& functor, const CSSSelectorList* selectorLis
|
|
|
| class SelectorNeedsNamespaceResolutionFunctor {
|
| public:
|
| - bool operator()(const CSSSelector* selector)
|
| + bool operator()(const CSSSelector& selector)
|
| {
|
| - if (selector->m_match == CSSSelector::Tag && selector->tagQName().prefix() != nullAtom && selector->tagQName().prefix() != starAtom)
|
| + if (selector.m_match == CSSSelector::Tag && selector.tagQName().prefix() != nullAtom && selector.tagQName().prefix() != starAtom)
|
| return true;
|
| - if (selector->isAttributeSelector() && selector->attribute().prefix() != nullAtom && selector->attribute().prefix() != starAtom)
|
| + if (selector.isAttributeSelector() && selector.attribute().prefix() != nullAtom && selector.attribute().prefix() != starAtom)
|
| return true;
|
| return false;
|
| }
|
| @@ -171,9 +170,9 @@ bool CSSSelectorList::selectorsNeedNamespaceResolution()
|
|
|
| class SelectorHasShadowDistributed {
|
| public:
|
| - bool operator()(const CSSSelector* selector)
|
| + bool operator()(const CSSSelector& selector)
|
| {
|
| - return selector->relationIsAffectedByPseudoContent();
|
| + return selector.relationIsAffectedByPseudoContent();
|
| }
|
| };
|
|
|
| @@ -185,9 +184,9 @@ bool CSSSelectorList::hasShadowDistributedAt(size_t index) const
|
|
|
| class SelectorHasCombinatorCrossingTreeBoundary {
|
| public:
|
| - bool operator()(const CSSSelector* selector)
|
| + bool operator()(const CSSSelector& selector)
|
| {
|
| - return selector->relation() == CSSSelector::ChildTree || selector->relation() == CSSSelector::DescendantTree;
|
| + return selector.relation() == CSSSelector::ChildTree || selector.relation() == CSSSelector::DescendantTree;
|
| }
|
| };
|
|
|
|
|