Index: third_party/WebKit/LayoutTests/fast/dom/node-filter-use-counters.html |
diff --git a/third_party/WebKit/LayoutTests/fast/dom/node-filter-use-counters.html b/third_party/WebKit/LayoutTests/fast/dom/node-filter-use-counters.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..14a3ae1fe3a59f4223252baf31d3c9589b2e5b02 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/dom/node-filter-use-counters.html |
@@ -0,0 +1,39 @@ |
+<!DOCTYPE html> |
+<title>NodeFilter UseCounters</title> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<script> |
+test(function() { |
+ var NodeFilterIsFunction = 1059; // From UseCounter.h |
+ |
+ assert_false(internals.isUseCounted(document, NodeFilterIsFunction)); |
+ |
+ var filterCalled = false; |
+ var filter = function() { |
+ assert_true(internals.isUseCounted(document, NodeFilterIsFunction)); |
+ filter.called = true; |
+ }; |
+ |
+ var iterator = document.createNodeIterator(document, 0, filter); |
+ iterator.filter.acceptNode(document); |
+ assert_true(filter.called); |
+}, 'NodeFilter UseCounter for callback function'); |
+ |
+test(function() { |
+ var NodeFilterIsObject = 1060; // From UseCounter.h |
+ |
+ assert_false(internals.isUseCounted(document, NodeFilterIsObject)); |
+ |
+ var filter = { |
+ acceptNodeCalled: false, |
+ acceptNode: function() { |
+ assert_true(internals.isUseCounted(document, NodeFilterIsObject)); |
+ filter.called = true; |
+ } |
+ }; |
+ |
+ var iterator = document.createNodeIterator(document, 0, filter); |
+ iterator.filter.acceptNode(document); |
+ assert_true(filter.called); |
+}, 'NodeFilter UseCounter for callback function'); |
+</script> |