Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 testCloseTab() { | 6 function testCloseTab() { |
| 7 getUrlFromConfig('index.html', function(url) { | 7 getUrlFromConfig('index.html', function(url) { |
| 8 chrome.tabs.create({'url': url}, function(tab) { | 8 chrome.tabs.create({'url': url}, function(tab) { |
| 9 chrome.automation.getTree(function(rootNode) { | 9 chrome.automation.getTree(function(rootNode) { |
| 10 rootNode.addEventListener(EventType.destroyed, function() { | 10 rootNode.addEventListener(EventType.destroyed, function() { |
| 11 // Should get a 'destroyed' event when the tab is closed. | 11 // Poll until the root node doesn't have a role anymore |
|
David Tseng
2015/08/28 22:51:25
Do we get an event (as to avoid busy waiting?).
dmazzoni
2015/08/28 23:02:35
We get the event immediately before it's destroyed
| |
| 12 // TODO(aboxhall): assert actual cleanup has occurred once | 12 // indicating that it really did get cleaned up. |
| 13 // crbug.com/387954 makes it possible. | 13 function checkSuccess() { |
| 14 chrome.test.succeed(); | 14 if (rootNode.role === undefined) |
| 15 chrome.test.succeed(); | |
| 16 else | |
| 17 window.setTimeout(checkSuccess, 10); | |
| 18 } | |
| 19 checkSuccess(); | |
| 15 }); | 20 }); |
| 16 chrome.tabs.remove(tab.id); | 21 chrome.tabs.remove(tab.id); |
| 17 }); | 22 }); |
| 18 }); | 23 }); |
| 19 }); | 24 }); |
| 20 } | 25 } |
| 21 ] | 26 ] |
| 22 chrome.test.runTests(allTests); | 27 chrome.test.runTests(allTests); |
| OLD | NEW |