Chromium Code Reviews

Unified Diff: chrome/renderer/resources/extension_apitest.js

Issue 195090: Address ExtensionApiTest.Tabs flakiness (Closed)
Patch Set: pre commit Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
« no previous file with comments | « chrome/renderer/renderer_resources.grd ('k') | chrome/test/data/extensions/api_test/tabs/a.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/resources/extension_apitest.js
diff --git a/chrome/renderer/resources/extension_apitest.js b/chrome/renderer/resources/extension_apitest.js
index 90cc0554361326731b3fc4775c4e0e7a15f64ac7..e9d92b54141ad25f3ef7e48c56fa46f6e76fcd2c 100644
--- a/chrome/renderer/resources/extension_apitest.js
+++ b/chrome/renderer/resources/extension_apitest.js
@@ -48,17 +48,17 @@ var chrome = chrome || {};
chrome.test.notifyPass();
complete();
}
-
+
var pendingCallbacks = 0;
- function callbackAdded() {
+ chrome.test.callbackAdded = function () {
pendingCallbacks++;
- };
- function callbackCompleted() {
- pendingCallbacks--;
- if (pendingCallbacks == 0) {
- chrome.test.succeed();
+ return function() {
+ pendingCallbacks--;
+ if (pendingCallbacks == 0) {
+ chrome.test.succeed();
+ }
}
};
@@ -148,7 +148,7 @@ var chrome = chrome || {};
if (func) {
chrome.test.assertEq(typeof(func), 'function');
}
- callbackAdded();
+ var callbackCompleted = chrome.test.callbackAdded();
return function() {
if (expectedError == null) {
@@ -167,7 +167,7 @@ var chrome = chrome || {};
};
chrome.test.listenOnce = function(event, func) {
- callbackAdded();
+ var callbackCompleted = chrome.test.callbackAdded();
var listener = function() {
event.removeListener(listener);
safeFunctionApply(func, arguments);
@@ -177,14 +177,13 @@ var chrome = chrome || {};
};
chrome.test.listenForever = function(event, func) {
- callbackAdded();
-
+ var callbackCompleted = chrome.test.callbackAdded();
+
var listener = function() {
safeFunctionApply(func, arguments);
};
- var done = {};
- done.doneListening = function() {
+ var done = function() {
event.removeListener(listener);
callbackCompleted();
};
« no previous file with comments | « chrome/renderer/renderer_resources.grd ('k') | chrome/test/data/extensions/api_test/tabs/a.html » ('j') | no next file with comments »

Powered by Google App Engine