Reintroduce the HTMLNodeFilterValue for Tree Walker implementation

While the Node Iterator treats skip & reject the same way, the Tree Walker can skip over a node
and all its children if rejected.

This reverses dc3de7a470
This commit is contained in:
iska
2015-06-05 22:54:37 +02:00
parent 0c82f6891b
commit a390edf599
10 changed files with 61 additions and 50 deletions
+4 -3
View File
@@ -310,13 +310,14 @@
{
HTMLDocument *document = self.mixedTree;
HTMLNodeIterator *iterator = [document nodeIteratorWithShowOptions:HTMLNodeFilterShowAll filterBlock:^BOOL(HTMLNode *node) {
HTMLNodeIterator *iterator = [document nodeIteratorWithShowOptions:HTMLNodeFilterShowAll
filterBlock:^HTMLNodeFilterValue(HTMLNode *node) {
if (node.nodeType == HTMLNodeComment) {
if ([[(HTMLComment *)node data] rangeOfString:@"second"].location != NSNotFound) {
return YES;
return HTMLNodeFilterAccept;
}
}
return NO;
return HTMLNodeFilterSkip;
}];
NSArray *result = iterator.allObjects;