Index: chrome/test/data/extensions/api_test/braille_display_private/write_dots/test.js |
diff --git a/chrome/test/data/extensions/api_test/braille_display_private/write_dots/test.js b/chrome/test/data/extensions/api_test/braille_display_private/write_dots/test.js |
index 7f0d5a2a3b5676331ec2234ec9e3b85b2a457ad2..7254cf4810c2618a2245f69f30f97736b8a96d89 100644 |
--- a/chrome/test/data/extensions/api_test/braille_display_private/write_dots/test.js |
+++ b/chrome/test/data/extensions/api_test/braille_display_private/write_dots/test.js |
@@ -18,12 +18,18 @@ function createBuffer(size, element) { |
function waitForDisplay(callback) { |
var callbackCompleted = chrome.test.callbackAdded(); |
var displayStateHandler = function(state) { |
+ if (!callbackCompleted) { |
+ return; |
+ } |
chrome.test.assertTrue(state.available, "Display not available"); |
chrome.test.assertEq(11, state.textCellCount); |
callback(state); |
callbackCompleted(); |
chrome.brailleDisplayPrivate.onDisplayStateChanged.removeListener( |
displayStateHandler); |
+ // Prevent additional runs if the onDisplayStateChanged event |
+ // is fired before getDisplayState invokes the callback. |
+ callbackCompleted = null; |
}; |
chrome.brailleDisplayPrivate.onDisplayStateChanged.addListener( |
displayStateHandler); |