Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: third_party/WebKit/LayoutTests/fast/dom/shadow/scoped-events-by-ua-stopped.html

Issue 1586563005: Add Event.scoped (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove error from test case as it bubbles up and fails test\ Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/dom/shadow/scoped-events-by-ua-stopped.html
diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/scoped-events-by-ua-stopped.html b/third_party/WebKit/LayoutTests/fast/dom/shadow/scoped-events-by-ua-stopped.html
new file mode 100644
index 0000000000000000000000000000000000000000..a06786ced5b1d9d0a62829c87405851c346232f8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/scoped-events-by-ua-stopped.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<script src="resources/shadow-dom.js"></script>
+<img id="img" src="../../images/resources/test-load.jpg">
+<div id="sandbox">
+ <div id = "host">
+ <template>
+ <img id="target" src="../../images/resources/test-load.jpg">
+ </template>
+ </div>
+</div>
+<script>
+setup({ explicit_done: true });
+var e;
+test(function() {
+ e = new Event('test');
+ assert_equals(e.scoped, false);
+}, "A new event's scoped value should be set to false by default.");
+
+test(function() {
+ e = new Event('test', { scoped: true });
+ assert_equals(e.scoped, true);
+}, 'Users should be able to set a scoped value.');
+
+img.onload = function(e) {
+ test(function() {
+ assert_equals(e.scoped, true);
kochi 2016/01/27 06:02:16 Can you guarantee that onload event ever happens i
+ }, "UA load event's scoped should be set to true");
+};
+
+var resultNonTrusted = [];
+
+function addEventListeners(nodes)
+{
+ for (var i = 0; i < nodes.length; ++i) {
+ var node = getNodeInTreeOfTrees(nodes[i]);
+ node.addEventListener('load', recordEvent, false);
+ node.addEventListener('error', recordEvent, false);
+ }
+}
+
+function recordEvent(event)
+{
+ if (event.type == 'load') {
+ if (event.currentTarget.id == 'host'){
+ test(function() {
+ assert_true(false);
+ }, "Load event should be stopped if created by UAs.");
+ } else {
+ test(function() {
+ assert_equals(event.currentTarget.id, 'target');
kochi 2016/01/27 06:02:16 The test above (assert_true(false) is okay in the
+ }, "Event fired in the right place.");
+ }
+ }
+ if (event.type == 'error') {
+ resultNonTrusted.push(event.currentTarget.id);
kochi 2016/01/27 06:02:16 Why this 'error' event did not cause the same erro
+ if (resultNonTrusted.length == 2) {
+ test(function() {
+ assert_array_equals(resultNonTrusted, ['target', 'host']);
+ }, "Only certain trusted events should stop in bubbling.");
+ done();
kochi 2016/01/27 06:02:16 done() can only be used in async_test().
+ }
+ }
+}
+
+var sandbox = document.getElementById('sandbox');
+convertTemplatesToShadowRootsWithin(sandbox);
+var targetImg = getNodeInTreeOfTrees('host/target');
+addEventListeners(['host', 'host/target']);
+
+targetImg.setAttribute('src', '../../images/resources/lenna.jpg');
+var userError = new Event('error');
+targetImg.dispatchEvent(userError);
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698