From f40e315641ae9a17407a4bedb5fc78e5abd43ca4 Mon Sep 17 00:00:00 2001 From: Rayan Kanso Date: Mon, 11 Mar 2019 13:49:43 +0000 Subject: [PATCH] Add ability to clear logged background service events. Hook up the delete button, and make it clear all stored data for a background service. Also set up event listeners in the background services view. Bug: 927726 Change-Id: I5475b3fb7c4653f6b83101bf79c1fc82f3026959 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1503460 Commit-Queue: Rayan Kanso Reviewed-by: Dmitry Gozman Cr-Original-Commit-Position: refs/heads/master@{#639473} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 23575eff5f5b3f5fd6c6a934d42f74874a9a8b28 --- front_end/resources/BackgroundServiceModel.js | 10 ++++++++++ front_end/resources/BackgroundServiceView.js | 13 ++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) 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; + } };