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

Side by Side Diff: chrome/browser/resources/net_internals/requestsview.js

Issue 1593009: Add extra views to the new net internals page. This adds tabs along the top f... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 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
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 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 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 * RequestsView is the class which glues together the different components to 6 * RequestsView displays a filtered list of all the requests, and a details
7 * form the primary UI: 7 * pane for the selected requests.
8 * 8 *
9 * - The search filter 9 * +----------------------++----------------+
10 * - The requests table 10 * | filter box || |
11 * - The details panel 11 * +----------------------+| |
12 * - The action bar 12 * | || |
13 * | || |
14 * | || |
15 * | || |
16 * | requests list || details |
17 * | || view |
18 * | || |
19 * | || |
20 * | || |
21 * | || |
22 * +----------------------++ |
23 * | action bar || |
24 * +----------------------++----------------+
13 * 25 *
14 * @constructor 26 * @constructor
15 */ 27 */
16 function RequestsView(tableBodyId, filterInputId, filterCountId, 28 function RequestsView(tableBodyId, filterInputId, filterCountId,
17 deleteSelectedId, selectAllId, detailsView) { 29 deleteSelectedId, selectAllId,
30 tabHandlesContainerId, logTabId, timelineTabId,
31 detailsLogBoxId, detailsTimelineBoxId,
32 topbarId, middleboxId, bottombarId, sizerId) {
33 View.call(this);
34
35 // Initialize the sub-views.
36 var leftPane = new TopMidBottomView(new DivView(topbarId),
37 new DivView(middleboxId),
38 new DivView(bottombarId));
39
40 this.detailsView_ = new DetailsView(tabHandlesContainerId,
41 logTabId,
42 timelineTabId,
43 detailsLogBoxId,
44 detailsTimelineBoxId);
45
46 this.splitterView_ = new ResizableVerticalSplitView(
47 leftPane, this.detailsView_, new DivView(sizerId));
48
18 this.sourceIdToEntryMap_ = {}; 49 this.sourceIdToEntryMap_ = {};
19 this.currentSelectedSources_ = []; 50 this.currentSelectedSources_ = [];
20 51
21 LogDataProvider.addObserver(this); 52 LogDataProvider.addObserver(this);
22 53
23 this.tableBody_ = document.getElementById(tableBodyId); 54 this.tableBody_ = document.getElementById(tableBodyId);
24 this.detailsView_ = detailsView;
25 55
26 this.filterInput_ = document.getElementById(filterInputId); 56 this.filterInput_ = document.getElementById(filterInputId);
27 this.filterCount_ = document.getElementById(filterCountId); 57 this.filterCount_ = document.getElementById(filterCountId);
28 58
29 this.filterInput_.addEventListener("search", 59 this.filterInput_.addEventListener("search",
30 this.onFilterTextChanged_.bind(this), true); 60 this.onFilterTextChanged_.bind(this), true);
31 61
32 document.getElementById(deleteSelectedId).onclick = 62 document.getElementById(deleteSelectedId).onclick =
33 this.deleteSelected_.bind(this); 63 this.deleteSelected_.bind(this);
34 64
35 document.getElementById(selectAllId).addEventListener( 65 document.getElementById(selectAllId).addEventListener(
36 'click', this.selectAll_.bind(this), true); 66 'click', this.selectAll_.bind(this), true);
37 67
38 this.currentFilter_ = ''; 68 this.currentFilter_ = '';
39 this.numPrefilter_ = 0; 69 this.numPrefilter_ = 0;
40 this.numPostfilter_ = 0; 70 this.numPostfilter_ = 0;
41 71
42 this.invalidateFilterCounter_(); 72 this.invalidateFilterCounter_();
43 this.invalidateDetailsView_(); 73 this.invalidateDetailsView_();
44 } 74 }
45 75
76 inherits(RequestsView, View);
77
46 // How soon after updating the filter list the counter should be updated. 78 // How soon after updating the filter list the counter should be updated.
47 RequestsView.REPAINT_FILTER_COUNTER_TIMEOUT_MS = 0; 79 RequestsView.REPAINT_FILTER_COUNTER_TIMEOUT_MS = 0;
48 80
81 RequestsView.prototype.setGeometry = function(left, top, width, height) {
82 RequestsView.superClass_.setGeometry.call(this, left, top, width, height);
83 this.splitterView_.setGeometry(left, top, width, height);
84 };
85
86 RequestsView.prototype.show = function(isVisible) {
87 RequestsView.superClass_.show.call(this, isVisible);
88 this.splitterView_.show(isVisible);
89 };
90
49 RequestsView.prototype.onFilterTextChanged_ = function() { 91 RequestsView.prototype.onFilterTextChanged_ = function() {
50 this.setFilter_(this.filterInput_.value); 92 this.setFilter_(this.filterInput_.value);
51 }; 93 };
52 94
53 RequestsView.prototype.setFilter_ = function(filterText) { 95 RequestsView.prototype.setFilter_ = function(filterText) {
54 this.currentFilter_ = filterText; 96 this.currentFilter_ = filterText;
55 97
56 // Iterate through all of the rows and see if they match the filter. 98 // Iterate through all of the rows and see if they match the filter.
57 for (var id in this.sourceIdToEntryMap_) { 99 for (var id in this.sourceIdToEntryMap_) {
58 var entry = this.sourceIdToEntryMap_[id]; 100 var entry = this.sourceIdToEntryMap_[id];
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 RequestsView.REPAINT_FILTER_COUNTER_TIMEOUT_MS); 198 RequestsView.REPAINT_FILTER_COUNTER_TIMEOUT_MS);
157 } 199 }
158 }; 200 };
159 201
160 RequestsView.prototype.repaintFilterCounter_ = function() { 202 RequestsView.prototype.repaintFilterCounter_ = function() {
161 this.outstandingRepaintFilterCounter_ = false; 203 this.outstandingRepaintFilterCounter_ = false;
162 this.filterCount_.innerHTML = ''; 204 this.filterCount_.innerHTML = '';
163 addTextNode(this.filterCount_, 205 addTextNode(this.filterCount_,
164 this.numPostfilter_ + " of " + this.numPrefilter_); 206 this.numPostfilter_ + " of " + this.numPrefilter_);
165 }; 207 };
OLDNEW
« no previous file with comments | « chrome/browser/resources/net_internals/main.js ('k') | chrome/browser/resources/net_internals/resizableverticalsplitview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698