2010-10-19 Hayato Ito <hayato@chromium.org>
authorhayato@chromium.org <hayato@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Oct 2010 08:57:14 +0000 (08:57 +0000)
committerhayato@chromium.org <hayato@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Oct 2010 08:57:14 +0000 (08:57 +0000)
commitc8b3dde347a44010bf680216f9e62ebb135efc07
treef0cabd5053651fd869026cb2c723ee7cf1e343ea
parenta52b925bcd1fe8da8e5b10a941c8771fd6a4588b
2010-10-19  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Make CSS style selector non-recursive.
        https://bugs.webkit.org/show_bug.cgi?id=43783

        This change is one of the required changes to fix the following master bug:
        https://bugs.webkit.org/show_bug.cgi?id=42806

        To avoid recursion, we prepare a call stack and maintain a list of
        function call state by ourselves and try matching iteratively.

        * fast/css/long-css-selector-matches-expected.txt: Added.
        * fast/css/long-css-selector-matches.html: Added.
2010-10-19  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Make CSS style selector non-recursive.
        https://bugs.webkit.org/show_bug.cgi?id=43783

        This change is one of the required changes to fix the following master bug:
        https://bugs.webkit.org/show_bug.cgi?id=42806

        To avoid recursion, we prepare a call stack and maintain a list of
        function call state by ourselves and try matching iteratively.

        Test: fast/css/long-css-selector-matches.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        (WebCore::CSSStyleSelector::checkSelector):
        * css/CSSStyleSelector.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/css/long-css-selector-matches-expected.txt [new file with mode: 0644]
LayoutTests/fast/css/long-css-selector-matches.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/css/CSSStyleSelector.cpp
WebCore/css/CSSStyleSelector.h