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

Side by Side Diff: chrome/browser/resources/md_downloads/item.js

Issue 1328263004: MD Downloads: remove malware nodes from DOM if a download isn't malware (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dom-if1
Patch Set: Created 5 years, 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('downloads', function() { 5 cr.define('downloads', function() {
6 var Item = Polymer({ 6 var Item = Polymer({
7 is: 'downloads-item', 7 is: 'downloads-item',
8 8
9 /** 9 /**
10 * @param {!downloads.ThrottledIconLoader} iconLoader 10 * @param {!downloads.ThrottledIconLoader} iconLoader
(...skipping 17 matching lines...) Expand all
28 readyPromise: { 28 readyPromise: {
29 type: Object, 29 type: Object,
30 value: function() { 30 value: function() {
31 return new Promise(function(resolve, reject) { 31 return new Promise(function(resolve, reject) {
32 this.resolveReadyPromise_ = resolve; 32 this.resolveReadyPromise_ = resolve;
33 }.bind(this)); 33 }.bind(this));
34 }, 34 },
35 }, 35 },
36 36
37 scrollbarWidth: { 37 scrollbarWidth: {
38 observer: 'onScrollbarWidthChange_',
38 type: Number, 39 type: Number,
39 value: 0, 40 value: 0,
40 observer: 'onScrollbarWidthChange_',
41 }, 41 },
42 42
43 completelyOnDisk_: { 43 completelyOnDisk_: {
44 computed: 'computeCompletelyOnDisk_(' +
45 'data_.state, data_.file_externally_removed)',
44 type: Boolean, 46 type: Boolean,
45 value: true, 47 value: true,
46 computed: 'computeCompletelyOnDisk_(' +
47 'data_.state, data_.file_externally_removed)',
48 }, 48 },
49 49
50 i18n_: { 50 i18n_: {
51 readOnly: true,
51 type: Object, 52 type: Object,
52 value: function() { 53 value: function() {
53 return { 54 return {
54 cancel: loadTimeData.getString('controlCancel'), 55 cancel: loadTimeData.getString('controlCancel'),
56 discard: loadTimeData.getString('dangerDiscard'),
55 pause: loadTimeData.getString('controlPause'), 57 pause: loadTimeData.getString('controlPause'),
58 remove: loadTimeData.getString('controlRemoveFromList'),
56 resume: loadTimeData.getString('controlResume'), 59 resume: loadTimeData.getString('controlResume'),
60 restore: loadTimeData.getString('dangerRestore'),
57 retry: loadTimeData.getString('controlRetry'), 61 retry: loadTimeData.getString('controlRetry'),
62 save: loadTimeData.getString('dangerSave'),
58 show: loadTimeData.getString('controlShowInFolder'), 63 show: loadTimeData.getString('controlShowInFolder'),
59 }; 64 };
60 }, 65 },
61 readOnly: true,
62 }, 66 },
63 67
64 isDangerous_: { 68 isDangerous_: {
69 computed: 'computeIsDangerous_(data_.state)',
65 type: Boolean, 70 type: Boolean,
66 value: false, 71 value: false,
67 computed: 'computeIsDangerous_(data_.state)',
68 }, 72 },
69 73
70 isInProgress_: { 74 isInProgress_: {
75 computed: 'computeIsInProgress_(data_.state)',
71 type: Boolean, 76 type: Boolean,
72 value: false, 77 value: false,
73 computed: 'computeIsInProgress_(data_.state)',
74 }, 78 },
75 79
76 showCancel_: { 80 showCancel_: {
81 computed: 'computeShowCancel_(data_.state)',
77 type: Boolean, 82 type: Boolean,
78 value: false, 83 value: false,
79 computed: 'computeShowCancel_(data_.state)',
80 }, 84 },
81 85
82 showProgress_: { 86 showProgress_: {
87 computed: 'computeShowProgress_(showCancel_, data_.percent)',
83 type: Boolean, 88 type: Boolean,
84 value: false, 89 value: false,
85 computed: 'computeShowProgress_(showCancel_, data_.percent)',
86 }, 90 },
87 91
88 /** Only set when |isDangerous| is true. */ 92 isMalware_: {
89 isMalware_: Boolean, 93 computed: 'computeIsMalware_(isDangerous_, data_.danger_type)',
94 type: Boolean,
95 value: false,
96 },
90 97
91 // TODO(dbeam): move all properties to |data_|. 98 // TODO(dbeam): move all properties to |data_|.
92 data_: { 99 data_: {
93 type: Object, 100 type: Object,
94 value: function() { return {}; }, 101 value: function() { return {}; },
95 }, 102 },
96 }, 103 },
97 104
98 ready: function() { 105 ready: function() {
99 this.content = this.$.content; 106 this.content = this.$.content;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 154
148 // Status goes in the "tag" (next to the file name) if there's no file. 155 // Status goes in the "tag" (next to the file name) if there's no file.
149 this.ensureTextIs_(this.$.description, isActive ? description : ''); 156 this.ensureTextIs_(this.$.description, isActive ? description : '');
150 this.ensureTextIs_(this.$.tag, isActive ? '' : description); 157 this.ensureTextIs_(this.$.tag, isActive ? '' : description);
151 158
152 this.$.content.classList.toggle('show-progress', this.showProgress_); 159 this.$.content.classList.toggle('show-progress', this.showProgress_);
153 160
154 var hideRemove; 161 var hideRemove;
155 162
156 if (this.isDangerous_) { 163 if (this.isDangerous_) {
157 this.isMalware_ =
158 data.danger_type == downloads.DangerType.DANGEROUS_CONTENT ||
159 data.danger_type == downloads.DangerType.DANGEROUS_HOST ||
160 data.danger_type == downloads.DangerType.DANGEROUS_URL ||
161 data.danger_type == downloads.DangerType.POTENTIALLY_UNWANTED;
162 hideRemove = true; 164 hideRemove = true;
163 } else { 165 } else {
164 this.$['file-link'].href = data.url; 166 this.$['file-link'].href = data.url;
165 this.ensureTextIs_(this.$['file-link'], data.file_name); 167 this.ensureTextIs_(this.$['file-link'], data.file_name);
166 168
167 this.$['file-link'].hidden = !this.completelyOnDisk_; 169 this.$['file-link'].hidden = !this.completelyOnDisk_;
168 this.$.name.hidden = this.completelyOnDisk_; 170 this.$.name.hidden = this.completelyOnDisk_;
169 171
170 hideRemove = this.showCancel_ || 172 hideRemove = this.showCancel_ ||
171 !loadTimeData.getBoolean('allowDeletingHistory'); 173 !loadTimeData.getBoolean('allowDeletingHistory');
(...skipping 25 matching lines...) Expand all
197 assert(!this.hideDate); 199 assert(!this.hideDate);
198 return assert(this.data_.since_string || this.data_.date_string); 200 return assert(this.data_.since_string || this.data_.date_string);
199 }, 201 },
200 202
201 /** @private */ 203 /** @private */
202 computeIsInProgress_: function() { 204 computeIsInProgress_: function() {
203 return this.data_.state == downloads.States.IN_PROGRESS; 205 return this.data_.state == downloads.States.IN_PROGRESS;
204 }, 206 },
205 207
206 /** @private */ 208 /** @private */
209 computeIsMalware_: function() {
210 return this.isDangerous_ &&
211 (this.data_.danger_type == downloads.DangerType.DANGEROUS_CONTENT ||
212 this.data_.danger_type == downloads.DangerType.DANGEROUS_HOST ||
213 this.data_.danger_type == downloads.DangerType.DANGEROUS_URL ||
214 this.data_.danger_type == downloads.DangerType.POTENTIALLY_UNWANTED);
215 },
216
217 /** @private */
207 computeIsDangerous_: function() { 218 computeIsDangerous_: function() {
208 return this.data_.state == downloads.States.DANGEROUS; 219 return this.data_.state == downloads.States.DANGEROUS;
209 }, 220 },
210 221
211 /** @private */ 222 /** @private */
212 computeShowCancel_: function() { 223 computeShowCancel_: function() {
213 return this.data_.state == downloads.States.IN_PROGRESS || 224 return this.data_.state == downloads.States.IN_PROGRESS ||
214 this.data_.state == downloads.States.PAUSED; 225 this.data_.state == downloads.States.PAUSED;
215 }, 226 },
216 227
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 }, 366 },
356 367
357 /** @private */ 368 /** @private */
358 onShowClick_: function() { 369 onShowClick_: function() {
359 this.actionService_.show(this.data_.id); 370 this.actionService_.show(this.data_.id);
360 }, 371 },
361 }); 372 });
362 373
363 return {Item: Item}; 374 return {Item: Item};
364 }); 375 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698