| Index: chrome/browser/resources/settings/default_browser_page/default_browser_page.js
|
| diff --git a/chrome/browser/resources/settings/default_browser_page/default_browser_page.js b/chrome/browser/resources/settings/default_browser_page/default_browser_page.js
|
| index 7f100022c5a5bfb8c47da8acc0c5881018764045..311b801043c21a65796dee674914151e5ff0743a 100644
|
| --- a/chrome/browser/resources/settings/default_browser_page/default_browser_page.js
|
| +++ b/chrome/browser/resources/settings/default_browser_page/default_browser_page.js
|
| @@ -10,76 +10,61 @@
|
| Polymer({
|
| is: 'settings-default-browser-page',
|
|
|
| + behaviors: [WebUIListenerBehavior],
|
| +
|
| properties: {
|
| - /**
|
| - * A message about whether Chrome is the default browser.
|
| - */
|
| - message_: {
|
| - type: String,
|
| - },
|
| + /** @private */
|
| + isDefault_: Boolean,
|
|
|
| - /**
|
| - * Indicates if the next updateDefaultBrowserState_ invocation is following
|
| - * a call to SettingsDefaultBrowser.setAsDefaultBrowser().
|
| - */
|
| - startedSetAsDefault_: {
|
| - type: Boolean,
|
| - value: false,
|
| - },
|
| + /** @private */
|
| + isSecondaryInstall_: Boolean,
|
|
|
| - /**
|
| - * Show or hide an error indicator showing whether SetAsDefault succeeded.
|
| - */
|
| - showError_: {
|
| - type: Boolean,
|
| - value: false,
|
| - },
|
| + /** @private */
|
| + isUnknownError_: Boolean,
|
|
|
| - /**
|
| - * Only show the SetAsDefault button if we have permission to set it.
|
| - */
|
| - showButton_: {
|
| - type: Boolean,
|
| - },
|
| + /** @private */
|
| + showButton_: Boolean,
|
| + },
|
| +
|
| + /** @private {settings.DefaultBrowserBrowserProxy} */
|
| + browserProxy_: null,
|
| +
|
| + /** @override */
|
| + created: function() {
|
| + this.browserProxy_ = settings.DefaultBrowserBrowserProxyImpl.getInstance();
|
| },
|
|
|
| ready: function() {
|
| - var self = this;
|
| - cr.define('Settings', function() {
|
| - return {
|
| - updateDefaultBrowserState: function() {
|
| - return self.updateDefaultBrowserState_.apply(self, arguments);
|
| - },
|
| - };
|
| - });
|
| - chrome.send('SettingsDefaultBrowser.requestDefaultBrowserState');
|
| + this.addWebUIListener('settings.updateDefaultBrowserState',
|
| + this.updateDefaultBrowserState_.bind(this));
|
| +
|
| + this.browserProxy_.requestDefaultBrowserState().then(
|
| + this.updateDefaultBrowserState_.bind(this));
|
| },
|
|
|
| /**
|
| - * @param {boolean} isDefault Whether Chrome is currently the user's default
|
| - * browser.
|
| - * @param {boolean} canBeDefault Whether Chrome can be the default browser on
|
| - * this system.
|
| + * @param {!DefaultBrowserInfo} defaultBrowserState
|
| * @private
|
| */
|
| - updateDefaultBrowserState_: function(isDefault, canBeDefault) {
|
| - if (this.startedSetAsDefault_ && !isDefault) {
|
| - this.startedSetAsDefault_ = false;
|
| - this.showError_ = true;
|
| - } else {
|
| - this.showError_ = false;
|
| - }
|
| + updateDefaultBrowserState_: function(defaultBrowserState) {
|
| + this.isDefault_ = false;
|
| + this.isSecondaryInstall_ = false;
|
| + this.isUnknownError_ = false;
|
| + this.showButton_ = false;
|
|
|
| - this.showButton_ = !isDefault && canBeDefault;
|
| - if (!this.showButton_) {
|
| - this.message_ = loadTimeData.getString(
|
| - canBeDefault ? 'defaultBrowserDefault' : 'defaultBrowserUnknown');
|
| - }
|
| + if (defaultBrowserState.isDefault)
|
| + this.isDefault_ = true;
|
| + else if (!defaultBrowserState.canBeDefault)
|
| + this.isSecondaryInstall_ = true;
|
| + else if (!defaultBrowserState.isDisabledByPolicy &&
|
| + !defaultBrowserState.isUnknownError)
|
| + this.showButton_ = true;
|
| + else
|
| + this.isUnknownError_ = true;
|
| },
|
|
|
| /** @private */
|
| onSetDefaultBrowserTap_: function() {
|
| - this.startedSetAsDefault_ = true;
|
| - chrome.send('SettingsDefaultBrowser.setAsDefaultBrowser');
|
| + this.browserProxy_.setAsDefaultBrowser();
|
| },
|
| });
|
|
|