Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| index 3e8c48459315aeac5e765d59755ca51643fb8c3e..1c18ce6a0e7cfbbea1f9310f4956beabd9af88ed 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| @@ -841,23 +841,32 @@ WebInspector.NetworkLogView.prototype = { |
| InspectorFrontendHost.openInNewTab(url); |
| } |
| + contextMenu.appendApplicableItems(request); |
| + var copyMenu = contextMenu.appendSubMenuItem(WebInspector.UIString("Copy...")); |
|
lushnikov
2016/07/26 22:52:11
Let's drop the "..." to be consistent with Element
allada
2016/07/27 17:24:42
Done.
|
| if (request) { |
| - contextMenu.appendApplicableItems(request); |
| + copyMenu.appendItem(WebInspector.copyLinkAddressLabel(), InspectorFrontendHost.copyText.bind(InspectorFrontendHost, request.contentURL())); |
| + copyMenu.appendSeparator(); |
| + |
| if (request.requestHeadersText()) |
| - contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^request ^headers"), this._copyRequestHeaders.bind(this, request)); |
| + copyMenu.appendItem(WebInspector.UIString.capitalize("Copy ^request ^headers"), this._copyRequestHeaders.bind(this, request)); |
| if (request.responseHeadersText) |
| - contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^response ^headers"), this._copyResponseHeaders.bind(this, request)); |
| + copyMenu.appendItem(WebInspector.UIString.capitalize("Copy ^response ^headers"), this._copyResponseHeaders.bind(this, request)); |
| if (request.finished) |
| - contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^response"), this._copyResponse.bind(this, request)); |
| + copyMenu.appendItem(WebInspector.UIString.capitalize("Copy ^response"), this._copyResponse.bind(this, request)); |
| if (WebInspector.isWin()) { |
| - contextMenu.appendItem(WebInspector.UIString("Copy as cURL (cmd)"), this._copyCurlCommand.bind(this, request, "win")); |
| - contextMenu.appendItem(WebInspector.UIString("Copy as cURL (bash)"), this._copyCurlCommand.bind(this, request, "unix")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy as cURL (cmd)"), this._copyCurlCommand.bind(this, request, "win")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy as cURL (bash)"), this._copyCurlCommand.bind(this, request, "unix")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy All as cURL (cmd)"), this._copyAllCurlCommand.bind(this, "win")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy All as cURL (bash)"), this._copyAllCurlCommand.bind(this, "unix")); |
| } else { |
| - contextMenu.appendItem(WebInspector.UIString("Copy as cURL"), this._copyCurlCommand.bind(this, request, "unix")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy as cURL"), this._copyCurlCommand.bind(this, request, "unix")); |
| + copyMenu.appendItem(WebInspector.UIString("Copy All as cURL"), this._copyAllCurlCommand.bind(this, "unix")); |
| } |
| + } else { |
| + copyMenu = contextMenu.appendSubMenuItem(WebInspector.UIString("Copy...")); |
| } |
| - contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^all as HAR"), this._copyAll.bind(this)); |
| + copyMenu.appendItem(WebInspector.UIString.capitalize("Copy ^all as HAR"), this._copyAll.bind(this)); |
| contextMenu.appendSeparator(); |
| contextMenu.appendItem(WebInspector.UIString.capitalize("Save as HAR with ^content"), this._exportAll.bind(this)); |
| @@ -953,6 +962,19 @@ WebInspector.NetworkLogView.prototype = { |
| InspectorFrontendHost.copyText(this._generateCurlCommand(request, platform)); |
| }, |
| + /** |
| + * @param {string} platform |
| + */ |
| + _copyAllCurlCommand: function(platform) |
| + { |
| + var requests = this._nodesByRequestId.valuesArray().map(node => node.request()); |
| + var commands = []; |
| + for (var request of requests) |
| + commands.push(this._generateCurlCommand(request, platform)); |
| + var newLine = platform === "win" ? "\r\n" : "\n"; |
| + InspectorFrontendHost.copyText(commands.join(" ;" + newLine)); |
|
lushnikov
2016/07/26 22:52:11
why " ;"?
allada
2016/07/27 17:24:42
This allows the commands to be ran just by pasting
|
| + }, |
| + |
| _exportAll: function() |
| { |
| var filename = WebInspector.targetManager.inspectedPageDomain() + ".har"; |