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

Side by Side Diff: chrome/browser/resources/options/chromeos/cellular_plan_element.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) 2011 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.internet', function() {
6 /**
7 * Creates a new network list div.
8 * @param {Object=} opt_propertyBag Optional properties.
9 * @constructor
10 * @extends {HTMLDivElement}
11 */
12 var CellularPlanElement = cr.ui.define('div');
13
14 CellularPlanElement.prototype = {
15 __proto__: HTMLDivElement.prototype,
16
17 /** @inheritDoc */
18 decorate: function() {
19 },
20
21 /**
22 * Loads given network list.
23 * @param {Array} networks An array of network object.
24 */
25 load: function(plans) {
26 this.textContent = '';
27 if (!plans || !plans.length) {
28 var noplansDiv = this.ownerDocument.createElement('div');
29 noplansDiv.textContent = localStrings.getString('noPlansFound');
30 this.appendChild(detailsTable);
31 } else {
32 for (var i = 0; i < plans.length; ++i) {
33 this.appendChild(new CellularPlanItem(i, plans[i]));
34 }
35 }
36 }
37 };
38
39 /**
40 * Creates a new network item.
41 * @param {Object} network The network this represents.
42 * @constructor
43 * @extends {HTMLDivElement}
44 */
45 function CellularPlanItem(idx, plan) {
46 var el = cr.doc.createElement('div');
47 el.data = {
48 idx: idx,
49 planType: plan.planType,
50 name: plan.name,
51 planSummary: plan.planSummary,
52 dataRemaining: plan.dataRemaining,
53 planExpires: plan.planExpires,
54 warning: plan.warning
55 };
56 CellularPlanItem.decorate(el);
57 return el;
58 }
59
60
61 /**
62 * Decorates an element as a network item.
63 * @param {!HTMLElement} el The element to decorate.
64 */
65 CellularPlanItem.decorate = function(el) {
66 el.__proto__ = CellularPlanItem.prototype;
67 el.decorate();
68 };
69
70 CellularPlanItem.prototype = {
71 __proto__: HTMLDivElement.prototype,
72
73 /** @inheritDoc */
74 decorate: function() {
75 this.className = 'cellular-plan';
76 var detailsTable = this.createTable_('details-plan-table',
77 'option-control-table');
78 this.addRow_(detailsTable, 'plan-details-info',
79 'option-name', 'planSummary', this.data.planSummary);
80 this.addRow_(detailsTable, 'plan-details-info',
81 'option-name', null, localStrings.getString('planName'),
82 'option-value', 'planName', this.data.name);
83 this.addRow_(detailsTable, 'plan-details-info',
84 'option-name', null, localStrings.getString('dataRemaining'),
85 'option-value', 'dataRemaining', this.data.dataRemaining);
86 this.addRow_(detailsTable, 'plan-details-info',
87 'option-name', null, localStrings.getString('planExpires'),
88 'option-value', 'dataRemaining', this.data.planExpires);
89 if (this.data.warning && this.data.warning != "") {
90 this.addRow_(detailsTable, 'plan-details-info',
91 'option-name', 'planWarning', this.data.warning);
92 }
93 this.appendChild(detailsTable);
94 this.appendChild(this.ownerDocument.createElement('hr'));
95 },
96
97 createTable_: function(tableId, tableClass) {
98 var table = this.ownerDocument.createElement('table');
99 table.id = tableId;
100 table.className = tableClass;
101 return table;
102 },
103
104 addRow_: function(table, rowClass, col1Class, col1Id, col1Value,
105 col2Class, col2Id, col2Value) {
106 var row = this.ownerDocument.createElement('tr');
107 if (rowClass)
108 row.className = rowClass;
109 var col1 = this.ownerDocument.createElement('td');
110 col1.className = col1Class;
111 if (col1Id)
112 col1.id = col1Id;
113 col1.textContent = col1Value;
114 if (!col2Class)
115 col1.setAttribute('colspan','2');
116 row.appendChild(col1);
117 if (col2Class) {
118 var col2 = this.ownerDocument.createElement('td');
119 col2.className = col2Class;
120 if (col2Id)
121 col2.id = col2Id;
122 col2.textContent = col2Value;
123 row.appendChild(col2);
124 }
125 table.appendChild(row);
126 }
127 };
128
129 return {
130 CellularPlanElement: CellularPlanElement
131 };
132 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698