15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cr.define('options', function() { 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var OptionsPage = options.OptionsPage; 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var Page = cr.ui.pageManager.Page; 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) var PageManager = cr.ui.pageManager.PageManager; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ///////////////////////////////////////////////////////////////////////////// 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // CertificateManagerTab class: 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * blah 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {!string} id The id of this tab. 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch * @param {boolean} isKiosk True if dialog is shown during CrOS kiosk launch. 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @constructor 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch function CertificateManagerTab(id, isKiosk) { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tree = $(id + '-tree'); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options.CertificatesTree.decorate(this.tree); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tree.addEventListener('change', 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.handleCertificatesTreeChange_.bind(this)); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var tree = this.tree; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.viewButton = $(id + '-view'); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.viewButton.onclick = function(e) { 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var selected = tree.selectedItem; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('viewCertificate', [selected.data.id]); 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.editButton = $(id + '-edit'); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.editButton !== null) { 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (id == 'serverCertsTab') { 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.editButton.onclick = function(e) { 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var selected = tree.selectedItem; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('editServerCertificate', [selected.data.id]); 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else if (id == 'caCertsTab') { 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.editButton.onclick = function(e) { 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var data = tree.selectedItem.data; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateEditCaTrustOverlay.show(data.id, data.name); 455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.backupButton = $(id + '-backup'); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.backupButton !== null) { 51effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch if (id == 'personalCertsTab' && isKiosk) { 52effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.backupButton.hidden = true; 53effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch } else { 54effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.backupButton.onclick = function(e) { 55effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch var selected = tree.selectedItem; 56effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch chrome.send('exportPersonalCertificate', [selected.data.id]); 575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.backupAllButton = $(id + '-backup-all'); 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.backupAllButton !== null) { 63effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch if (id == 'personalCertsTab' && isKiosk) { 64effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.backupAllButton.hidden = true; 65effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch } else { 66effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.backupAllButton.onclick = function(e) { 67effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch chrome.send('exportAllPersonalCertificates'); 685f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.importButton = $(id + '-import'); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.importButton !== null) { 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (id == 'personalCertsTab') { 75effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch if (isKiosk) { 76effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.importButton.hidden = true; 77effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch } else { 78effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.importButton.onclick = function(e) { 79effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch chrome.send('importPersonalCertificate', [false]); 805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else if (id == 'serverCertsTab') { 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.importButton.onclick = function(e) { 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('importServerCertificate'); 855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else if (id == 'caCertsTab') { 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.importButton.onclick = function(e) { 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('importCaCertificate'); 895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.importAndBindButton = $(id + '-import-and-bind'); 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.importAndBindButton !== null) { 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (id == 'personalCertsTab') { 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.importAndBindButton.onclick = function(e) { 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('importPersonalCertificate', [true]); 985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.exportButton = $(id + '-export'); 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.exportButton !== null) { 104effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch if (id == 'personalCertsTab' && isKiosk) { 105effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.exportButton.hidden = true; 106effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch } else { 107effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.exportButton.onclick = function(e) { 108effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch var selected = tree.selectedItem; 109effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch chrome.send('exportCertificate', [selected.data.id]); 1105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.deleteButton = $(id + '-delete'); 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.deleteButton.onclick = function(e) { 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var data = tree.selectedItem.data; 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AlertOverlay.show( 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) loadTimeData.getStringF(id + 'DeleteConfirm', data.name), 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) loadTimeData.getString(id + 'DeleteImpact'), 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) loadTimeData.getString('ok'), 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) loadTimeData.getString('cancel'), 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) function() { 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tree.selectedItem = null; 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('deleteCertificate', [data.id]); 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }); 1265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) }; 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManagerTab.prototype = { 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Update button state. 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {!Object} data The data of the selected item. 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) updateButtonState: function(data) { 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var isCert = !!data && data.isCert; 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var readOnly = !!data && data.readonly; 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var extractable = !!data && data.extractable; 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var hasChildren = this.tree.items.length > 0; 140868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) var isPolicy = !!data && data.policy; 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.viewButton.disabled = !isCert; 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.editButton !== null) 143868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) this.editButton.disabled = !isCert || isPolicy; 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.backupButton !== null) 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.backupButton.disabled = !isCert || !extractable; 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.backupAllButton !== null) 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.backupAllButton.disabled = !hasChildren; 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.exportButton !== null) 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.exportButton.disabled = !isCert; 150868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) this.deleteButton.disabled = !isCert || readOnly || isPolicy; 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Handles certificate tree selection change. 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {!Event} e The change event object. 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) handleCertificatesTreeChange_: function(e) { 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var data = null; 1605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (this.tree.selectedItem) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) data = this.tree.selectedItem.data; 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.updateButtonState(data); 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ///////////////////////////////////////////////////////////////////////////// 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // CertificateManager class: 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Encapsulated handling of ChromeOS accounts options page. 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @constructor 1731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @extends {cr.ui.pageManager.Page} 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) function CertificateManager(model) { 1765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) Page.call(this, 'certificates', 1775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) loadTimeData.getString('certificateManagerPageTabTitle'), 1785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 'certificateManagerPage'); 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cr.addSingletonGetter(CertificateManager); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManager.prototype = { 1845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) __proto__: Page.prototype, 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) /** @override */ 187effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch initializePage: function(isKiosk) { 1885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) Page.prototype.initializePage.call(this); 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 190effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.personalTab = new CertificateManagerTab('personalCertsTab', 191effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch !!isKiosk); 192effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.serverTab = new CertificateManagerTab('serverCertsTab', !!isKiosk); 193effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.caTab = new CertificateManagerTab('caCertsTab', !!isKiosk); 194effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch this.otherTab = new CertificateManagerTab('otherCertsTab', !!isKiosk); 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.addEventListener('visibleChange', this.handleVisibleChange_); 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) $('certificate-confirm').onclick = function() { 1995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) PageManager.closeOverlay(); 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) initalized_: false, 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * Handler for Page's visible property change event. 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {Event} e Property change event. 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) handleVisibleChange_: function(e) { 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!this.initalized_ && this.visible) { 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.initalized_ = true; 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OptionsPage.showTab($('personal-certs-nav-tab')); 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome.send('populateCertificateManager'); 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // CertificateManagerHandler callbacks. 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManager.onPopulateTree = function(args) { 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) $(args[0]).populate(args[1]); 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManager.exportPersonalAskPassword = function(args) { 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateBackupOverlay.show(); 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManager.importPersonalAskPassword = function(args) { 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateRestoreOverlay.show(); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 232a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) CertificateManager.onModelReady = function(userDbAvailable, 233a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tpmAvailable) { 234a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (!userDbAvailable) 235a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return; 236a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (tpmAvailable) 2375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) $('personalCertsTab-import-and-bind').disabled = false; 2385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) $('personalCertsTab-import').disabled = false; 2395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) $('serverCertsTab-import').disabled = false; 2405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) $('caCertsTab-import').disabled = false; 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Export 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return { 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManagerTab: CertificateManagerTab, 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CertificateManager: CertificateManager 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}); 249