| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 var SourceEntry = (function() { | 5 var SourceEntry = (function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * A SourceEntry gathers all log entries with the same source. | 9 * A SourceEntry gathers all log entries with the same source. |
| 10 * | 10 * |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 this.description_ = e.params.hostname; | 133 this.description_ = e.params.hostname; |
| 134 break; | 134 break; |
| 135 case LogSourceType.DOWNLOAD: | 135 case LogSourceType.DOWNLOAD: |
| 136 switch (e.type) { | 136 switch (e.type) { |
| 137 case LogEventType.DOWNLOAD_FILE_RENAMED: | 137 case LogEventType.DOWNLOAD_FILE_RENAMED: |
| 138 this.description_ = e.params.new_filename; | 138 this.description_ = e.params.new_filename; |
| 139 break; | 139 break; |
| 140 case LogEventType.DOWNLOAD_FILE_OPENED: | 140 case LogEventType.DOWNLOAD_FILE_OPENED: |
| 141 this.description_ = e.params.file_name; | 141 this.description_ = e.params.file_name; |
| 142 break; | 142 break; |
| 143 case LogEventType.DOWNLOAD_ITEM_ACTIVE: |
| 144 this.description_ = e.params.intermediate_name; |
| 145 break; |
| 143 } | 146 } |
| 144 break; | 147 break; |
| 145 case LogSourceType.FILESTREAM: | 148 case LogSourceType.FILESTREAM: |
| 146 this.description_ = e.params.file_name; | 149 this.description_ = e.params.file_name; |
| 147 break; | 150 break; |
| 148 } | 151 } |
| 149 | 152 |
| 150 if (this.description_ == undefined) | 153 if (this.description_ == undefined) |
| 151 this.description_ = ''; | 154 this.description_ = ''; |
| 152 }, | 155 }, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 177 if (this.entries_[0].source.type == LogSourceType.DOWNLOAD) { | 180 if (this.entries_[0].source.type == LogSourceType.DOWNLOAD) { |
| 178 // If any rename occurred, use the last name | 181 // If any rename occurred, use the last name |
| 179 e = this.findLastLogEntryStartByType_( | 182 e = this.findLastLogEntryStartByType_( |
| 180 LogEventType.DOWNLOAD_FILE_RENAMED); | 183 LogEventType.DOWNLOAD_FILE_RENAMED); |
| 181 if (e != undefined) | 184 if (e != undefined) |
| 182 return e; | 185 return e; |
| 183 // Otherwise, if the file was opened, use that name | 186 // Otherwise, if the file was opened, use that name |
| 184 e = this.findLogEntryByType_(LogEventType.DOWNLOAD_FILE_OPENED); | 187 e = this.findLogEntryByType_(LogEventType.DOWNLOAD_FILE_OPENED); |
| 185 if (e != undefined) | 188 if (e != undefined) |
| 186 return e; | 189 return e; |
| 190 // History items are never opened, so use the activation info |
| 191 e = this.findLogEntryByType_(LogEventType.DOWNLOAD_ITEM_ACTIVE); |
| 192 if (e != undefined) |
| 193 return e; |
| 187 } | 194 } |
| 188 if (this.entries_.length >= 2) { | 195 if (this.entries_.length >= 2) { |
| 189 if (this.entries_[0].type == LogEventType.REQUEST_ALIVE || | 196 if (this.entries_[0].type == LogEventType.REQUEST_ALIVE || |
| 190 this.entries_[0].type == LogEventType.SOCKET_POOL_CONNECT_JOB || | 197 this.entries_[0].type == LogEventType.SOCKET_POOL_CONNECT_JOB || |
| 191 this.entries_[1].type == LogEventType.UDP_CONNECT) { | 198 this.entries_[1].type == LogEventType.UDP_CONNECT) { |
| 192 return this.entries_[1]; | 199 return this.entries_[1]; |
| 193 } | 200 } |
| 194 } | 201 } |
| 195 return this.entries_[0]; | 202 return this.entries_[0]; |
| 196 }, | 203 }, |
| 197 | 204 |
| 198 /** | 205 /** |
| 199 * Returns the first entry with the specified type, or undefined if not | 206 * Returns the first entry with the specified type, or undefined if not |
| 200 * found. | 207 * found. |
| 201 */ | 208 */ |
| 202 findLogEntryByType_: function(type) { | 209 findLogEntryByType_: function(type) { |
| 203 for (var i = 0; i < this.entries_.length; ++i) { | 210 for (var i = 0; i < this.entries_.length; ++i) { |
| 204 if (this.entries_[i].type == type) { | 211 if (this.entries_[i].type == type) { |
| 205 return this.entries_[i]; | 212 return this.entries_[i]; |
| 206 } | 213 } |
| 207 } | 214 } |
| 208 return undefined; | 215 return undefined; |
| 209 }, | 216 }, |
| 210 | 217 |
| 211 /** | 218 /** |
| 212 * Returns the last entry with the specified type, or undefined if not | 219 * Returns the beginning of the last entry with the specified type, or |
| 213 * found. | 220 * undefined if not found. |
| 214 */ | 221 */ |
| 215 findLastLogEntryStartByType_: function(type) { | 222 findLastLogEntryStartByType_: function(type) { |
| 216 for (var i = this.entries_.length - 1; i >= 0; --i) { | 223 for (var i = this.entries_.length - 1; i >= 0; --i) { |
| 217 if (this.entries_[i].type == type) { | 224 if (this.entries_[i].type == type) { |
| 218 if (this.entries_[i].phase == LogEventPhase.PHASE_BEGIN) | 225 if (this.entries_[i].phase == LogEventPhase.PHASE_BEGIN) |
| 219 return this.entries_[i]; | 226 return this.entries_[i]; |
| 220 } | 227 } |
| 221 } | 228 } |
| 222 return undefined; | 229 return undefined; |
| 223 }, | 230 }, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 * Prints descriptive text about |entries_| to a new node added to the end | 289 * Prints descriptive text about |entries_| to a new node added to the end |
| 283 * of |parent|. | 290 * of |parent|. |
| 284 */ | 291 */ |
| 285 printAsText: function(parent) { | 292 printAsText: function(parent) { |
| 286 printLogEntriesAsText(this.entries_, parent); | 293 printLogEntriesAsText(this.entries_, parent); |
| 287 } | 294 } |
| 288 }; | 295 }; |
| 289 | 296 |
| 290 return SourceEntry; | 297 return SourceEntry; |
| 291 })(); | 298 })(); |
| OLD | NEW |