// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Note: the native-side handler for this is ResetProfileSettingsHandler. cr.define('options', function() { /** @const */ var OptionsPage = options.OptionsPage; /** @const */ var SettingsBannerBase = options.SettingsBannerBase; /** * ResetProfileSettingsBanner class * Provides encapsulated handling of the Reset Profile Settings banner. * @constructor */ function ResetProfileSettingsBanner() {} cr.addSingletonGetter(ResetProfileSettingsBanner); ResetProfileSettingsBanner.prototype = { __proto__: SettingsBannerBase.prototype, /** * Initializes the banner's event handlers. */ initialize: function() { this.showMetricName_ = 'AutomaticReset_WebUIBanner_BannerShown'; this.dismissNativeCallbackName_ = 'onDismissedResetProfileSettingsBanner'; this.setVisibilibyDomElement_ = $('reset-profile-settings-banner'); $('reset-profile-settings-banner-close').onclick = function(event) { chrome.send('metricsHandler:recordAction', ['AutomaticReset_WebUIBanner_ManuallyClosed']); ResetProfileSettingsBanner.dismiss(); }; $('reset-profile-settings-banner-activate').onclick = function(event) { chrome.send('metricsHandler:recordAction', ['AutomaticReset_WebUIBanner_ResetClicked']); OptionsPage.navigateToPage('resetProfileSettings'); }; }, }; // Forward public APIs to private implementations. [ 'show', 'dismiss', ].forEach(function(name) { ResetProfileSettingsBanner[name] = function() { var instance = ResetProfileSettingsBanner.getInstance(); return instance[name + '_'].apply(instance, arguments); }; }); // Export return { ResetProfileSettingsBanner: ResetProfileSettingsBanner }; });