Bug 1269468 - fix netmonitor copy POST Data by conditonal use of formDataSections draft
authorglowka <glowka.tom@gmail.com>
Fri, 09 Mar 2018 01:54:13 +0100
changeset 769898 75c9b45ce46a4d384a0195b08d3c87f3394487a2
parent 769897 1ac1e999cc51f625a742dc0d02366416b184166f
child 769899 206fd1b161f5fc2dd6af070ad2456cc6c9f2fea4
push id103249
push userbmo:glowka.tom@gmail.com
push dateTue, 20 Mar 2018 11:08:08 +0000
bugs1269468
milestone61.0a1
Bug 1269468 - fix netmonitor copy POST Data by conditonal use of formDataSections MozReview-Commit-ID: Kq45bHXoDB8
devtools/client/netmonitor/src/widgets/RequestListContextMenu.js
--- a/devtools/client/netmonitor/src/widgets/RequestListContextMenu.js
+++ b/devtools/client/netmonitor/src/widgets/RequestListContextMenu.js
@@ -266,23 +266,26 @@ class RequestListContextMenu {
   }
 
   /**
    * Copy the request form data parameters (or raw payload) from
    * the currently selected item.
    */
   async copyPostData(id, formDataSections, requestPostData) {
     let params = [];
-    // Try to extract any form data parameters.
-    formDataSections.forEach(section => {
-      let paramsArray = parseQueryString(section);
-      if (paramsArray) {
-        params = [...params, ...paramsArray];
-      }
-    });
+    // Try to extract any form data parameters if formDataSections is already
+    // available, which is only true if ParamsPanel has ever been mounted before.
+    if (formDataSections) {
+      formDataSections.forEach(section => {
+        let paramsArray = parseQueryString(section);
+        if (paramsArray) {
+          params = [...params, ...paramsArray];
+        }
+      });
+    }
 
     let string = params
       .map(param => param.name + (param.value ? "=" + param.value : ""))
       .join(Services.appinfo.OS === "WINNT" ? "\r\n" : "\n");
 
     // Fall back to raw payload.
     if (!string) {
       requestPostData = requestPostData ||