1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* Dictionary of constants (initialized by browser).
*/
var LogEntryType = null;
var LogEventType = null;
var LogEventPhase = null;
var LogSourceType = null;
/**
* Main entry point. called once the page has loaded.
*/
function onLoaded() {
// Layout the various DIVs in a vertically split fashion.
new LayoutManager("filterBox",
"requestsBox",
"actionBox",
"splitterBox",
"detailsBox");
// Create the view which displays information on the current selection.
var detailsView = new DetailsView("detailsLogTabHandle",
"detailsTimelineTabHandle",
"detailsTabArea");
// Create the view which displays requests lists, and lets you select, filter
// and delete them.
new RequestsView('requestsListTableBody',
'filterInput',
'filterCount',
'deleteSelected',
'selectAll',
detailsView);
// Tell the browser that we are ready to start receiving log events.
notifyApplicationReady();
}
//------------------------------------------------------------------------------
// Messages sent to the browser
//------------------------------------------------------------------------------
function notifyApplicationReady() {
chrome.send('notifyReady');
}
//------------------------------------------------------------------------------
// Messages received from the browser
//------------------------------------------------------------------------------
function onLogEntryAdded(logEntry) {
LogDataProvider.broadcast(logEntry);
}
function setLogEventTypeConstants(constantsMap) {
LogEventType = constantsMap;
}
function setLogEventPhaseConstants(constantsMap) {
LogEventPhase = constantsMap;
}
function setLogSourceTypeConstants(constantsMap) {
LogSourceType = constantsMap;
}
function setLogEntryTypeConstants(constantsMap) {
LogEntryType = constantsMap;
}
//------------------------------------------------------------------------------
// LogDataProvider
//------------------------------------------------------------------------------
var LogDataProvider = {}
LogDataProvider.observers_ = [];
LogDataProvider.broadcast = function(logEntry) {
for (var i = 0; i < this.observers_.length; ++i) {
this.observers_[i].onLogEntryAdded(logEntry);
}
};
LogDataProvider.addObserver = function(observer) {
this.observers_.push(observer);
};
|