| 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 /** | 5 /** |
| 6 * TimelineView displays a zoomable and scrollable graph of a number of values | 6 * TimelineView displays a zoomable and scrollable graph of a number of values |
| 7 * over time. The TimelineView class itself is responsible primarily for | 7 * over time. The TimelineView class itself is responsible primarily for |
| 8 * updating the TimelineDataSeries its GraphView displays. | 8 * updating the TimelineDataSeries its GraphView displays. |
| 9 */ | 9 */ |
| 10 var TimelineView = (function() { | 10 var TimelineView = (function() { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 | 44 |
| 45 // DataSeries depend on some of the global constants, so they're only | 45 // DataSeries depend on some of the global constants, so they're only |
| 46 // created once constants have been received. We also use this message to | 46 // created once constants have been received. We also use this message to |
| 47 // recreate DataSeries when log files are being loaded. | 47 // recreate DataSeries when log files are being loaded. |
| 48 g_browser.addConstantsObserver(this); | 48 g_browser.addConstantsObserver(this); |
| 49 | 49 |
| 50 // We observe new log entries to determine the range of the graph, and pass | 50 // We observe new log entries to determine the range of the graph, and pass |
| 51 // them on to each DataSource. We initialize the graph range to initially | 51 // them on to each DataSource. We initialize the graph range to initially |
| 52 // include all events, but after that, we only update it to be the current | 52 // include all events, but after that, we only update it to be the current |
| 53 // time on a timer. | 53 // time on a timer. |
| 54 g_browser.sourceTracker.addLogEntryObserver(this); | 54 EventsTracker.getInstance().addLogEntryObserver(this); |
| 55 this.graphRangeInitialized_ = false; | 55 this.graphRangeInitialized_ = false; |
| 56 } | 56 } |
| 57 | 57 |
| 58 // ID for special HTML element in category_tabs.html | 58 // ID for special HTML element in category_tabs.html |
| 59 TimelineView.TAB_HANDLE_ID = 'tab-handle-timeline'; | 59 TimelineView.TAB_HANDLE_ID = 'tab-handle-timeline'; |
| 60 | 60 |
| 61 // IDs for special HTML elements in timeline_view.html | 61 // IDs for special HTML elements in timeline_view.html |
| 62 TimelineView.GRAPH_DIV_ID = 'timeline-view-graph-div'; | 62 TimelineView.GRAPH_DIV_ID = 'timeline-view-graph-div'; |
| 63 TimelineView.GRAPH_CANVAS_ID = 'timeline-view-graph-canvas'; | 63 TimelineView.GRAPH_CANVAS_ID = 'timeline-view-graph-canvas'; |
| 64 TimelineView.SELECTION_DIV_ID = 'timeline-view-selection-div'; | 64 TimelineView.SELECTION_DIV_ID = 'timeline-view-selection-div'; |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 }, | 224 }, |
| 225 | 225 |
| 226 /** | 226 /** |
| 227 * When we receive the constants, create or recreate the DataSeries. | 227 * When we receive the constants, create or recreate the DataSeries. |
| 228 */ | 228 */ |
| 229 onReceivedConstants: function(constants) { | 229 onReceivedConstants: function(constants) { |
| 230 this.createDataSeries_(); | 230 this.createDataSeries_(); |
| 231 }, | 231 }, |
| 232 | 232 |
| 233 /** | 233 /** |
| 234 * When log entries are deleted, simpler to recreate the DataSeries, rather | 234 * When all log entries are deleted, recreate the DataSeries. |
| 235 * than clearing them. | |
| 236 */ | 235 */ |
| 237 onAllLogEntriesDeleted: function() { | 236 onAllLogEntriesDeleted: function() { |
| 238 this.graphRangeInitialized_ = false; | 237 this.graphRangeInitialized_ = false; |
| 239 this.createDataSeries_(); | 238 this.createDataSeries_(); |
| 240 }, | 239 }, |
| 241 | 240 |
| 242 onReceivedLogEntries: function(entries) { | 241 onReceivedLogEntries: function(entries) { |
| 243 // Pass each entry to every DataSeries, one at a time. Not having each | 242 // Pass each entry to every DataSeries, one at a time. Not having each |
| 244 // data series get data directly from the SourceTracker saves us from | 243 // data series get data directly from the EventsTracker saves us from |
| 245 // having very un-Javascript-like destructors for when we load new, | 244 // having very un-Javascript-like destructors for when we load new, |
| 246 // constants and slightly simplifies DataSeries objects. | 245 // constants and slightly simplifies DataSeries objects. |
| 247 for (var entry = 0; entry < entries.length; ++entry) { | 246 for (var entry = 0; entry < entries.length; ++entry) { |
| 248 for (var i = 0; i < this.dataSeries_.length; ++i) | 247 for (var i = 0; i < this.dataSeries_.length; ++i) |
| 249 this.dataSeries_[i].onReceivedLogEntry(entries[entry]); | 248 this.dataSeries_[i].onReceivedLogEntry(entries[entry]); |
| 250 } | 249 } |
| 251 | 250 |
| 252 // If this is the first non-empty set of entries we've received, or we're | 251 // If this is the first non-empty set of entries we've received, or we're |
| 253 // viewing a loaded log file, we will need to update the date range. | 252 // viewing a loaded log file, we will need to update the date range. |
| 254 if (this.graphRangeInitialized_ && !MainView.isViewingLoadedLog()) | 253 if (this.graphRangeInitialized_ && !MainView.isViewingLoadedLog()) |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 this.leftView_.setGeometry(0, 0, newWidth, 100); | 289 this.leftView_.setGeometry(0, 0, newWidth, 100); |
| 291 | 290 |
| 292 // Force a re-layout now that the left view has changed width. | 291 // Force a re-layout now that the left view has changed width. |
| 293 this.setGeometry(this.getLeft(), this.getTop(), this.getWidth(), | 292 this.setGeometry(this.getLeft(), this.getTop(), this.getWidth(), |
| 294 this.getHeight()); | 293 this.getHeight()); |
| 295 } | 294 } |
| 296 }; | 295 }; |
| 297 | 296 |
| 298 return TimelineView; | 297 return TimelineView; |
| 299 })(); | 298 })(); |
| OLD | NEW |