|
Lines 42-59
WebInspector.ReplayDashboardView = function(representedObject)
a/Source/WebInspectorUI/UserInterface/Views/ReplayDashboardView.js_sec1
|
| 42 |
this._replayButtonItem.hidden = true; |
42 |
this._replayButtonItem.hidden = true; |
| 43 |
this._navigationBar.addNavigationItem(this._replayButtonItem); |
43 |
this._navigationBar.addNavigationItem(this._replayButtonItem); |
| 44 |
|
44 |
|
|
|
45 |
this._ejectButtonItem = new WebInspector.ButtonNavigationItem("replay-dashboard-eject", WebInspector.UIString("Eject Recording"), "Images/ReplayEjectButton.svg", 16, 16); |
| 46 |
this._ejectButtonItem.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._ejectButtonItemClicked, this); |
| 47 |
this._ejectButtonItem.hidden = true; |
| 48 |
this._navigationBar.addNavigationItem(this._ejectButtonItem); |
| 49 |
|
| 50 |
var recordingContainerElement = this._recordingContainerElement = this.element.appendChild(document.createElement("div")); |
| 51 |
recordingContainerElement.className = WebInspector.ReplayDashboardView.RecordingContainerStyleClassName; |
| 52 |
|
| 45 |
// Add events required to track capture and replay state. |
53 |
// Add events required to track capture and replay state. |
| 46 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.CaptureStarted, this._captureStarted, this); |
54 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.CaptureStarted, this._captureStarted, this); |
| 47 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.CaptureStopped, this._captureStopped, this); |
55 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.CaptureStopped, this._captureStopped, this); |
| 48 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackStarted, this._playbackStarted, this); |
56 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackStarted, this._playbackStarted, this); |
| 49 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackPaused, this._playbackPaused, this); |
57 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackPaused, this._playbackPaused, this); |
| 50 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackFinished, this._playbackFinished, this); |
58 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.PlaybackFinished, this._playbackFinished, this); |
|
|
59 |
WebInspector.replayManager.addEventListener(WebInspector.ReplayManager.Event.ActiveSessionChanged, this._activeSessionChanged, this); |
| 51 |
|
60 |
|
| 52 |
// Manually initialize style classes by querying current replay state. |
61 |
// Manually initialize style classes by querying current replay state. |
| 53 |
if (WebInspector.replayManager.sessionState === WebInspector.ReplayManager.SessionState.Capturing) |
62 |
if (WebInspector.replayManager.sessionState === WebInspector.ReplayManager.SessionState.Capturing) |
| 54 |
this._captureStarted(); |
63 |
this._captureStarted(); |
| 55 |
else if (WebInspector.replayManager.sessionState === WebInspector.ReplayManager.SessionState.Inactive) |
64 |
else if (WebInspector.replayManager.sessionState === WebInspector.ReplayManager.SessionState.Inactive) |
| 56 |
this._captureStopped(); |
65 |
this._activeSessionChanged(); |
| 57 |
// ReplayManager.sessionState must be Replaying. |
66 |
// ReplayManager.sessionState must be Replaying. |
| 58 |
else if (WebInspector.replayManager.segmentState === WebInspector.ReplayManager.SegmentState.Dispatching) |
67 |
else if (WebInspector.replayManager.segmentState === WebInspector.ReplayManager.SegmentState.Dispatching) |
| 59 |
this._playbackStarted(); |
68 |
this._playbackStarted(); |
|
Lines 95-105
WebInspector.ReplayDashboardView.prototype = {
a/Source/WebInspectorUI/UserInterface/Views/ReplayDashboardView.js_sec2
|
| 95 |
WebInspector.replayManager.replayToCompletion(); |
104 |
WebInspector.replayManager.replayToCompletion(); |
| 96 |
}, |
105 |
}, |
| 97 |
|
106 |
|
|
|
107 |
_ejectButtonItemClicked: function(event) |
| 108 |
{ |
| 109 |
console.assert(WebInspector.replayManager.sessionState !== WebInspector.ReplayManager.SessionState.Capturing, "Tried to eject session while SessionState is Capturing!"); |
| 110 |
|
| 111 |
// Debounce. |
| 112 |
this._ejectButtonItem.enabled = false; |
| 113 |
|
| 114 |
var button = this._ejectButtonItem; |
| 115 |
|
| 116 |
WebInspector.replayManager.createSession() |
| 117 |
.then(function switchToEmptySession(sessionId) { |
| 118 |
button.enabled = true; |
| 119 |
return WebInspector.replayManager.switchSession(sessionId); |
| 120 |
}).catch(function(error) { |
| 121 |
console.error("Failed to eject current recording: ", error); |
| 122 |
}); |
| 123 |
}, |
| 124 |
|
| 98 |
_captureStarted: function() |
125 |
_captureStarted: function() |
| 99 |
{ |
126 |
{ |
| 100 |
this._captureButtonItem.hidden = false; |
127 |
this._captureButtonItem.hidden = false; |
| 101 |
this._captureButtonItem.activated = true; |
128 |
this._captureButtonItem.activated = true; |
| 102 |
this._replayButtonItem.hidden = true; |
129 |
this._replayButtonItem.hidden = true; |
|
|
130 |
this._ejectButtonItem.hidden = true; |
| 103 |
}, |
131 |
}, |
| 104 |
|
132 |
|
| 105 |
_captureStopped: function() |
133 |
_captureStopped: function() |
|
Lines 107-112
WebInspector.ReplayDashboardView.prototype = {
a/Source/WebInspectorUI/UserInterface/Views/ReplayDashboardView.js_sec3
|
| 107 |
this._captureButtonItem.activated = false; |
135 |
this._captureButtonItem.activated = false; |
| 108 |
this._captureButtonItem.hidden = true; |
136 |
this._captureButtonItem.hidden = true; |
| 109 |
this._replayButtonItem.hidden = false; |
137 |
this._replayButtonItem.hidden = false; |
|
|
138 |
this._ejectButtonItem.hidden = false; |
| 110 |
}, |
139 |
}, |
| 111 |
|
140 |
|
| 112 |
_playbackStarted: function() |
141 |
_playbackStarted: function() |
|
Lines 122-126
WebInspector.ReplayDashboardView.prototype = {
a/Source/WebInspectorUI/UserInterface/Views/ReplayDashboardView.js_sec4
|
| 122 |
_playbackFinished: function() |
151 |
_playbackFinished: function() |
| 123 |
{ |
152 |
{ |
| 124 |
this._replayButtonItem.toggled = false; |
153 |
this._replayButtonItem.toggled = false; |
|
|
154 |
}, |
| 155 |
|
| 156 |
_activeSessionChanged: function() |
| 157 |
{ |
| 158 |
var view = this; |
| 159 |
WebInspector.replayManager.getSession(WebInspector.replayManager.activeSessionIdentifier) |
| 160 |
.then(function(session) { |
| 161 |
if (!session.segments.length) { |
| 162 |
view._captureButtonItem.hidden = false; |
| 163 |
view._replayButtonItem.hidden = true; |
| 164 |
view._ejectButtonItem.hidden = true; |
| 165 |
} else { |
| 166 |
view._captureButtonItem.hidden = true; |
| 167 |
view._replayButtonItem.hidden = false; |
| 168 |
view._ejectButtonItem.hidden = false; |
| 169 |
} |
| 170 |
}); |
| 125 |
} |
171 |
} |
| 126 |
}; |
172 |
}; |