Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Unified Diff: third_party/WebKit/Source/core/css/SelectorChecker.cpp

Issue 2392343005: Reflow comments in core/css (Closed)
Patch Set: Revert clang-format Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/SelectorChecker.cpp
diff --git a/third_party/WebKit/Source/core/css/SelectorChecker.cpp b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
index a0b8e041ab2e49971f4e5c4d4bfdd8d063e2cba7..ab8e81d691d5b0fe9606adf0c4afaa5ee210b7f4 100644
--- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp
+++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
@@ -2,10 +2,12 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
* Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
+ * All rights reserved.
* Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
* Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
- * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
+ * (http://www.torchmobile.com/)
* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) Research In Motion Limited 2011. All rights reserved.
*
@@ -102,9 +104,10 @@ static bool matchesTagName(const Element& element,
static Element* parentElement(
const SelectorChecker::SelectorCheckingContext& context) {
// - If context.scope is a shadow root, we should walk up to its shadow host.
- // - If context.scope is some element in some shadow tree and querySelector initialized the context,
- // e.g. shadowRoot.querySelector(':host *'),
- // (a) context.element has the same treescope as context.scope, need to walk up to its shadow host.
+ // - If context.scope is some element in some shadow tree and querySelector
+ // initialized the context, e.g. shadowRoot.querySelector(':host *'),
+ // (a) context.element has the same treescope as context.scope, need to walk
+ // up to its shadow host.
// (b) Otherwise, should not walk up from a shadow root to a shadow host.
if (context.scope &&
(context.scope == context.element->containingShadowRoot() ||
@@ -136,9 +139,9 @@ static bool scopeContainsLastMatchedElement(
if (context.scope->treeScope() == context.element->treeScope())
return true;
- // Because Blink treats a shadow host's TreeScope as a separate one from its descendent shadow roots,
- // if the last matched element is a shadow host, the condition above isn't met, even though it
- // should be.
+ // Because Blink treats a shadow host's TreeScope as a separate one from its
+ // descendent shadow roots, if the last matched element is a shadow host, the
+ // condition above isn't met, even though it should be.
return context.element == context.scope->ownerShadowHost() &&
(!context.previousElement ||
context.previousElement->isInDescendantTreeOf(context.element));
@@ -154,9 +157,9 @@ static inline bool nextSelectorExceedsScope(
static bool shouldMatchHoverOrActive(
const SelectorChecker::SelectorCheckingContext& context) {
- // If we're in quirks mode, then :hover and :active should never match anchors with no
- // href and *:hover and *:active should not match anything. This is specified in
- // https://quirks.spec.whatwg.org/#the-:active-and-:hover-quirk
+ // If we're in quirks mode, then :hover and :active should never match anchors
+ // with no href and *:hover and *:active should not match anything. This is
+ // specified in https://quirks.spec.whatwg.org/#the-:active-and-:hover-quirk
if (!context.element->document().inQuirksMode())
return true;
if (context.isSubSelector)
@@ -197,7 +200,8 @@ static bool isLastOfType(Element& element, const QualifiedName& type) {
// * SelectorMatches - the selector matches the element e
// * SelectorFailsLocally - the selector fails for the element e
// * SelectorFailsAllSiblings - the selector fails for e and any sibling of e
-// * SelectorFailsCompletely - the selector fails for e and any sibling or ancestor of e
+// * SelectorFailsCompletely - the selector fails for e and any sibling or
+// ancestor of e
SelectorChecker::Match SelectorChecker::matchSelector(
const SelectorCheckingContext& context,
MatchResult& result) const {
@@ -239,7 +243,7 @@ static inline SelectorChecker::SelectorCheckingContext
prepareNextContextForRelation(
const SelectorChecker::SelectorCheckingContext& context) {
SelectorChecker::SelectorCheckingContext nextContext(context);
- ASSERT(context.selector->tagHistory());
+ DCHECK(context.selector->tagHistory());
nextContext.selector = context.selector->tagHistory();
return nextContext;
}
@@ -290,7 +294,8 @@ SelectorChecker::Match SelectorChecker::matchForRelation(
CSSSelector::RelationType relation = context.selector->relation();
- // Disable :visited matching when we see the first link or try to match anything else than an ancestors.
+ // Disable :visited matching when we see the first link or try to match
+ // anything else than an ancestors.
if (!context.isSubSelector &&
(context.element->isLink() ||
(relation != CSSSelector::Descendant && relation != CSSSelector::Child)))
@@ -380,7 +385,8 @@ SelectorChecker::Match SelectorChecker::matchForRelation(
context.selector->getPseudoType() == CSSSelector::PseudoShadow)
Deprecation::countDeprecation(context.element->document(),
UseCounter::CSSSelectorPseudoShadow);
- // If we're in the same tree-scope as the scoping element, then following a shadow descendant combinator would escape that and thus the scope.
+ // If we're in the same tree-scope as the scoping element, then following
+ // a shadow descendant combinator would escape that and thus the scope.
if (context.scope && context.scope->ownerShadowHost() &&
context.scope->ownerShadowHost()->treeScope() ==
context.element->treeScope())
@@ -403,7 +409,8 @@ SelectorChecker::Match SelectorChecker::matchForRelation(
}
if (context.selector->relationIsAffectedByPseudoContent()) {
- // TODO(kochi): closed mode tree should be handled as well for ::content.
+ // TODO(kochi): closed mode tree should be handled as well for
+ // ::content.
for (Element* element = context.element; element;
element = element->parentOrShadowHostElement()) {
if (matchForPseudoContent(nextContext, *element, result) ==
@@ -445,7 +452,7 @@ SelectorChecker::Match SelectorChecker::matchForRelation(
case CSSSelector::SubSelector:
break;
}
- ASSERT_NOT_REACHED();
+ NOTREACHED();
return SelectorFailsCompletely;
}
@@ -529,7 +536,7 @@ static bool attributeValueMatches(const Attribute& attributeItem,
return false;
return true;
default:
- ASSERT_NOT_REACHED();
+ NOTREACHED();
return false;
}
}
@@ -538,11 +545,12 @@ static bool anyAttributeMatches(Element& element,
CSSSelector::MatchType match,
const CSSSelector& selector) {
const QualifiedName& selectorAttr = selector.attribute();
- ASSERT(selectorAttr.localName() !=
- starAtom); // Should not be possible from the CSS grammar.
+ // Should not be possible from the CSS grammar.
+ DCHECK_NE(selectorAttr.localName(), starAtom);
// Synchronize the attribute in case it is lazy-computed.
- // Currently all lazy properties have a null namespace, so only pass localName().
+ // Currently all lazy properties have a null namespace, so only pass
+ // localName().
element.synchronizeAttribute(selectorAttr.localName());
const AtomicString& selectorValue = selector.value();
@@ -591,12 +599,13 @@ static bool anyAttributeMatches(Element& element,
bool SelectorChecker::checkOne(const SelectorCheckingContext& context,
MatchResult& result) const {
- ASSERT(context.element);
+ DCHECK(context.element);
Element& element = *context.element;
- ASSERT(context.selector);
+ DCHECK(context.selector);
const CSSSelector& selector = *context.selector;
- // Only :host and :host-context() should match the host: http://drafts.csswg.org/css-scoping/#host-element
+ // Only :host and :host-context() should match the host:
+ // http://drafts.csswg.org/css-scoping/#host-element
if (context.scope && context.scope->ownerShadowHost() == element &&
(!selector.isHostPseudoClass() && !context.treatShadowHostAsNormalScope &&
selector.match() != CSSSelector::PseudoElement))
@@ -628,7 +637,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context,
return checkPseudoElement(context, result);
default:
- ASSERT_NOT_REACHED();
+ NOTREACHED();
return false;
}
}
@@ -639,22 +648,24 @@ bool SelectorChecker::checkPseudoNot(const SelectorCheckingContext& context,
SelectorCheckingContext subContext(context);
subContext.isSubSelector = true;
- ASSERT(selector.selectorList());
+ DCHECK(selector.selectorList());
for (subContext.selector = selector.selectorList()->first();
subContext.selector;
subContext.selector = subContext.selector->tagHistory()) {
// :not cannot nest. I don't really know why this is a
// restriction in CSS3, but it is, so let's honor it.
// the parser enforces that this never occurs
- ASSERT(subContext.selector->getPseudoType() != CSSSelector::PseudoNot);
- // We select between :visited and :link when applying. We don't know which one applied (or not) yet.
+ DCHECK_NE(subContext.selector->getPseudoType(), CSSSelector::PseudoNot);
+ // We select between :visited and :link when applying. We don't know which
+ // one applied (or not) yet.
if (subContext.selector->getPseudoType() == CSSSelector::PseudoVisited ||
(subContext.selector->getPseudoType() == CSSSelector::PseudoLink &&
subContext.visitedMatchType == VisitedMatchEnabled))
return true;
if (m_mode == SharingRules) {
// context.scope is not available if m_mode == SharingRules.
- // We cannot determine whether :host or :scope matches a given element or not.
+ // We cannot determine whether :host or :scope matches a given element or
+ // not.
if (subContext.selector->isHostPseudoClass() ||
subContext.selector->getPseudoType() == CSSSelector::PseudoScope)
return true;
@@ -679,7 +690,8 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
const CSSSelector& selector = *context.selector;
if (context.hasScrollbarPseudo) {
- // CSS scrollbars match a specific subset of pseudo classes, and they have specialized rules for each
+ // CSS scrollbars match a specific subset of pseudo classes, and they have
+ // specialized rules for each
// (since there are no elements involved).
return checkScrollbarPseudoClass(context, result);
}
@@ -816,7 +828,7 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
case CSSSelector::PseudoAny: {
SelectorCheckingContext subContext(context);
subContext.isSubSelector = true;
- ASSERT(selector.selectorList());
+ DCHECK(selector.selectorList());
for (subContext.selector = selector.selectorList()->first();
subContext.selector;
subContext.selector = CSSSelectorList::next(*subContext.selector)) {
@@ -953,10 +965,11 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
return true;
}
case CSSSelector::PseudoFullScreen:
- // While a Document is in the fullscreen state, and the document's current fullscreen
- // element is an element in the document, the 'full-screen' pseudoclass applies to
- // that element. Also, an <iframe>, <object> or <embed> element whose child browsing
- // context's Document is in the fullscreen state has the 'full-screen' pseudoclass applied.
+ // While a Document is in the fullscreen state, and the document's current
+ // fullscreen element is an element in the document, the 'full-screen'
+ // pseudoclass applies to that element. Also, an <iframe>, <object> or
+ // <embed> element whose child browsing context's Document is in the
+ // fullscreen state has the 'full-screen' pseudoclass applied.
if (isHTMLFrameElementBase(element) &&
element.containsFullScreenElement())
return true;
@@ -1020,7 +1033,7 @@ bool SelectorChecker::checkPseudoClass(const SelectorCheckingContext& context,
return false;
case CSSSelector::PseudoUnknown:
default:
- ASSERT_NOT_REACHED();
+ NOTREACHED();
break;
}
return false;
@@ -1066,8 +1079,8 @@ bool SelectorChecker::checkPseudoElement(const SelectorCheckingContext& context,
subContext.treatShadowHostAsNormalScope = false;
// ::slotted() only allows one compound selector.
- ASSERT(selector.selectorList()->first());
- ASSERT(!CSSSelectorList::next(*selector.selectorList()->first()));
+ DCHECK(selector.selectorList()->first());
+ DCHECK(!CSSSelectorList::next(*selector.selectorList()->first()));
subContext.selector = selector.selectorList()->first();
return match(subContext);
}
@@ -1078,9 +1091,9 @@ bool SelectorChecker::checkPseudoElement(const SelectorCheckingContext& context,
default:
if (m_mode == SharingRules)
return true;
- ASSERT(m_mode != QueryingRules);
+ DCHECK_NE(m_mode, QueryingRules);
result.dynamicPseudo = CSSSelector::pseudoId(selector.getPseudoType());
- ASSERT(result.dynamicPseudo != PseudoIdNone);
+ DCHECK_NE(result.dynamicPseudo, PseudoIdNone);
return true;
}
}
@@ -1092,13 +1105,14 @@ bool SelectorChecker::checkPseudoHost(const SelectorCheckingContext& context,
if (m_mode == SharingRules)
return true;
- // :host only matches a shadow host when :host is in a shadow tree of the shadow host.
+ // :host only matches a shadow host when :host is in a shadow tree of the
+ // shadow host.
if (!context.scope)
return false;
const ContainerNode* shadowHost = context.scope->ownerShadowHost();
if (!shadowHost || shadowHost != element)
return false;
- ASSERT(element.shadow());
+ DCHECK(element.shadow());
// For the case with no parameters, i.e. just :host.
if (!selector.selectorList())
@@ -1110,13 +1124,15 @@ bool SelectorChecker::checkPseudoHost(const SelectorCheckingContext& context,
bool matched = false;
unsigned maxSpecificity = 0;
- // If one of simple selectors matches an element, returns SelectorMatches. Just "OR".
+ // If one of simple selectors matches an element, returns SelectorMatches.
+ // Just "OR".
for (subContext.selector = selector.selectorList()->first();
subContext.selector;
subContext.selector = CSSSelectorList::next(*subContext.selector)) {
subContext.treatShadowHostAsNormalScope = true;
subContext.scope = context.scope;
- // Use FlatTreeTraversal to traverse a composed ancestor list of a given element.
+ // Use FlatTreeTraversal to traverse a composed ancestor list of a given
+ // element.
Element* nextElement = &element;
SelectorCheckingContext hostContext(subContext);
do {
@@ -1157,7 +1173,8 @@ bool SelectorChecker::checkScrollbarPseudoClass(
if (selector.getPseudoType() == CSSSelector::PseudoNot)
return checkPseudoNot(context, result);
- // FIXME: This is a temporary hack for resizers and scrollbar corners. Eventually :window-inactive should become a real
+ // FIXME: This is a temporary hack for resizers and scrollbar corners.
+ // Eventually :window-inactive should become a real
// pseudo class and just apply to everything.
if (selector.getPseudoType() == CSSSelector::PseudoWindowInactive)
return !context.element->document().page()->focusController().isActive();
« no previous file with comments | « third_party/WebKit/Source/core/css/SelectorChecker.h ('k') | third_party/WebKit/Source/core/css/SelectorFilter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698