Changeset 63365 in webkit


Ignore:
Timestamp:
Jul 14, 2010 3:49:39 PM (14 years ago)
Author:
Darin Adler
Message:

2010-07-14 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
https://bugs.webkit.org/show_bug.cgi?id=42008

TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
https://bugs.webkit.org/show_bug.cgi?id=42010

Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html

fast/dom/TreeWalker/previousSiblingLastChildSkip.html

  • dom/TreeWalker.cpp: (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild. (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting the lastChild loop when we encounter it.

2010-07-14 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
https://bugs.webkit.org/show_bug.cgi?id=42008

TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
https://bugs.webkit.org/show_bug.cgi?id=42010

  • fast/dom/TreeWalker/previousNodeLastChildReject-expected.txt: Added.
  • fast/dom/TreeWalker/previousNodeLastChildReject.html: Added.
  • fast/dom/TreeWalker/previousSiblingLastChildSkip-expected.txt: Added.
  • fast/dom/TreeWalker/previousSiblingLastChildSkip.html: Added.
  • fast/dom/TreeWalker/script-tests: Added.
  • fast/dom/TreeWalker/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/dom/Element/script-tests/TEMPLATE.html.
  • fast/dom/TreeWalker/script-tests/previousNodeLastChildReject.js: Added.
  • fast/dom/TreeWalker/script-tests/previousSiblingLastChildSkip.js: Added.
Location:
trunk
Files:
7 added
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r63359 r63365  
     12010-07-14  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
     6        https://bugs.webkit.org/show_bug.cgi?id=42008
     7
     8        TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
     9        https://bugs.webkit.org/show_bug.cgi?id=42010
     10
     11        * fast/dom/TreeWalker/previousNodeLastChildReject-expected.txt: Added.
     12        * fast/dom/TreeWalker/previousNodeLastChildReject.html: Added.
     13        * fast/dom/TreeWalker/previousSiblingLastChildSkip-expected.txt: Added.
     14        * fast/dom/TreeWalker/previousSiblingLastChildSkip.html: Added.
     15        * fast/dom/TreeWalker/script-tests: Added.
     16        * fast/dom/TreeWalker/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/dom/Element/script-tests/TEMPLATE.html.
     17        * fast/dom/TreeWalker/script-tests/previousNodeLastChildReject.js: Added.
     18        * fast/dom/TreeWalker/script-tests/previousSiblingLastChildSkip.js: Added.
     19
    1202010-07-14  Ojan Vafai  <ojan@chromium.org>
    221
  • trunk/WebCore/ChangeLog

    r63361 r63365  
     12010-07-14  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
     6        https://bugs.webkit.org/show_bug.cgi?id=42008
     7
     8        TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
     9        https://bugs.webkit.org/show_bug.cgi?id=42010
     10
     11        Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
     12               fast/dom/TreeWalker/previousSiblingLastChildSkip.html
     13
     14        * dom/TreeWalker.cpp:
     15        (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
     16        (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
     17        the lastChild loop when we encounter it.
     18
    1192010-07-14  Sam Weinig  <sam@webkit.org>
    220
  • trunk/WebCore/dom/TreeWalker.cpp

    r39003 r63365  
    152152                    return m_current.get();
    153153                case NodeFilter::FILTER_SKIP:
    154                     if (sibling->firstChild()) {
    155                         sibling = sibling->firstChild();
     154                    if (sibling->lastChild()) {
     155                        sibling = sibling->lastChild();
    156156                        continue;
    157157                    }
     
    225225                if (state && state->hadException())
    226226                    return 0;
    227                 if (acceptNodeResult == NodeFilter::FILTER_ACCEPT)
    228                     continue;
     227                if (acceptNodeResult == NodeFilter::FILTER_REJECT)
     228                    break;
    229229            }
    230230            if (acceptNodeResult == NodeFilter::FILTER_ACCEPT) {
Note: See TracChangeset for help on using the changeset viewer.