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

Side by Side Diff: chrome/test/data/extensions/api_test/automation/tests/tabs/events.js

Issue 1348503003: One AXObjectCache per frame (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix issues in AutomationApiTest.Events Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « no previous file | content/browser/accessibility/dump_accessibility_tree_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var allTests = [ 5 var allTests = [
6 function testEventListenerTarget() { 6 function testEventListenerTarget() {
7 var cancelButton = rootNode.firstChild.children[2]; 7 var cancelButton = rootNode.firstChild.children[2];
8 assertEq('Cancel', cancelButton.name); 8 assertEq('Cancel', cancelButton.name);
9 cancelButton.addEventListener(EventType.focus, 9 cancelButton.addEventListener(EventType.focus,
10 function onFocusTarget(event) { 10 function onFocusTarget(event) {
11 window.setTimeout(function() { 11 window.setTimeout(function() {
12 cancelButton.removeEventListener(EventType.focus, onFocusTarget); 12 cancelButton.removeEventListener(EventType.focus, onFocusTarget);
13 chrome.test.succeed(); 13 chrome.test.succeed();
14 }, 0); 14 }, 0);
15 }); 15 });
16 cancelButton.focus(); 16 cancelButton.focus();
17 }, 17 },
18 function testEventListenerBubble() { 18 function testEventListenerBubble() {
19 var cancelButton = rootNode.firstChild.children[2]; 19 var cancelButton = rootNode.firstChild.children[2];
20 assertEq('Cancel', cancelButton.name); 20 assertEq('Cancel', cancelButton.name);
21 var cancelButtonGotEvent = false; 21 var cancelButtonGotEvent = false;
22 cancelButton.addEventListener(EventType.focus, 22 cancelButton.addEventListener(EventType.focus,
23 function onFocusBubble(event) { 23 function onFocusBubble(event) {
24 cancelButtonGotEvent = true; 24 cancelButtonGotEvent = true;
25 cancelButton.removeEventListener(EventType.focus, onFocusBubble); 25 cancelButton.removeEventListener(EventType.focus, onFocusBubble);
26 }); 26 });
27 rootNode.addEventListener(EventType.focus, 27 rootNode.addEventListener(EventType.focus,
28 function onFocusBubbleRoot(event) { 28 function onFocusBubbleRoot(event) {
29 assertEq('focus', event.type); 29 if (cancelButtonGotEvent) {
30 assertEq(cancelButton, event.target); 30 assertEq('focus', event.type);
31 assertTrue(cancelButtonGotEvent); 31 assertEq(cancelButton, event.target);
32 rootNode.removeEventListener(EventType.focus, onFocusBubbleRoot); 32 rootNode.removeEventListener(EventType.focus, onFocusBubbleRoot);
33 chrome.test.succeed(); 33 chrome.test.succeed();
34 }
34 }); 35 });
35 cancelButton.focus(); 36 cancelButton.focus();
36 }, 37 },
37 function testStopPropagation() { 38 function testStopPropagation() {
38 var cancelButton = rootNode.firstChild.children[2]; 39 var cancelButton = rootNode.firstChild.children[2];
39 assertEq('Cancel', cancelButton.name); 40 assertEq('Cancel', cancelButton.name);
40 function onFocusStopPropRoot(event) { 41 function onFocusStopPropRoot(event) {
41 rootNode.removeEventListener(EventType.focus, onFocusStopPropRoot); 42 if (event.target == cancelButton) {
42 chrome.test.fail("Focus event was propagated to root"); 43 rootNode.removeEventListener(EventType.focus, onFocusStopPropRoot);
44 chrome.test.fail("Focus event was propagated to root");
45 }
43 }; 46 };
44 cancelButton.addEventListener(EventType.focus, 47 cancelButton.addEventListener(EventType.focus,
45 function onFocusStopProp(event) { 48 function onFocusStopProp(event) {
46 cancelButton.removeEventListener(EventType.focus, onFocusStopProp); 49 cancelButton.removeEventListener(EventType.focus, onFocusStopProp);
47 event.stopPropagation(); 50 event.stopPropagation();
48 window.setTimeout((function() { 51 window.setTimeout((function() {
49 rootNode.removeEventListener(EventType.focus, onFocusStopPropRoot); 52 rootNode.removeEventListener(EventType.focus, onFocusStopPropRoot);
50 chrome.test.succeed(); 53 chrome.test.succeed();
51 }).bind(this), 0); 54 }).bind(this), 0);
52 }); 55 });
53 rootNode.addEventListener(EventType.focus, onFocusStopPropRoot); 56 rootNode.addEventListener(EventType.focus, onFocusStopPropRoot);
54 cancelButton.focus(); 57 cancelButton.focus();
55 }, 58 },
56 function testEventListenerCapture() { 59 function testEventListenerCapture() {
57 var cancelButton = rootNode.firstChild.children[2]; 60 var cancelButton = rootNode.firstChild.children[2];
58 assertEq('Cancel', cancelButton.name); 61 assertEq('Cancel', cancelButton.name);
59 var cancelButtonGotEvent = false; 62 var cancelButtonGotEvent = false;
60 function onFocusCapture(event) { 63 function onFocusCapture(event) {
61 cancelButtonGotEvent = true; 64 cancelButtonGotEvent = true;
62 cancelButton.removeEventListener(EventType.focus, onFocusCapture); 65 cancelButton.removeEventListener(EventType.focus, onFocusCapture);
63 chrome.test.fail("Focus event was not captured by root"); 66 chrome.test.fail("Focus event was not captured by root");
64 }; 67 };
65 cancelButton.addEventListener(EventType.focus, onFocusCapture); 68 cancelButton.addEventListener(EventType.focus, onFocusCapture);
66 rootNode.addEventListener(EventType.focus, 69 rootNode.addEventListener(EventType.focus,
67 function onFocusCaptureRoot(event) { 70 function onFocusCaptureRoot(event) {
68 assertEq('focus', event.type); 71 if (event.target == cancelButton) {
69 assertEq(cancelButton, event.target); 72 assertEq('focus', event.type);
70 assertFalse(cancelButtonGotEvent); 73 assertFalse(cancelButtonGotEvent);
71 event.stopPropagation(); 74 event.stopPropagation();
72 rootNode.removeEventListener(EventType.focus, onFocusCaptureRoot); 75 rootNode.removeEventListener(EventType.focus, onFocusCaptureRoot);
73 rootNode.removeEventListener(EventType.focus, onFocusCapture); 76 rootNode.removeEventListener(EventType.focus, onFocusCapture);
74 window.setTimeout(chrome.test.succeed.bind(this), 0); 77 window.setTimeout(chrome.test.succeed.bind(this), 0);
78 }
75 }, true); 79 }, true);
76 cancelButton.focus(); 80 cancelButton.focus();
77 } 81 }
78 ]; 82 ];
79 83
80 setUpAndRunTests(allTests) 84 setUpAndRunTests(allTests)
OLDNEW
« no previous file with comments | « no previous file | content/browser/accessibility/dump_accessibility_tree_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698