Index: chrome/browser/resources/engagement/site_engagement.js |
diff --git a/chrome/browser/resources/engagement/site_engagement.js b/chrome/browser/resources/engagement/site_engagement.js |
index f8c7ccccd9aa492e39e7f14c040a9ce41733ed15..e93cd1603ca6d08d42d03489ecafe3cafed455e1 100644 |
--- a/chrome/browser/resources/engagement/site_engagement.js |
+++ b/chrome/browser/resources/engagement/site_engagement.js |
@@ -4,6 +4,27 @@ |
'use strict'; |
+// Allow a function to be provided by tests, which will be called when |
+// the page has been populated with site engagement details. |
+var pagePopulatedCallback = null; |
+var isPagePopulated = false; |
+ |
+function setPagePopulatedCallbackForTest(callback) { |
+ if (isPagePopulated) { |
+ callback(); |
+ } else { |
+ pagePopulatedCallback = callback; |
+ } |
+} |
+ |
+function notifyPagePopulated() { |
+ isPagePopulated = true; |
+ if (pagePopulatedCallback) { |
+ pagePopulatedCallback(); |
+ pagePopulatedCallback = null; |
+ } |
+} |
+ |
define('main', [ |
'chrome/browser/engagement/site_engagement.mojom', |
'content/public/renderer/frame_interfaces', |
@@ -155,6 +176,8 @@ define('main', [ |
info.score = Number(Math.round(info.score * 100) / 100); |
engagementTableBody.appendChild(createRow(info)); |
}); |
+ |
+ notifyPagePopulated(); |
} |
/** |