1<?xml version="1.0"?>
2<!-- This Source Code Form is subject to the terms of the Mozilla Public
3   - License, v. 2.0. If a copy of the MPL was not distributed with this
4   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
5
6<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
7
8<!DOCTYPE window>
9
10<window windowtype="mozilla:certmanager"
11        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
12        xmlns:html="http://www.w3.org/1999/xhtml"
13        data-l10n-id="certmgr-title"
14        onload="LoadCerts();"
15        style="min-width: 45em; min-height: 32em;"
16        persist="screenX screenY width height">
17<dialog id="certmanager"
18        buttons="accept">
19
20  <linkset>
21    <html:link rel="localization" href="security/certificates/certManager.ftl"/>
22  </linkset>
23
24  <script src="chrome://pippki/content/pippki.js"/>
25  <script src="chrome://pippki/content/certManager.js"/>
26
27  <vbox flex="1">
28    <tabbox id="certmanagertabs" flex="1" style="margin:5px" persist="selectedIndex">
29      <tabs id="certMgrTabbox">
30        <tab id="mine_tab" data-l10n-id="certmgr-tab-mine"/>
31        <tab id="remembered_tab" data-l10n-id="certmgr-tab-remembered"/>
32        <tab id="others_tab" data-l10n-id="certmgr-tab-people"/>
33        <tab id="websites_tab" data-l10n-id="certmgr-tab-servers"/>
34        <tab id="ca_tab" data-l10n-id="certmgr-tab-ca" selected="true"/>
35      </tabs>
36      <tabpanels flex="1">
37        <vbox id="myCerts" flex="1">
38          <description data-l10n-id="certmgr-mine"></description>
39          <separator class="thin"/>
40          <tree id="user-tree" flex="1" enableColumnDrag="true"
41                    onselect="mine_enableButtons()">
42            <treecols>
43              <!--
44                The below code may suggest that 'ordinal' is still a supported XUL
45                XUL attribute. It is not. This is a crutch so that we can
46                continue persisting the CSS -moz-box-ordinal-group attribute,
47                which is the appropriate replacement for the ordinal attribute
48                but cannot yet be easily persisted. The code that synchronizes
49                the attribute with the CSS lives in
50                toolkit/content/widget/tree.js and is specific to tree elements.
51              -->
52              <treecol id="certcol" data-l10n-id="certmgr-cert-name" primary="true"
53                           persist="hidden width ordinal" flex="1"/>
54              <splitter class="tree-splitter"/>
55              <treecol id="tokencol" data-l10n-id="certmgr-token-name"
56                           persist="hidden width ordinal" flex="1"/>
57              <splitter class="tree-splitter"/>
58              <treecol id="serialnumcol" data-l10n-id="certmgr-serial"
59                           persist="hidden width ordinal" flex="1"/>
60              <splitter class="tree-splitter"/>
61              <treecol id="issuedcol" data-l10n-id="certmgr-begins-label"
62                           hidden="true" persist="hidden width ordinal" flex="1"/>
63              <splitter class="tree-splitter"/>
64              <treecol id="expiredcol" data-l10n-id="certmgr-expires-label"
65                           persist="hidden width ordinal" flex="1"/>
66            </treecols>
67            <treechildren ondblclick="viewCerts();"/>
68          </tree>
69
70          <separator class="thin"/>
71
72          <hbox>
73             <button id="mine_viewButton" class="normal"
74                     data-l10n-id="certmgr-view"
75                     disabled="true" oncommand="viewCerts();"/>
76             <button id="mine_backupButton" class="normal"
77                     data-l10n-id="certmgr-backup"
78                     disabled="true" oncommand="backupCerts();"/>
79             <button id="mine_backupAllButton" class="normal"
80                     data-l10n-id="certmgr-backup-all"
81                     oncommand="backupAllCerts();"/>
82             <button id="mine_restoreButton" class="normal"
83                     data-l10n-id="certmgr-restore"
84                     oncommand="restoreCerts();"/>
85             <button id="mine_deleteButton" class="normal"
86                     data-l10n-id="certmgr-delete"
87                     disabled="true" oncommand="deleteCerts();"/>
88          </hbox>
89        </vbox>
90        <vbox id="rememberedCerts" flex="1">
91          <description data-l10n-id="certmgr-remembered"></description>
92          <separator class="thin"/>
93
94           <listheader equalsize="always">
95             <treecol id="hostcol" data-l10n-id="certmgr-cert-host" primary="true"
96                           persist="hidden width ordinal" flex="1"/>
97             <treecol id="certcol" data-l10n-id="certmgr-cert-name" primary="true"
98                           persist="hidden width ordinal" flex="1"/>
99             <treecol id="serialnumcol" data-l10n-id="certmgr-serial"
100                           persist="hidden width ordinal" flex="1"/>
101           </listheader>
102           <richlistbox class="certManagerRichlistBox" id="rememberedList" flex="1" selected="false"/>
103
104          <separator class="thin"/>
105
106          <hbox>
107             <button id="remembered_deleteButton" class="normal"
108                     data-l10n-id="certmgr-delete"
109
110                     oncommand="rememberedDecisionsRichList.deleteSelectedRichListItem()"/>
111
112             <button id="remembered_viewButton" class="normal"
113                     data-l10n-id="certmgr-view"
114
115                     oncommand="rememberedDecisionsRichList.viewSelectedRichListItem()"/>
116          </hbox>
117        </vbox>
118        <vbox id="othersCerts" flex="1">
119          <description data-l10n-id="certmgr-people"></description>
120          <separator class="thin"/>
121          <tree id="email-tree" flex="1"
122                    onselect="email_enableButtons()">
123            <treecols>
124              <treecol id="certcol" data-l10n-id="certmgr-cert-name" primary="true"
125                           flex="1"/>
126              <splitter class="tree-splitter"/>
127              <treecol id="emailcol" data-l10n-id="certmgr-email"
128                           flex="1"/>
129              <splitter class="tree-splitter"/>
130              <treecol id="expiredcol" data-l10n-id="certmgr-expires-label"
131                       flex="1"/>
132            </treecols>
133            <treechildren flex="1" ondblclick="viewCerts();"/>
134          </tree>
135
136          <separator class="thin"/>
137
138          <hbox>
139            <button id="email_viewButton"
140                    data-l10n-id="certmgr-view"
141                    disabled="true" oncommand="viewCerts();"/>
142            <button id="email_addButton"
143                    data-l10n-id="certmgr-restore"
144                    oncommand="addEmailCert();"/>
145            <button id="email_exportButton"
146                    data-l10n-id="certmgr-export"
147                    disabled="true" oncommand="exportCerts();"/>
148            <button id="email_deleteButton"
149                    data-l10n-id="certmgr-delete"
150                    disabled="true" oncommand="deleteCerts();"/>
151          </hbox>
152        </vbox>
153
154        <vbox id="webCerts" flex="1">
155          <description data-l10n-id="certmgr-server"></description>
156          <separator class="thin"/>
157
158           <listheader equalsize="always">
159             <treecol id="sitecol" data-l10n-id="certmgr-cert-server" primary="true" flex="1"/>
160             <treecol id="certcol" data-l10n-id="certmgr-cert-name" flex="1"/>
161             <treecol id="lifetimecol" data-l10n-id="certmgr-override-lifetime" flex="1"/>
162           </listheader>
163           <richlistbox ondblclick="serverRichList.viewSelectedRichListItem();" class="certManagerRichlistBox" id="serverList" flex="1" selected="false"/>
164
165          <separator class="thin"/>
166
167          <hbox>
168            <button id="websites_viewButton"
169                    data-l10n-id="certmgr-view" oncommand="serverRichList.viewSelectedRichListItem();"/>
170            <button id="websites_exportButton"
171                    data-l10n-id="certmgr-export" oncommand="serverRichList.exportSelectedRichListItem();"/>
172            <button id="websites_deleteButton"
173                    data-l10n-id="certmgr-delete" oncommand="serverRichList.deleteSelectedRichListItem();"/>
174            <button id="websites_exceptionButton"
175                    data-l10n-id="certmgr-add-exception"
176                    oncommand="serverRichList.addException();"/>
177          </hbox>
178        </vbox>
179        <vbox id="CACerts" flex="1">
180          <description data-l10n-id="certmgr-ca"></description>
181          <separator class="thin"/>
182          <tree id="ca-tree" flex="1" enableColumnDrag="true"
183                    onselect="ca_enableButtons()">
184            <treecols>
185              <!--
186                The below code may suggest that 'ordinal' is still a supported XUL
187                XUL attribute. It is not. This is a crutch so that we can
188                continue persisting the CSS -moz-box-ordinal-group attribute,
189                which is the appropriate replacement for the ordinal attribute
190                but cannot yet be easily persisted. The code that synchronizes
191                the attribute with the CSS lives in
192                toolkit/content/widget/tree.js and is specific to tree elements.
193              -->
194              <treecol id="certcol" data-l10n-id="certmgr-cert-name" primary="true"
195                           persist="hidden width ordinal" flex="1"/>
196              <splitter class="tree-splitter"/>
197              <treecol id="tokencol" data-l10n-id="certmgr-token-name"
198                           persist="hidden width ordinal" flex="1"/>
199            </treecols>
200            <treechildren ondblclick="viewCerts();"/>
201          </tree>
202
203          <separator class="thin"/>
204
205          <hbox>
206            <button id="ca_viewButton"
207                    data-l10n-id="certmgr-view"
208                    disabled="true" oncommand="viewCerts();"/>
209            <button id="ca_editButton"
210                    data-l10n-id="certmgr-edit"
211                    disabled="true" oncommand="editCerts();"/>
212            <button id="ca_addButton"
213                    data-l10n-id="certmgr-restore"
214                    oncommand="addCACerts();"/>
215            <button id="ca_exportButton"
216                    data-l10n-id="certmgr-export"
217                    disabled="true" oncommand="exportCerts();"/>
218            <button id="ca_deleteButton"
219                    data-l10n-id="certmgr-delete-builtin"
220                    disabled="true" oncommand="deleteCerts();"/>
221          </hbox>
222        </vbox>
223      </tabpanels>
224    </tabbox>
225
226  </vbox>
227
228</dialog>
229</window>
230