Add `noImplicitOverride`

`noImplicitOverride` guarantees type safety when overriding a class method. This also improves refactoring behavior.

The primary motivation for `noImplicitOverride` is for using with Lit elements where overriding methods is important.

Bug: 1402569
Change-Id: Ia095c38a6d1fc160f9b08c350d6f7248daab38a4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4443322
Reviewed-by: Jack Franklin <[email protected]>
Commit-Queue: Randolf Jung <[email protected]>
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index 217ee44..5e7397c 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -966,7 +966,7 @@
     UI.ARIAUtils.setHidden(this.summaryToolbarInternal.element, value);
   }
 
-  elementsToRestoreScrollPositionsFor(): Element[] {
+  override elementsToRestoreScrollPositionsFor(): Element[] {
     if (!this.dataGrid)  // Not initialized yet.
     {
       return [];
@@ -1244,17 +1244,17 @@
     }
   }
 
-  wasShown(): void {
+  override wasShown(): void {
     this.refreshIfNeeded();
     this.registerCSSFiles([networkLogViewStyles]);
     this.columnsInternal.wasShown();
   }
 
-  willHide(): void {
+  override willHide(): void {
     this.columnsInternal.willHide();
   }
 
-  onResize(): void {
+  override onResize(): void {
     this.rowHeightInternal = this.computeRowHeight();
   }