From 0850835a0233cc4e93d82bc9760cfea66ff08bdf Mon Sep 17 00:00:00 2001 From: Ted Janeczko Date: Fri, 31 Jul 2020 08:06:49 -0700 Subject: [PATCH] Add 'Copy message' context menu item for EventSource messages. This CL adds a "Copy message" context menu item for EventSource messages in the DevTools network panel. This context menu item copies the data from the selected EventSource message. Bug: 1111375 Change-Id: I1b531badfbc2417612a2500482bd8cd772bcfb4e Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2329393 Reviewed-by: Jan Scheffler Commit-Queue: Jan Scheffler --- front_end/network/EventSourceMessagesView.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/front_end/network/EventSourceMessagesView.js b/front_end/network/EventSourceMessagesView.js index 9723430740..ac844e6f2a 100644 --- a/front_end/network/EventSourceMessagesView.js +++ b/front_end/network/EventSourceMessagesView.js @@ -7,6 +7,7 @@ import * as Common from '../common/common.js'; import * as DataGrid from '../data_grid/data_grid.js'; +import * as Host from '../host/host.js'; import * as SDK from '../sdk/sdk.js'; import * as UI from '../ui/ui.js'; @@ -33,6 +34,7 @@ export class EventSourceMessagesView extends UI.Widget.VBox { this._dataGrid = new DataGrid.SortableDataGrid.SortableDataGrid({displayName: ls`Event Source`, columns}); this._dataGrid.setStriped(true); this._dataGrid.setStickToBottom(true); + this._dataGrid.setRowContextMenuCallback(this._onRowContextMenu.bind(this)); this._dataGrid.markColumnAsSortedBy('time', DataGrid.DataGrid.Order.Ascending); this._sortItems(); this._dataGrid.addEventListener(DataGrid.DataGrid.Events.SortingChanged, this._sortItems, this); @@ -80,6 +82,17 @@ export class EventSourceMessagesView extends UI.Widget.VBox { } this._dataGrid.sortNodes(comparator, !this._dataGrid.isSortOrderAscending()); } + + /** + * @param {!UI.ContextMenu.ContextMenu} contextMenu + * @param {!DataGrid.DataGrid.DataGridNode} node + */ + _onRowContextMenu(contextMenu, node) { + contextMenu.clipboardSection().appendItem( + Common.UIString.UIString('Copy message'), + Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText.bind( + Host.InspectorFrontendHost.InspectorFrontendHostInstance, node.data.data)); + } } /**