diff --git a/front_end/resources/BackgroundServiceModel.js b/front_end/resources/BackgroundServiceModel.js index 6fdf574df9..eb0f7304ce 100644 --- a/front_end/resources/BackgroundServiceModel.js +++ b/front_end/resources/BackgroundServiceModel.js @@ -30,6 +30,13 @@ Resources.BackgroundServiceModel = class extends SDK.SDKModel { this._backgroundServiceAgent.setRecording(shouldRecord, serviceName); } + /** + * @param {!Protocol.BackgroundService.ServiceName} serviceName + */ + clearEvents(serviceName) { + this._backgroundServiceAgent.clearEvents(serviceName); + } + /** * @override * @param {boolean} isRecording @@ -45,6 +52,8 @@ Resources.BackgroundServiceModel = class extends SDK.SDKModel { * @param {!Protocol.BackgroundService.BackgroundServiceEvent} backgroundServiceEvent */ backgroundServiceEventReceived(backgroundServiceEvent) { + this.dispatchEventToListeners( + Resources.BackgroundServiceModel.Events.BackgroundServiceEventReceived, backgroundServiceEvent); } }; @@ -53,6 +62,7 @@ SDK.SDKModel.register(Resources.BackgroundServiceModel, SDK.Target.Capability.Br /** @enum {symbol} */ Resources.BackgroundServiceModel.Events = { RecordingStateChanged: Symbol('RecordingStateChanged'), + BackgroundServiceEventReceived: Symbol('BackgroundServiceEventReceived'), }; /** diff --git a/front_end/resources/BackgroundServiceView.js b/front_end/resources/BackgroundServiceView.js index 11b47d848c..65b3ad1377 100644 --- a/front_end/resources/BackgroundServiceView.js +++ b/front_end/resources/BackgroundServiceView.js @@ -18,6 +18,8 @@ Resources.BackgroundServiceView = class extends UI.VBox { this._model = model; this._model.addEventListener( Resources.BackgroundServiceModel.Events.RecordingStateChanged, this._onRecordingStateChanged, this); + this._model.addEventListener( + Resources.BackgroundServiceModel.Events.BackgroundServiceEventReceived, this._onEventReceived, this); this._model.enable(this._serviceName); /** @type {?UI.ToolbarToggle} */ @@ -49,7 +51,7 @@ Resources.BackgroundServiceView = class extends UI.VBox { this._toolbar.appendSeparator(); const deleteButton = new UI.ToolbarButton(Common.UIString('Delete'), 'largeicon-trash-bin'); - deleteButton.addEventListener(UI.ToolbarButton.Events.Click, () => {}); + deleteButton.addEventListener(UI.ToolbarButton.Events.Click, () => this._model.clearEvents(this._serviceName)); this._toolbar.appendToolbarItem(deleteButton); } @@ -69,4 +71,13 @@ Resources.BackgroundServiceView = class extends UI.VBox { return; this._recordButton.setToggled(state.isRecording); } + + /** + * @param {!Common.Event} event + */ + _onEventReceived(event) { + const serviceEvent = /** @type {!Protocol.BackgroundService.BackgroundServiceEvent} */ (event.data); + if (serviceEvent.service !== this._serviceName) + return; + } };