Reset state of header overrides editor on 'ResponseHeadersChanged'-event

Fixed: 1372401
Change-Id: I7dd94d58a6e63c5cc04ba870697fdffd8ca2734c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3935056
Commit-Queue: Wolfgang Beyer <[email protected]>
Reviewed-by: Danil Somsikov <[email protected]>
diff --git a/front_end/panels/network/components/RequestHeadersView.ts b/front_end/panels/network/components/RequestHeadersView.ts
index 58a556c..862683c 100644
--- a/front_end/panels/network/components/RequestHeadersView.ts
+++ b/front_end/panels/network/components/RequestHeadersView.ts
@@ -20,7 +20,11 @@
 import * as Sources from '../../sources/sources.js';
 
 import {type RequestHeaderSectionData, RequestHeaderSection} from './RequestHeaderSection.js';
-import {type ResponseHeaderSectionData, ResponseHeaderSection} from './ResponseHeaderSection.js';
+import {
+  type ResponseHeaderSectionData,
+  ResponseHeaderSection,
+  RESPONSE_HEADER_SECTION_DATA_KEY,
+} from './ResponseHeaderSection.js';
 
 import requestHeadersViewStyles from './RequestHeadersView.css.js';
 
@@ -119,7 +123,8 @@
     this.#request.addEventListener(SDK.NetworkRequest.Events.RemoteAddressChanged, this.#refreshHeadersView, this);
     this.#request.addEventListener(SDK.NetworkRequest.Events.FinishedLoading, this.#refreshHeadersView, this);
     this.#request.addEventListener(SDK.NetworkRequest.Events.RequestHeadersChanged, this.#refreshHeadersView, this);
-    this.#request.addEventListener(SDK.NetworkRequest.Events.ResponseHeadersChanged, this.#refreshHeadersView, this);
+    this.#request.addEventListener(
+        SDK.NetworkRequest.Events.ResponseHeadersChanged, this.#resetAndRefreshHeadersView, this);
     this.#refreshHeadersView();
   }
 
@@ -127,7 +132,15 @@
     this.#request.removeEventListener(SDK.NetworkRequest.Events.RemoteAddressChanged, this.#refreshHeadersView, this);
     this.#request.removeEventListener(SDK.NetworkRequest.Events.FinishedLoading, this.#refreshHeadersView, this);
     this.#request.removeEventListener(SDK.NetworkRequest.Events.RequestHeadersChanged, this.#refreshHeadersView, this);
-    this.#request.removeEventListener(SDK.NetworkRequest.Events.ResponseHeadersChanged, this.#refreshHeadersView, this);
+    this.#request.removeEventListener(
+        SDK.NetworkRequest.Events.ResponseHeadersChanged, this.#resetAndRefreshHeadersView, this);
+  }
+
+  #resetAndRefreshHeadersView(): void {
+    this.#request.deleteAssociatedData(RESPONSE_HEADER_SECTION_DATA_KEY);
+    this.#requestHeadersComponent.data = {
+      request: this.#request,
+    };
   }
 
   #refreshHeadersView(): void {