Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(600)

Side by Side Diff: chrome/browser/resources/options2/certificate_edit_ca_trust_overlay.js

Issue 10809005: Options: Rename chrome/browser/resources/options2 -> chrome/browser/resources/options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6 /** @const */ var OptionsPage = options.OptionsPage;
7
8 /**
9 * CertificateEditCaTrustOverlay class
10 * Encapsulated handling of the 'edit ca trust' and 'import ca' overlay pages.
11 * @class
12 */
13 function CertificateEditCaTrustOverlay() {
14 OptionsPage.call(this, 'certificateEditCaTrustOverlay',
15 '',
16 'certificateEditCaTrustOverlay');
17 }
18
19 cr.addSingletonGetter(CertificateEditCaTrustOverlay);
20
21 CertificateEditCaTrustOverlay.prototype = {
22 __proto__: OptionsPage.prototype,
23
24 /**
25 * Dismisses the overlay.
26 * @private
27 */
28 dismissOverlay_: function() {
29 OptionsPage.closeOverlay();
30 },
31
32 /**
33 * Enables or disables input fields.
34 * @private
35 */
36 enableInputs_: function(enabled) {
37 $('certificateCaTrustSSLCheckbox').disabled =
38 $('certificateCaTrustEmailCheckbox').disabled =
39 $('certificateCaTrustObjSignCheckbox').disabled =
40 $('certificateEditCaTrustCancelButton').disabled =
41 $('certificateEditCaTrustOkButton').disabled = !enabled;
42 },
43
44 /**
45 * Attempt the Edit operation.
46 * The overlay will be left up with inputs disabled until the backend
47 * finishes and dismisses it.
48 * @private
49 */
50 finishEdit_: function() {
51 // TODO(mattm): Send checked values as booleans. For now send them as
52 // strings, since WebUIBindings::send does not support any other types :(
53 chrome.send('editCaCertificateTrust',
54 [this.certId,
55 $('certificateCaTrustSSLCheckbox').checked.toString(),
56 $('certificateCaTrustEmailCheckbox').checked.toString(),
57 $('certificateCaTrustObjSignCheckbox').checked.toString()]);
58 this.enableInputs_(false);
59 },
60
61 /**
62 * Cancel the Edit operation.
63 * @private
64 */
65 cancelEdit_: function() {
66 this.dismissOverlay_();
67 },
68
69 /**
70 * Attempt the Import operation.
71 * The overlay will be left up with inputs disabled until the backend
72 * finishes and dismisses it.
73 * @private
74 */
75 finishImport_: function() {
76 // TODO(mattm): Send checked values as booleans. For now send them as
77 // strings, since WebUIBindings::send does not support any other types :(
78 chrome.send('importCaCertificateTrustSelected',
79 [$('certificateCaTrustSSLCheckbox').checked.toString(),
80 $('certificateCaTrustEmailCheckbox').checked.toString(),
81 $('certificateCaTrustObjSignCheckbox').checked.toString()]);
82 this.enableInputs_(false);
83 },
84
85 /**
86 * Cancel the Import operation.
87 * @private
88 */
89 cancelImport_: function() {
90 chrome.send('cancelImportExportCertificate');
91 this.dismissOverlay_();
92 },
93 };
94
95 /**
96 * Callback from CertificateManagerHandler with the trust values.
97 * @param {boolean} trustSSL The initial value of SSL trust checkbox.
98 * @param {boolean} trustEmail The initial value of Email trust checkbox.
99 * @param {boolean} trustObjSign The initial value of Object Signing trust.
100 */
101 CertificateEditCaTrustOverlay.populateTrust = function(
102 trustSSL, trustEmail, trustObjSign) {
103 $('certificateCaTrustSSLCheckbox').checked = trustSSL;
104 $('certificateCaTrustEmailCheckbox').checked = trustEmail;
105 $('certificateCaTrustObjSignCheckbox').checked = trustObjSign;
106 CertificateEditCaTrustOverlay.getInstance().enableInputs_(true);
107 }
108
109 /**
110 * Show the Edit CA Trust overlay.
111 * @param {string} certId The id of the certificate to be passed to the
112 * certificate manager model.
113 * @param {string} certName The display name of the certificate.
114 * checkbox.
115 */
116 CertificateEditCaTrustOverlay.show = function(certId, certName) {
117 var self = CertificateEditCaTrustOverlay.getInstance();
118 self.certId = certId;
119 $('certificateEditCaTrustCancelButton').onclick = function(event) {
120 self.cancelEdit_();
121 }
122 $('certificateEditCaTrustOkButton').onclick = function(event) {
123 self.finishEdit_();
124 }
125 $('certificateEditCaTrustDescription').textContent =
126 loadTimeData.getStringF('certificateEditCaTrustDescriptionFormat',
127 certName);
128 self.enableInputs_(false);
129 OptionsPage.navigateToPage('certificateEditCaTrustOverlay');
130 chrome.send('getCaCertificateTrust', [certId]);
131 }
132
133 /**
134 * Show the Import CA overlay.
135 * @param {string} certId The id of the certificate to be passed to the
136 * certificate manager model.
137 * @param {string} certName The display name of the certificate.
138 * checkbox.
139 */
140 CertificateEditCaTrustOverlay.showImport = function(certName) {
141 var self = CertificateEditCaTrustOverlay.getInstance();
142 // TODO(mattm): do we want a view certificate button here like firefox has?
143 $('certificateEditCaTrustCancelButton').onclick = function(event) {
144 self.cancelImport_();
145 }
146 $('certificateEditCaTrustOkButton').onclick = function(event) {
147 self.finishImport_();
148 }
149 $('certificateEditCaTrustDescription').textContent =
150 loadTimeData.getStringF('certificateImportCaDescriptionFormat',
151 certName);
152 CertificateEditCaTrustOverlay.populateTrust(false, false, false);
153 OptionsPage.navigateToPage('certificateEditCaTrustOverlay');
154 }
155
156 CertificateEditCaTrustOverlay.dismiss = function() {
157 CertificateEditCaTrustOverlay.getInstance().dismissOverlay_();
158 };
159
160 // Export
161 return {
162 CertificateEditCaTrustOverlay: CertificateEditCaTrustOverlay
163 };
164 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698