| Index: chrome/browser/resources/options/reset_profile_settings_banner.js
|
| diff --git a/chrome/browser/resources/options/reset_profile_settings_banner.js b/chrome/browser/resources/options/reset_profile_settings_banner.js
|
| index 4517e9151c7fed0d4ba41775df3337f2c710d506..849d4e8bb3f8d6edede2d02429165b13c5a39b56 100644
|
| --- a/chrome/browser/resources/options/reset_profile_settings_banner.js
|
| +++ b/chrome/browser/resources/options/reset_profile_settings_banner.js
|
| @@ -6,6 +6,7 @@
|
|
|
| cr.define('options', function() {
|
| /** @const */ var OptionsPage = options.OptionsPage;
|
| + /** @const */ var SettingsBannerBase = options.SettingsBannerBase;
|
|
|
| /**
|
| * ResetProfileSettingsBanner class
|
| @@ -17,28 +18,19 @@ cr.define('options', function() {
|
| cr.addSingletonGetter(ResetProfileSettingsBanner);
|
|
|
| ResetProfileSettingsBanner.prototype = {
|
| - /**
|
| - * Whether or not the banner has already been dismissed.
|
| - *
|
| - * This is needed because of the surprising ordering of asynchronous
|
| - * JS<->native calls when the settings page is opened with specifying a
|
| - * given sub-page, e.g. chrome://settings/resetProfileSettings.
|
| - *
|
| - * In such a case, ResetProfileSettingsOverlay's didShowPage(), which calls
|
| - * our dismiss() method, would be called before the native Handlers'
|
| - * InitalizePage() methods have an effect in the JS, which includes calling
|
| - * our show() method. This would mean that the banner would be first
|
| - * dismissed, then shown. We want to prevent this.
|
| - *
|
| - * @type {boolean}
|
| - * @private
|
| - */
|
| - hadBeenDismissed_: false,
|
| + __proto__: SettingsBannerBase.prototype,
|
|
|
| /**
|
| * Initializes the banner's event handlers.
|
| */
|
| initialize: function() {
|
| + this.showMetricName_ = 'AutomaticReset_WebUIBanner_BannerShown';
|
| +
|
| + this.dismissNativeCallbackName_ =
|
| + 'onDismissedResetProfileSettingsBanner';
|
| +
|
| + this.setVisibilibyDomElementSelector_ = 'reset-profile-settings-banner';
|
| +
|
| $('reset-profile-settings-banner-close').onclick = function(event) {
|
| chrome.send('metricsHandler:recordAction',
|
| ['AutomaticReset_WebUIBanner_ManuallyClosed']);
|
| @@ -50,39 +42,6 @@ cr.define('options', function() {
|
| OptionsPage.navigateToPage('resetProfileSettings');
|
| };
|
| },
|
| -
|
| - /**
|
| - * Called by the native code to show the banner if needed.
|
| - * @private
|
| - */
|
| - show_: function() {
|
| - if (!this.hadBeenDismissed_) {
|
| - chrome.send('metricsHandler:recordAction',
|
| - ['AutomaticReset_WebUIBanner_BannerShown']);
|
| - this.setVisibility_(true);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Called when the banner should be closed as a result of something taking
|
| - * place on the WebUI page, i.e. when its close button is pressed, or when
|
| - * the confirmation dialog for the profile settings reset feature is opened.
|
| - * @private
|
| - */
|
| - dismiss_: function() {
|
| - chrome.send('onDismissedResetProfileSettingsBanner');
|
| - this.hadBeenDismissed_ = true;
|
| - this.setVisibility_(false);
|
| - },
|
| -
|
| - /**
|
| - * Sets whether or not the reset profile settings banner shall be visible.
|
| - * @param {boolean} show Whether or not to show the banner.
|
| - * @private
|
| - */
|
| - setVisibility_: function(show) {
|
| - $('reset-profile-settings-banner').hidden = !show;
|
| - }
|
| };
|
|
|
| // Forward public APIs to private implementations.
|
|
|