Remove an useless check from SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=134868

Reviewed by Darin Adler.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
The condition of this if() branch can never be met for the mode "QueryingRules".

The next condition in that if() is "dynamicPseudo != NOPSEUDO", which implies
a pseudo element was matched prior to the current context/simple selector.
This cannot happen with QueryingRules, since we never match pseudo elements for
SelectorQuery.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove SelectorCheckerFastPath from the style resolution algorithm
https://bugs.webkit.org/show_bug.cgi?id=134866

Reviewed by Antti Koivisto.

SelectorCheckerFastPath is now pure overhead because it can almost never match
if the CSS JIT was unable to compile.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
The "pre-filter" behind fastCheckableSelector had two parts:
1) Filtering the pseudoID.
2) Filtering on the rule hash.

The first part has been generalized (RuleDatacanMatchPseudoElement())
and moved to collectMatchingRulesForList(). 

(WebCore::ElementRuleCollector::collectMatchingRulesForList):
* css/RuleSet.cpp:
(WebCore::selectorCanMatchPseudoElement):
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addRulesFromSheet):
* css/RuleSet.h:
(WebCore::RuleData::canMatchPseudoElement):
(WebCore::RuleData::hasFastCheckableSelector): Deleted.
* css/StyleResolver.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171059 268f45cc-cd09-0410-ab3c-d52691b4dbfc