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

Side by Side Diff: third_party/WebKit/LayoutTests/accessibility/deleting-iframe-destroys-axcache.html

Issue 1761633002: One accessibility tree per frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix is-richly-editable test Created 4 years, 9 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
OLDNEW
(Empty)
1 <html>
2 <script src="../resources/js-test.js"></script>
3 <script src="../resources/accessibility-helper.js"></script>
4 <body>
5
6 <p id="before">Before</p>
7
8 <iframe id="iframe" src="data:text/html,<body><button>Click me</button></body>"> </iframe>
9
10 <p id="after">After</p>
11
12 <p>End of test</p>
13
14 <p id="description"></p>
15 <div id="console"></div>
16 <script>
17 if (window.testRunner)
18 testRunner.waitUntilDone();
19
20 function runTest()
21 {
22 description("This tests that deleting an iframe doesn't cause the access ibility cache to be destroyed and recreated.");
23
24 if (window.accessibilityController) {
25 window.before = accessibilityController.accessibleElementById('befor e');
26 window.iframe = accessibilityController.accessibleElementById('ifram e');
27 window.after = accessibilityController.accessibleElementById('after' );
28 window.root = before.parentElement();
29
30 window.frameBody = iframe.childAtIndex(0);
31 window.frameBodyRole = frameBody.role;
32 window.frameGroup = frameBody.childAtIndex(0);
33 window.frameGroupRole = frameGroup.role;
34 window.frameButton = frameGroup.childAtIndex(0);
35 window.frameButtonRole = frameButton.role;
36
37 document.getElementById("console").innerText += "\nBefore:\n";
38 buildAccessibilityTree(root, 0, 1);
39
40 // Remove the iframe.
41 document.body.removeChild(document.getElementById("iframe"));
42
43 // Force layout now so that the childAtIndex calls below
44 // reflect the new render tree.
45 document.body.offsetTop;
46
47 window.newBefore = accessibilityController.accessibleElementById('be fore');
48 window.newAfter = accessibilityController.accessibleElementById('aft er');
49 window.newRoot = newBefore.parentElement();
50
51 document.getElementById("console").innerText += "\nAfter:\n";
52 buildAccessibilityTree(newRoot, 0, 1);
53 document.getElementById("console").innerText += "\n";
54
55 // Make sure that the accessibility objects from the iframe's nodes
56 // are now invalid by checking that their role is changed - this
57 // is because they've been deleted.
58 shouldBeFalse("frameBodyRole == frameBody.role");
59 shouldBeFalse("frameGroupRole == frameGroup.role");
60 shouldBeFalse("frameButtonRole == frameButton.role");
61
62 // Make sure that the other nodes are unchanged.
63 shouldBeTrue("before.isEqual(newBefore)");
64 shouldBeTrue("after.isEqual(newAfter)");
65 }
66
67 debug('<br /><span class="pass">TEST COMPLETE</span>');
68 if (window.testRunner)
69 testRunner.notifyDone();
70 }
71
72 window.addEventListener('load', function() {
73 setTimeout(runTest, 10);
74 }, false);
75 </script>
76 </body>
77 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698