| Index: chrome/browser/resources/settings/prefs/prefs_types.js
|
| diff --git a/chrome/browser/resources/settings/prefs/prefs_types.js b/chrome/browser/resources/settings/prefs/prefs_types.js
|
| index 3ac53ba967be5c3193a1b6b8a7087894c368ba4d..96c8649f1624b2a80306c15e12d304ed0d1d7453 100644
|
| --- a/chrome/browser/resources/settings/prefs/prefs_types.js
|
| +++ b/chrome/browser/resources/settings/prefs/prefs_types.js
|
| @@ -6,22 +6,44 @@
|
| * @fileoverview Types for CrSettingsPrefsElement.
|
| */
|
|
|
| -/** @type {{INITIALIZED: string, isInitialized: boolean}} */
|
| -var CrSettingsPrefs;
|
| +/**
|
| + * Global state for prefs status.
|
| + */
|
| +var CrSettingsPrefs = (function() {
|
| + var CrSettingsPrefsInternal = {
|
| + /**
|
| + * Resolves the CrSettingsPrefs.initialized promise.
|
| + */
|
| + setInitialized: function() {
|
| + /** @public {boolean} */
|
| + CrSettingsPrefsInternal.isInitialized = true;
|
| + CrSettingsPrefsInternal.resolve_();
|
| + },
|
|
|
| -// TODO(michaelpg): provide a Promise for initialization.
|
| -if (CrSettingsPrefs === undefined) {
|
| - CrSettingsPrefs = {
|
| /**
|
| - * The name of the event fired when prefs have been fetched and initialized.
|
| - * @const {string}
|
| + * Restores state for testing.
|
| */
|
| - INITIALIZED: 'cr-settings-prefs-initialized',
|
| + resetForTesting: function() {
|
| + CrSettingsPrefsInternal.setup_();
|
| + },
|
|
|
| /**
|
| - * Global boolean set to true when all settings have been initialized.
|
| - * @type {boolean}
|
| + * Called to set up the promise and resolve methods.
|
| + * @private
|
| */
|
| - isInitialized: false,
|
| + setup_: function() {
|
| + CrSettingsPrefsInternal.isInitialized = false;
|
| + /**
|
| + * Promise to be resolved when all settings have been initialized.
|
| + * @type {!Promise}
|
| + */
|
| + CrSettingsPrefsInternal.initialized = new Promise(function(resolve) {
|
| + CrSettingsPrefsInternal.resolve_ = resolve;
|
| + });
|
| + },
|
| };
|
| -}
|
| +
|
| + CrSettingsPrefsInternal.setup_();
|
| +
|
| + return CrSettingsPrefsInternal;
|
| +})();
|
|
|