Index: chrome/test/data/extensions/api_test/automation/tests/tabs/close_tab.js |
diff --git a/chrome/test/data/extensions/api_test/automation/tests/tabs/close_tab.js b/chrome/test/data/extensions/api_test/automation/tests/tabs/close_tab.js |
index bb2d619b8c05af6f8118e08ed3851d905a2d596a..aa04332d65849bcbf2d4987c0051b79023505278 100644 |
--- a/chrome/test/data/extensions/api_test/automation/tests/tabs/close_tab.js |
+++ b/chrome/test/data/extensions/api_test/automation/tests/tabs/close_tab.js |
@@ -8,10 +8,15 @@ var allTests = [ |
chrome.tabs.create({'url': url}, function(tab) { |
chrome.automation.getTree(function(rootNode) { |
rootNode.addEventListener(EventType.destroyed, function() { |
- // Should get a 'destroyed' event when the tab is closed. |
- // TODO(aboxhall): assert actual cleanup has occurred once |
- // crbug.com/387954 makes it possible. |
- chrome.test.succeed(); |
+ // 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
|
+ // indicating that it really did get cleaned up. |
+ function checkSuccess() { |
+ if (rootNode.role === undefined) |
+ chrome.test.succeed(); |
+ else |
+ window.setTimeout(checkSuccess, 10); |
+ } |
+ checkSuccess(); |
}); |
chrome.tabs.remove(tab.id); |
}); |