Split fast-rejection filter logic off SelectorChecker.
authordglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Dec 2012 05:05:13 +0000 (05:05 +0000)
committerdglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Dec 2012 05:05:13 +0000 (05:05 +0000)
commit1eae51f451a41cc72629af84f2164888b444efed
tree9aed0e1ea644b6dcdce59c2ad1f2e05e7665cdbc
parentfa9a5355fe4b7d5c94b6960045eda6797b1bb518
Split fast-rejection filter logic off SelectorChecker.
https://bugs.webkit.org/show_bug.cgi?id=105660

The awesome Bloom filter and parent stack logic don't need to be in SelectorChecker. They nicely factor out
into their own pretty thing, named thereby SelectorFilter.

Reviewed by Eric Seidel.

No change in functionality, covered by existing tests.

* CMakeLists.txt: Added SelectorFilter to build systems.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/CSSAllInOne.cpp: Ditto.
* css/RuleSet.cpp: Changed to use SelectorFilter.
(WebCore::RuleData::RuleData): Ditto.
* css/SelectorChecker.cpp: Ditto.
* css/SelectorChecker.h: Ditto.
(SelectorChecker):
* css/StyleResolver.cpp: Ditto.
(WebCore):
(WebCore::StyleResolver::pushParentElement): Ditto.
(WebCore::StyleResolver::popParentElement): Ditto.
(WebCore::StyleResolver::collectMatchingRulesForList): Ditto.
* css/StyleResolver.h:
(StyleResolver): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/css/CSSAllInOne.cpp
Source/WebCore/css/RuleSet.cpp
Source/WebCore/css/SelectorChecker.cpp
Source/WebCore/css/SelectorChecker.h
Source/WebCore/css/SelectorFilter.cpp [new file with mode: 0644]
Source/WebCore/css/SelectorFilter.h [new file with mode: 0644]
Source/WebCore/css/StyleResolver.cpp
Source/WebCore/css/StyleResolver.h