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

Side by Side Diff: chrome/browser/resources/options/certificate_tree.js

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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) 2010 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 Tree = cr.ui.Tree;
7 const TreeItem = cr.ui.TreeItem;
8
9 /**
10 * Creates a new tree item for certificate data.
11 * @param {Object=} data Data used to create a certificate tree item.
12 * @constructor
13 * @extends {TreeItem}
14 */
15 function CertificateTreeItem(data) {
16 // TODO(mattm): other columns
17 var treeItem = new TreeItem({
18 label: data.name,
19 data: data
20 });
21 treeItem.__proto__ = CertificateTreeItem.prototype;
22
23 if (data.icon) {
24 treeItem.icon = data.icon;
25 }
26
27 return treeItem;
28 }
29
30 CertificateTreeItem.prototype = {
31 __proto__: TreeItem.prototype,
32
33 /**
34 * The tree path id/.
35 * @type {string}
36 */
37 get pathId() {
38 var parent = this.parentItem;
39 if (parent && parent instanceof CertificateTreeItem) {
40 return parent.pathId + ',' + this.data.id;
41 } else {
42 return this.data.id;
43 }
44 }
45 };
46
47 /**
48 * Creates a new cookies tree.
49 * @param {Object=} opt_propertyBag Optional properties.
50 * @constructor
51 * @extends {Tree}
52 */
53 var CertificatesTree = cr.ui.define('tree');
54
55 CertificatesTree.prototype = {
56 __proto__: Tree.prototype,
57
58 /** @inheritDoc */
59 decorate: function() {
60 Tree.prototype.decorate.call(this);
61 this.treeLookup_ = {};
62 },
63
64 /** @inheritDoc */
65 addAt: function(child, index) {
66 Tree.prototype.addAt.call(this, child, index);
67 if (child.data && child.data.id)
68 this.treeLookup_[child.data.id] = child;
69 },
70
71 /** @inheritDoc */
72 remove: function(child) {
73 Tree.prototype.remove.call(this, child);
74 if (child.data && child.data.id)
75 delete this.treeLookup_[child.data.id];
76 },
77
78 /**
79 * Clears the tree.
80 */
81 clear: function() {
82 // Remove all fields without recreating the object since other code
83 // references it.
84 for (var id in this.treeLookup_){
85 delete this.treeLookup_[id];
86 }
87 this.textContent = '';
88 },
89
90 /**
91 * Populate the tree.
92 * @param {Array} nodesData Nodes data array.
93 */
94 populate: function(nodesData) {
95 this.clear();
96
97 for (var i = 0; i < nodesData.length; ++i) {
98 var subnodes = nodesData[i]['subnodes'];
99 delete nodesData[i]['subnodes'];
100
101 var item = new CertificateTreeItem(nodesData[i]);
102 this.addAt(item, i);
103
104 for (var j = 0; j < subnodes.length; ++j) {
105 var subitem = new CertificateTreeItem(subnodes[j]);
106 item.addAt(subitem, j);
107 }
108 // Make tree expanded by default.
109 item.expanded = true;
110 }
111
112 cr.dispatchSimpleEvent(this, 'change');
113 },
114 };
115
116 return {
117 CertificatesTree: CertificatesTree
118 };
119 });
120
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698