Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(512)

Side by Side Diff: Source/devtools/front_end/network/NetworkLogView.js

Issue 1136843010: DevTools: display 2 versions of "Copy as cURL" in Network panel on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org> 3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org>
4 * Copyright (C) 2011 Google Inc. All rights reserved. 4 * Copyright (C) 2011 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 } 1240 }
1241 1241
1242 if (request) { 1242 if (request) {
1243 contextMenu.appendApplicableItems(request); 1243 contextMenu.appendApplicableItems(request);
1244 if (request.requestHeadersText()) 1244 if (request.requestHeadersText())
1245 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r equest ^headers"), this._copyRequestHeaders.bind(this, request)); 1245 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r equest ^headers"), this._copyRequestHeaders.bind(this, request));
1246 if (request.responseHeadersText) 1246 if (request.responseHeadersText)
1247 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r esponse ^headers"), this._copyResponseHeaders.bind(this, request)); 1247 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r esponse ^headers"), this._copyResponseHeaders.bind(this, request));
1248 if (request.finished) 1248 if (request.finished)
1249 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r esponse"), this._copyResponse.bind(this, request)); 1249 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^r esponse"), this._copyResponse.bind(this, request));
1250 contextMenu.appendItem(WebInspector.UIString("Copy as cURL"), this._ copyCurlCommand.bind(this, request)); 1250
1251 if (WebInspector.isWin()) {
1252 contextMenu.appendItem(WebInspector.UIString("Copy as cURL (cmd) "), this._copyCurlCommand.bind(this, request, "win"));
1253 contextMenu.appendItem(WebInspector.UIString("Copy as cURL (bash )"), this._copyCurlCommand.bind(this, request, "unix"));
1254 } else {
1255 contextMenu.appendItem(WebInspector.UIString("Copy as cURL"), th is._copyCurlCommand.bind(this, request, "unix"));
1256 }
1251 } 1257 }
1252 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^all as HA R"), this._copyAll.bind(this)); 1258 contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^all as HA R"), this._copyAll.bind(this));
1253 1259
1254 contextMenu.appendSeparator(); 1260 contextMenu.appendSeparator();
1255 contextMenu.appendItem(WebInspector.UIString.capitalize("Save as HAR wit h ^content"), this._exportAll.bind(this)); 1261 contextMenu.appendItem(WebInspector.UIString.capitalize("Save as HAR wit h ^content"), this._exportAll.bind(this));
1256 1262
1257 contextMenu.appendSeparator(); 1263 contextMenu.appendSeparator();
1258 contextMenu.appendItem(WebInspector.UIString.capitalize("Clear ^browser ^cache"), this._clearBrowserCache.bind(this)); 1264 contextMenu.appendItem(WebInspector.UIString.capitalize("Clear ^browser ^cache"), this._clearBrowserCache.bind(this));
1259 contextMenu.appendItem(WebInspector.UIString.capitalize("Clear ^browser ^cookies"), this._clearBrowserCookies.bind(this)); 1265 contextMenu.appendItem(WebInspector.UIString.capitalize("Clear ^browser ^cookies"), this._clearBrowserCookies.bind(this));
1260 1266
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1310 /** 1316 /**
1311 * @param {!WebInspector.NetworkRequest} request 1317 * @param {!WebInspector.NetworkRequest} request
1312 */ 1318 */
1313 _copyResponseHeaders: function(request) 1319 _copyResponseHeaders: function(request)
1314 { 1320 {
1315 InspectorFrontendHost.copyText(request.responseHeadersText); 1321 InspectorFrontendHost.copyText(request.responseHeadersText);
1316 }, 1322 },
1317 1323
1318 /** 1324 /**
1319 * @param {!WebInspector.NetworkRequest} request 1325 * @param {!WebInspector.NetworkRequest} request
1326 * @param {string} platform
1320 */ 1327 */
1321 _copyCurlCommand: function(request) 1328 _copyCurlCommand: function(request, platform)
1322 { 1329 {
1323 InspectorFrontendHost.copyText(this._generateCurlCommand(request)); 1330 InspectorFrontendHost.copyText(this._generateCurlCommand(request, platfo rm));
1324 }, 1331 },
1325 1332
1326 _exportAll: function() 1333 _exportAll: function()
1327 { 1334 {
1328 var filename = WebInspector.targetManager.inspectedPageDomain() + ".har" ; 1335 var filename = WebInspector.targetManager.inspectedPageDomain() + ".har" ;
1329 var stream = new WebInspector.FileOutputStream(); 1336 var stream = new WebInspector.FileOutputStream();
1330 stream.open(filename, openCallback.bind(this)); 1337 stream.open(filename, openCallback.bind(this));
1331 1338
1332 /** 1339 /**
1333 * @param {boolean} accepted 1340 * @param {boolean} accepted
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
1702 * @param {!WebInspector.NetworkDataGridNode} node 1709 * @param {!WebInspector.NetworkDataGridNode} node
1703 */ 1710 */
1704 _highlightNode: function(node) 1711 _highlightNode: function(node)
1705 { 1712 {
1706 WebInspector.runCSSAnimationOnce(node.element(), "highlighted-row"); 1713 WebInspector.runCSSAnimationOnce(node.element(), "highlighted-row");
1707 this._highlightedNode = node; 1714 this._highlightedNode = node;
1708 }, 1715 },
1709 1716
1710 /** 1717 /**
1711 * @param {!WebInspector.NetworkRequest} request 1718 * @param {!WebInspector.NetworkRequest} request
1719 * @param {string} platform
1712 * @return {string} 1720 * @return {string}
1713 */ 1721 */
1714 _generateCurlCommand: function(request) 1722 _generateCurlCommand: function(request, platform)
1715 { 1723 {
1716 var command = ["curl"]; 1724 var command = ["curl"];
1717 // These headers are derived from URL (except "version") and would be ad ded by cURL anyway. 1725 // These headers are derived from URL (except "version") and would be ad ded by cURL anyway.
1718 var ignoredHeaders = {"host": 1, "method": 1, "path": 1, "scheme": 1, "v ersion": 1}; 1726 var ignoredHeaders = {"host": 1, "method": 1, "path": 1, "scheme": 1, "v ersion": 1};
1719 1727
1720 function escapeStringWin(str) 1728 function escapeStringWin(str)
1721 { 1729 {
1722 /* Replace quote by double quote (but not by \") because it is 1730 /* Replace quote by double quote (but not by \") because it is
1723 recognized by both cmd.exe and MS Crt arguments parser. 1731 recognized by both cmd.exe and MS Crt arguments parser.
1724 1732
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1760 .replace(/\r/g, "\\r") 1768 .replace(/\r/g, "\\r")
1761 .replace(/[^\x20-\x7E]/g, escapeCharacter) + " '"; 1769 .replace(/[^\x20-\x7E]/g, escapeCharacter) + " '";
1762 } else { 1770 } else {
1763 // Use single quote syntax. 1771 // Use single quote syntax.
1764 return "'" + str + "'"; 1772 return "'" + str + "'";
1765 } 1773 }
1766 } 1774 }
1767 1775
1768 // cURL command expected to run on the same platform that DevTools run 1776 // cURL command expected to run on the same platform that DevTools run
1769 // (it may be different from the inspected page platform). 1777 // (it may be different from the inspected page platform).
1770 var escapeString = WebInspector.isWin() ? escapeStringWin : escapeString Posix; 1778 var escapeString = platform == "win" ? escapeStringWin : escapeStringPos ix;
alph 2015/06/03 19:01:16 please use === for comparison.
1771 1779
1772 command.push(escapeString(request.url).replace(/[[{}\]]/g, "\\$&")); 1780 command.push(escapeString(request.url).replace(/[[{}\]]/g, "\\$&"));
1773 1781
1774 var inferredMethod = "GET"; 1782 var inferredMethod = "GET";
1775 var data = []; 1783 var data = [];
1776 var requestContentType = request.requestContentType(); 1784 var requestContentType = request.requestContentType();
1777 if (requestContentType && requestContentType.startsWith("application/x-w ww-form-urlencoded") && request.requestFormData) { 1785 if (requestContentType && requestContentType.startsWith("application/x-w ww-form-urlencoded") && request.requestFormData) {
1778 data.push("--data"); 1786 data.push("--data");
1779 data.push(escapeString(request.requestFormData)); 1787 data.push(escapeString(request.requestFormData));
1780 ignoredHeaders["content-length"] = true; 1788 ignoredHeaders["content-length"] = true;
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
2019 if (request.endTime !== -1 && request.endTime < windowStart) 2027 if (request.endTime !== -1 && request.endTime < windowStart)
2020 return false; 2028 return false;
2021 return true; 2029 return true;
2022 } 2030 }
2023 2031
2024 WebInspector.NetworkLogView.EventTypes = { 2032 WebInspector.NetworkLogView.EventTypes = {
2025 RequestSelected: "RequestSelected", 2033 RequestSelected: "RequestSelected",
2026 SearchCountUpdated: "SearchCountUpdated", 2034 SearchCountUpdated: "SearchCountUpdated",
2027 SearchIndexUpdated: "SearchIndexUpdated" 2035 SearchIndexUpdated: "SearchIndexUpdated"
2028 }; 2036 };
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698