Migrate settings/ to ESM internally

Bug: 1006759
Change-Id: Ifa83ddad189e4c48638e278f958b59ecf8b7b211
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2000779
Commit-Queue: Tim van der Lippe <[email protected]>
Reviewed-by: Paul Lewis <[email protected]>
diff --git a/front_end/settings/FrameworkBlackboxSettingsTab.js b/front_end/settings/FrameworkBlackboxSettingsTab.js
index 490aedb..e7f3fcb 100644
--- a/front_end/settings/FrameworkBlackboxSettingsTab.js
+++ b/front_end/settings/FrameworkBlackboxSettingsTab.js
@@ -3,11 +3,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
+
 /**
  * @implements {UI.ListWidget.Delegate}
  * @unrestricted
  */
-export default class FrameworkBlackboxSettingsTab extends UI.VBox {
+export class FrameworkBlackboxSettingsTab extends UI.VBox {
   constructor() {
     super(true);
     this.registerRequiredCSS('settings/frameworkBlackboxSettingsTab.css');
@@ -156,7 +157,7 @@
      * @param {*} item
      * @param {number} index
      * @param {!HTMLInputElement|!HTMLSelectElement} input
-     * @this {Settings.FrameworkBlackboxSettingsTab}
+     * @this {FrameworkBlackboxSettingsTab}
      * @return {!UI.ListWidget.ValidatorResult}
      */
     function patternValidator(item, index, input) {
@@ -196,14 +197,3 @@
     }
   }
 }
-
-/* Legacy exported object */
-self.Settings = self.Settings || {};
-
-/* Legacy exported object */
-Settings = Settings || {};
-
-/**
- * @constructor
- */
-Settings.FrameworkBlackboxSettingsTab = FrameworkBlackboxSettingsTab;
diff --git a/front_end/settings/SettingsScreen.js b/front_end/settings/SettingsScreen.js
index 1c3230e..07cba072 100644
--- a/front_end/settings/SettingsScreen.js
+++ b/front_end/settings/SettingsScreen.js
@@ -31,7 +31,7 @@
  * @implements {UI.ViewLocationResolver}
  * @unrestricted
  */
-export default class SettingsScreen extends UI.VBox {
+export class SettingsScreen extends UI.VBox {
   constructor() {
     super(true);
     this.registerRequiredCSS('settings/settingsScreen.css');
@@ -67,7 +67,7 @@
    */
   static _showSettingsScreen(name) {
     const settingsScreen =
-        /** @type {!Settings.SettingsScreen} */ (self.runtime.sharedInstance(SettingsScreen));
+        /** @type {!SettingsScreen} */ (self.runtime.sharedInstance(SettingsScreen));
     if (settingsScreen.isShowing()) {
       return;
     }
@@ -213,7 +213,7 @@
 
     /**
      * @param {!Object} object
-     * @this {Settings.GenericSettingsTab}
+     * @this {GenericSettingsTab}
      */
     function appendCustomSetting(object) {
       const settingUI = /** @type {!UI.SettingUI} */ (object);
@@ -376,38 +376,3 @@
     }
   }
 }
-
-/* Legacy exported object */
-self.Settings = self.Settings || {};
-
-/* Legacy exported object */
-Settings = Settings || {};
-
-/**
- * @constructor
- */
-Settings.SettingsScreen = SettingsScreen;
-
-/**
- * @implements {UI.ActionDelegate}
- * @unrestricted
- * @constructor
- */
-Settings.SettingsScreen.ActionDelegate = ActionDelegate;
-
-/**
- * @implements {Common.Revealer}
- * @unrestricted
- * @constructor
- */
-Settings.SettingsScreen.Revealer = Revealer;
-
-/**
- * @constructor
- */
-Settings.GenericSettingsTab = GenericSettingsTab;
-
-/**
- * @constructor
- */
-Settings.ExperimentsSettingsTab = ExperimentsSettingsTab;
diff --git a/front_end/settings/module.json b/front_end/settings/module.json
index 7e0320d..233fa94 100644
--- a/front_end/settings/module.json
+++ b/front_end/settings/module.json
@@ -86,6 +86,7 @@
     "scripts": [],
     "modules": [
         "settings.js",
+        "settings-legacy.js",
         "SettingsScreen.js",
         "FrameworkBlackboxSettingsTab.js"
     ],
diff --git a/front_end/settings/settings-legacy.js b/front_end/settings/settings-legacy.js
new file mode 100644
index 0000000..a48cdc0
--- /dev/null
+++ b/front_end/settings/settings-legacy.js
@@ -0,0 +1,42 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import * as SettingsModule from './settings.js';
+
+self.Settings = self.Settings || {};
+Settings = Settings || {};
+
+/**
+ * @constructor
+ */
+Settings.FrameworkBlackboxSettingsTab = SettingsModule.FrameworkBlackboxSettingsTab.FrameworkBlackboxSettingsTab;
+
+/**
+ * @constructor
+ */
+Settings.SettingsScreen = SettingsModule.SettingsScreen.SettingsScreen;
+
+/**
+ * @implements {UI.ActionDelegate}
+ * @unrestricted
+ * @constructor
+ */
+Settings.SettingsScreen.ActionDelegate = SettingsModule.SettingsScreen.ActionDelegate;
+
+/**
+ * @implements {Common.Revealer}
+ * @unrestricted
+ * @constructor
+ */
+Settings.SettingsScreen.Revealer = SettingsModule.SettingsScreen.Revealer;
+
+/**
+ * @constructor
+ */
+Settings.GenericSettingsTab = SettingsModule.SettingsScreen.GenericSettingsTab;
+
+/**
+ * @constructor
+ */
+Settings.ExperimentsSettingsTab = SettingsModule.SettingsScreen.ExperimentsSettingsTab;