Index: LayoutTests/fast/events/touch/touch-action-double-remove.html |
diff --git a/LayoutTests/fast/events/touch/touch-action-double-remove.html b/LayoutTests/fast/events/touch/touch-action-double-remove.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a7db617a4a11b8035af31ec9413261992c9bbaf |
--- /dev/null |
+++ b/LayoutTests/fast/events/touch/touch-action-double-remove.html |
@@ -0,0 +1,27 @@ |
+<!DOCTYPE html> |
+<style> |
+br { |
+ touch-action: none; |
+} |
+</style> |
+<!-- |
+This is a regression test against a double unregistration of a touch action |
+event handler on a <br> element. When the document finishes loading and is |
+attached to the view, all of its RenderObjects are destroyed and recreated. If |
+a RenderObject had a touch action associated with it, it will need to remove |
+the fake event handler it registered for it in the EventHandlerRegistry. |
+However, when the document gets detached, all of the event handlers within it |
+are automatically unregistered. When the RenderObject tries to unregister its |
+own handler after the fact, it is no longer there and we hit an assertion |
+failure. |
+ |
+Note that this test doesn't use js-test.js because it also inadvertedly |
+triggers the same bug by appending <br> elements to the document. |
+ |
+The test passes if it doesn't trigger an assertion failure in a debug build. |
+--> |
+<script> |
+if (window.testRunner) |
+ testRunner.dumpAsText(); |
+</script> |
+PASS<br> |