Typecheck host/ with TypeScript

Hacks, hacks and hacks. These files were very inconsistent in terms of typing.
They now use the proper FileSystem API's (which ship with Closure, but not
with TypeScript).

[email protected],[email protected]

Bug: 1011811
Change-Id: I46bd59d2f22372157afcdb18871442f51e20e778
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2108763
Commit-Queue: Tim van der Lippe <[email protected]>
Reviewed-by: Simon Zünd <[email protected]>
diff --git a/front_end/externs.js b/front_end/externs.js
index 3a7d570..887059c 100644
--- a/front_end/externs.js
+++ b/front_end/externs.js
@@ -176,18 +176,6 @@
 /** @typedef {Array|NodeList|Arguments|{length: number}} */
 let ArrayLike;
 
-// File System API
-/**
- * @constructor
- */
-function DOMFileSystem() {
-}
-
-/**
- * @type {DirectoryEntry}
- */
-DOMFileSystem.prototype.root = null;
-
 /**
  * @type {*}
  */
@@ -256,7 +244,7 @@
 /**
  * @param {string} fileSystemId
  * @param {string} registeredName
- * @return {?DOMFileSystem}
+ * @return {?FileSystem}
  */
 DevToolsHost.isolatedFileSystem = function(fileSystemId, registeredName) {};
 
@@ -890,7 +878,7 @@
 const isEscKey = function(event) {};
 
 /**
- * @param {!ExtensionDescriptor} extensionInfo
+ * @param {!{startPage: string, name: string, exposeExperimentalAPIs: boolean}} extensionInfo
  * @param {string} inspectedTabId
  * @param {string} themeName
  * @param {!Array<number>} keysToForward
@@ -1298,7 +1286,7 @@
   /**
    * @param {string} fileSystemId
    * @param {string} registeredName
-   * @return {?DOMFileSystem}
+   * @return {?FileSystem}
    */
   isolatedFileSystem(fileSystemId, registeredName) {
   }