blob: 15877ad4b7fdf8d69f24123a2546c291b873813d [file] [log] [blame]
// Copyright 2014 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 AutomaticSettingsResetHandler.
cr.define('options', function() {
/** @const */ var SettingsBannerBase = options.SettingsBannerBase;
/**
* AutomaticSettingsResetBanner class
* Provides encapsulated handling of the Reset Profile Settings banner.
* @constructor
*/
function AutomaticSettingsResetBanner() {}
cr.addSingletonGetter(AutomaticSettingsResetBanner);
AutomaticSettingsResetBanner.prototype = {
__proto__: SettingsBannerBase.prototype,
/**
* Initializes the banner's event handlers.
*/
initialize: function() {
this.showMetricName_ = 'AutomaticSettingsReset_WebUIBanner_BannerShown';
this.dismissNativeCallbackName_ =
'onDismissedAutomaticSettingsResetBanner';
this.setVisibilibyDomElement_ = $('automatic-settings-reset-banner');
$('automatic-settings-reset-banner-close').onclick = function(event) {
chrome.send('metricsHandler:recordAction',
['AutomaticSettingsReset_WebUIBanner_ManuallyClosed']);
AutomaticSettingsResetBanner.dismiss();
};
$('automatic-settings-reset-learn-more').onclick = function(event) {
chrome.send('metricsHandler:recordAction',
['AutomaticSettingsReset_WebUIBanner_LearnMoreClicked']);
};
},
};
// Forward public APIs to private implementations.
[
'show',
'dismiss',
].forEach(function(name) {
AutomaticSettingsResetBanner[name] = function() {
var instance = AutomaticSettingsResetBanner.getInstance();
return instance[name + '_'].apply(instance, arguments);
};
});
// Export
return {
AutomaticSettingsResetBanner: AutomaticSettingsResetBanner
};
});