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

Side by Side Diff: LayoutTests/accessibility/loading-iframe-sends-notification.html

Issue 210253003: Make data: urls always parse async (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebased Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/accessibility/loading-iframe-sends-notification-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script src="../resources/js-test.js"></script> 3 <script src="../resources/js-test.js"></script>
4 </head> 4 </head>
5 <body> 5 <body>
6 6
7 <p>Before</p> 7 <p>Before</p>
8 8
9 <iframe id="iframe" title="InnerFrame"></iframe> 9 <iframe id="iframe" title="InnerFrame"></iframe>
10 10
11 <p>After</p> 11 <p>After</p>
12 12
13 <p>End of test</p> 13 <p>End of test</p>
14 14
15 <p id="description"></p> 15 <p id="description"></p>
16 <div id="console"></div> 16 <div id="console"></div>
17 17
18 <script> 18 <script>
19 description("This tests that when an iframe finishes loading, it sends a not ification."); 19 description("This tests that when an iframe finishes loading, it sends a not ification.");
20 20
21 if (window.testRunner) 21 if (window.testRunner)
22 testRunner.waitUntilDone(); 22 testRunner.waitUntilDone();
23 else
24 debug("This test requires window.accessibilityController and must be run in content_shell with --dump-render-tree.")
23 25
24 window.jsTestIsAsync = true; 26 window.jsTestIsAsync = true;
25 27
26 function runTest() 28 function runTest()
27 { 29 {
28 window.gotIframeNotification = false;
29
30 if (window.accessibilityController) { 30 if (window.accessibilityController) {
31 // Initially, the iframe should not be loaded, so we shouldn't be ab le to find this button. 31 // Initially, the iframe should not be loaded, so we shouldn't be ab le to find this button.
32 shouldBeFalse("accessibilityController.accessibleElementById('innerb utton') != null"); 32 shouldBeUndefined("accessibilityController.accessibleElementById('in nerbutton')");
33 33
34 window.accessibilityController.addNotificationListener(function (tar get, notification) { 34 window.accessibilityController.addNotificationListener(function (tar get, notification) {
35 // Ignore this notification if it's not on the iframe. 35 if (!target.parentElement() || !target.parentElement().parentEle ment())
36 if (target.description.indexOf("InnerFrame") == -1)
37 return; 36 return;
38 37
39 debug("Got notification on iframe."); 38 // Ignore this notification if it's not within the subtree of th e iframe.
40 gotIframeNotification = true; 39 var frameTarget = target.parentElement().parentElement();
40 if (frameTarget.description.indexOf("InnerFrame") == -1)
41 return;
42
43 // Even still we'll get LayoutComplete notifications sooner than we want.
44 if (!accessibilityController.accessibleElementById('innerbutton' ))
45 return;
41 46
42 // Check that the button within the iframe is now reachable from the root. 47 // Check that the button within the iframe is now reachable from the root.
43 shouldBeTrue("accessibilityController.accessibleElementById('inn erbutton') != null"); 48 shouldBeDefined("accessibilityController.accessibleElementById(' innerbutton')");
44 });
45 }
46
47 window.iframeElement = document.getElementById("iframe");
48 iframeElement.addEventListener("load", function() {
49 window.setTimeout(function() {
50 shouldBeTrue("gotIframeNotification");
51 if (window.accessibilityController) 49 if (window.accessibilityController)
52 accessibilityController.removeNotificationListener(); 50 accessibilityController.removeNotificationListener();
53 51
54 finishJSTest(); 52 finishJSTest();
55 }, 10); 53 });
56 }, false); 54 }
57 55
58 // Load content into the iframe. This will trigger the event 56 // Load content into the iframe. This will trigger the event
59 // handler above, which will check that the accessibility tree 57 // handler above, which will check that the accessibility tree
60 // was updated with new content. 58 // was updated with new content.
61 window.iframeElement.src = "data:text/html,<body><button id='innerbutton '>InnerButton</button></body>"; 59 document.getElementById("iframe").src = "data:text/html,<body><button id ='innerbutton'>InnerButton</button></body>";
62 } 60 }
63 61 window.addEventListener('load', runTest);
64 window.addEventListener('load', function() {
65 setTimeout(runTest, 10);
66 }, false);
67
68 </script> 62 </script>
69 63
70 </body> 64 </body>
71 </html> 65 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/accessibility/loading-iframe-sends-notification-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698