Chromium Code Reviews| 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..f8b1ad6a614001b0a89c3cec4a9583f2c840a774 100644 |
| --- a/chrome/browser/resources/settings/prefs/prefs_types.js |
| +++ b/chrome/browser/resources/settings/prefs/prefs_types.js |
| @@ -6,22 +6,37 @@ |
| * @fileoverview Types for CrSettingsPrefsElement. |
| */ |
| -/** @type {{INITIALIZED: string, isInitialized: boolean}} */ |
| -var CrSettingsPrefs; |
| - |
| -// TODO(michaelpg): provide a Promise for initialization. |
| -if (CrSettingsPrefs === undefined) { |
| - CrSettingsPrefs = { |
| +/** |
| + * Global state for prefs status. |
| + */ |
| +var CrSettingsPrefs = (function() { |
| + var CrSettingsPrefsInternal = { |
| /** |
| - * The name of the event fired when prefs have been fetched and initialized. |
| - * @const {string} |
| + * Resolves the CrSettingsPrefs.initialized promise. |
| */ |
| - INITIALIZED: 'cr-settings-prefs-initialized', |
| + setInitialized: function() { |
| + /** @public {boolean} */ |
| + CrSettingsPrefsInternal.isInitialized = true; |
| + CrSettingsPrefsInternal.resolve_(); |
| + }, |
| /** |
| - * Global boolean set to true when all settings have been initialized. |
| - * @type {boolean} |
| + * Called to set up the promise and resolve methods, and to restore |
| + * state for testing. |
| */ |
| - isInitialized: false, |
| + reset: function() { |
|
Dan Beam
2015/09/22 06:12:31
nit: resetForTesting, maybe?
michaelpg
2015/09/22 21:38:37
Done.
|
| + 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.reset(); |
| + |
| + return CrSettingsPrefsInternal; |
| +})(); |