| Index: chrome/test/data/extensions/api_test/automation/tests/desktop/focus_iframe.js
|
| diff --git a/chrome/test/data/extensions/api_test/automation/tests/desktop/focus_iframe.js b/chrome/test/data/extensions/api_test/automation/tests/desktop/focus_iframe.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ee69b37a627837d63170739640cf3b39495c5ed5
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/automation/tests/desktop/focus_iframe.js
|
| @@ -0,0 +1,37 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +var allTests = [
|
| + function testFocusInIframes() {
|
| + chrome.test.getConfig(function(config) {
|
| + var url = 'http://a.com:' + config.testServer.port + '/iframe_outer.html';
|
| + chrome.tabs.create({url: url});
|
| +
|
| + chrome.automation.getDesktop(function(rootNode) {
|
| + // Succeed when the button inside the iframe gets focus.
|
| + rootNode.addEventListener('focus', function(event) {
|
| + if (event.target.name == 'Inner')
|
| + chrome.test.succeed();
|
| + });
|
| +
|
| + // Wait for the inner frame to load, then find the button inside it
|
| + // and focus it.
|
| + rootNode.addEventListener('loadComplete', function(event) {
|
| + if (event.target.url.indexOf('iframe_inner.html') >= 0) {
|
| + chrome.automation.getFocus(function(focus) {
|
| + // Assert that the outer frame has focus.
|
| + assertTrue(focus.url.indexOf('iframe_outer') >= 0);
|
| +
|
| + // Find the inner button and focus it.
|
| + var innerButton = focus.find({ attributes: { name: 'Inner' } });
|
| + innerButton.focus();
|
| + });
|
| + }
|
| + });
|
| + });
|
| + });
|
| + },
|
| +];
|
| +
|
| +chrome.test.runTests(allTests);
|
|
|