1// Copyright 2014 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
5var AlertOverlay = options.AlertOverlay;
6var OptionsPage = options.OptionsPage;
7var PageManager = cr.ui.pageManager.PageManager;
8var CertificateManager = options.CertificateManager;
9var CertificateRestoreOverlay = options.CertificateRestoreOverlay;
10var CertificateBackupOverlay = options.CertificateBackupOverlay;
11var CertificateEditCaTrustOverlay = options.CertificateEditCaTrustOverlay;
12var CertificateImportErrorOverlay = options.CertificateImportErrorOverlay;
13
14/**
15 * DOMContentLoaded handler, sets up the page.
16 */
17function load() {
18  if (cr.isChromeOS)
19    document.documentElement.setAttribute('os', 'chromeos');
20
21  // Setup tab change handers.
22  var subpagesNavTabs = document.querySelectorAll('.subpages-nav-tabs');
23  for (var i = 0; i < subpagesNavTabs.length; i++) {
24    subpagesNavTabs[i].onclick = function(event) {
25      OptionsPage.showTab(event.srcElement);
26    };
27  }
28
29  // Shake the dialog if the user clicks outside the dialog bounds.
30  var containers = [$('overlay-container-2')];
31  for (var i = 0; i < containers.length; i++) {
32    var overlay = containers[i];
33    cr.ui.overlay.setupOverlay(overlay);
34    overlay.addEventListener('cancelOverlay',
35                             PageManager.cancelOverlay.bind(PageManager));
36  }
37
38  // Hide elements that should not be part of the dialog.
39  $('certificate-confirm').hidden = true;
40  $('cert-manager-header').hidden = true;
41
42  PageManager.isDialog = true;
43  CertificateManager.getInstance().initializePage(true);
44  PageManager.registerOverlay(AlertOverlay.getInstance(),
45      CertificateManager.getInstance());
46  PageManager.registerOverlay(CertificateBackupOverlay.getInstance(),
47      CertificateManager.getInstance());
48  PageManager.registerOverlay(CertificateEditCaTrustOverlay.getInstance(),
49      CertificateManager.getInstance());
50  PageManager.registerOverlay(CertificateImportErrorOverlay.getInstance(),
51      CertificateManager.getInstance());
52  PageManager.registerOverlay(CertificateManager.getInstance());
53  PageManager.registerOverlay(CertificateRestoreOverlay.getInstance(),
54      CertificateManager.getInstance());
55
56  PageManager.showPageByName('certificates', false);
57}
58
59disableTextSelectAndDrag(function(e) {
60  var src = e.target;
61  return src instanceof HTMLTextAreaElement ||
62         src instanceof HTMLInputElement &&
63         /text|url/.test(src.type);
64});
65
66document.addEventListener('DOMContentLoaded', load);
67