diff --git a/dom/events/Event-cancelBubble.html b/dom/events/Event-cancelBubble.html
new file mode 100644
index 00000000000000..43f83dc3b63b7b
--- /dev/null
+++ b/dom/events/Event-cancelBubble.html
@@ -0,0 +1,132 @@
+
+
+
+
+ Event.cancelBubble
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dom/events/Event-dispatch-bubble-canceled.html b/dom/events/Event-dispatch-bubble-canceled.html
new file mode 100644
index 00000000000000..20f398f66f9bcf
--- /dev/null
+++ b/dom/events/Event-dispatch-bubble-canceled.html
@@ -0,0 +1,59 @@
+
+
+
+Setting cancelBubble=true prior to dispatchEvent()
+
+
+
+
+
+
+
+
+
+ Shady Grove |
+ Aeolian |
+
+
+ Over the river, Charlie |
+ Dorian |
+
+
+
+
+
+
+
diff --git a/dom/events/Event-dispatch-multiple-cancelBubble.html b/dom/events/Event-dispatch-multiple-cancelBubble.html
new file mode 100644
index 00000000000000..2873fd7794b782
--- /dev/null
+++ b/dom/events/Event-dispatch-multiple-cancelBubble.html
@@ -0,0 +1,51 @@
+
+
+
+Multiple dispatchEvent() and cancelBubble
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dom/events/Event-initEvent.html b/dom/events/Event-initEvent.html
index 85abdff2fe7bdb..568232a53c1a64 100644
--- a/dom/events/Event-initEvent.html
+++ b/dom/events/Event-initEvent.html
@@ -85,6 +85,7 @@
var target = document.createElement("div")
var called = false
target.addEventListener("type", function() { called = true }, false)
+ assert_false(e.cancelBubble, "cancelBubble must be false")
assert_true(target.dispatchEvent(e), "dispatchEvent must return true")
assert_true(called, "Listener must be called")
}, "Calling initEvent must unset the stop propagation flag.")
diff --git a/dom/events/Event-propagation.html b/dom/events/Event-propagation.html
index 459d45c1886ca4..33989eb4bf9526 100644
--- a/dom/events/Event-propagation.html
+++ b/dom/events/Event-propagation.html
@@ -38,4 +38,11 @@
testPropagationFlag(ev, false, "After stopImmediatePropagation()");
ev.initEvent("foo", true, false);
testPropagationFlag(ev, true, "Reinitialized after stopImmediatePropagation()");
+
+var ev = document.createEvent("Event");
+ev.initEvent("foo", true, false);
+ev.cancelBubble = true;
+testPropagationFlag(ev, false, "After cancelBubble=true");
+ev.initEvent("foo", true, false);
+testPropagationFlag(ev, true, "Reinitialized after cancelBubble=true");