Migrates browser_debugger/ to esm

Bug: 1006759
Change-Id: I6fd8ea8fb749bf1231b481a8b311f0370fe9e401
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1934217
Commit-Queue: Paul Lewis <[email protected]>
Reviewed-by: Tim van der Lippe <[email protected]>
diff --git a/BUILD.gn b/BUILD.gn
index 7c17ccc..35527ca 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -46,10 +46,6 @@
     "front_end/bindings_test_runner/module.json",
     "front_end/bindings_test_runner/PersistenceTestRunner.js",
     "front_end/bindings_test_runner/OverridesTestRunner.js",
-    "front_end/browser_debugger/DOMBreakpointsSidebarPane.js",
-    "front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js",
-    "front_end/browser_debugger/ObjectEventListenersSidebarPane.js",
-    "front_end/browser_debugger/XHRBreakpointsSidebarPane.js",
     "front_end/browser_debugger/domBreakpointsSidebarPane.css",
     "front_end/browser_debugger/eventListenerBreakpoints.css",
     "front_end/browser_debugger/module.json",
@@ -641,6 +637,11 @@
     "front_end/har_importer/har_importer.js",
     "front_end/har_importer/HARImporter.js",
     "front_end/har_importer/HARFormat.js",
+    "front_end/browser_debugger/browser_debugger.js",
+    "front_end/browser_debugger/XHRBreakpointsSidebarPane.js",
+    "front_end/browser_debugger/ObjectEventListenersSidebarPane.js",
+    "front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js",
+    "front_end/browser_debugger/DOMBreakpointsSidebarPane.js",
     "front_end/elements/elements.js",
     "front_end/elements/StylesSidebarPane.js",
     "front_end/elements/StylePropertyTreeElement.js",
@@ -1234,6 +1235,11 @@
     "$resources_out_dir/har_importer/har_importer.js",
     "$resources_out_dir/har_importer/HARImporter.js",
     "$resources_out_dir/har_importer/HARFormat.js",
+    "$resources_out_dir/browser_debugger/browser_debugger.js",
+    "$resources_out_dir/browser_debugger/XHRBreakpointsSidebarPane.js",
+    "$resources_out_dir/browser_debugger/ObjectEventListenersSidebarPane.js",
+    "$resources_out_dir/browser_debugger/EventListenerBreakpointsSidebarPane.js",
+    "$resources_out_dir/browser_debugger/DOMBreakpointsSidebarPane.js",
     "$resources_out_dir/elements/elements.js",
     "$resources_out_dir/elements/StylesSidebarPane.js",
     "$resources_out_dir/elements/StylePropertyTreeElement.js",
diff --git a/front_end/browser_debugger/DOMBreakpointsSidebarPane.js b/front_end/browser_debugger/DOMBreakpointsSidebarPane.js
index 7689b54..e888440 100644
--- a/front_end/browser_debugger/DOMBreakpointsSidebarPane.js
+++ b/front_end/browser_debugger/DOMBreakpointsSidebarPane.js
@@ -31,7 +31,7 @@
 /**
  * @implements {UI.ContextFlavorListener}
  */
-BrowserDebugger.DOMBreakpointsSidebarPane = class extends UI.VBox {
+export class DOMBreakpointsSidebarPane extends UI.VBox {
   constructor() {
     super(true);
     this.registerRequiredCSS('browser_debugger/domBreakpointsSidebarPane.css');
@@ -112,7 +112,7 @@
     element.appendChild(labelElement);
 
     const description = createElement('div');
-    const breakpointTypeLabel = BrowserDebugger.DOMBreakpointsSidebarPane.BreakpointTypeLabels.get(breakpoint.type);
+    const breakpointTypeLabel = BreakpointTypeLabels.get(breakpoint.type);
     description.textContent = breakpointTypeLabel;
     const linkifiedNode = createElementWithClass('monospace');
     linkifiedNode.style.display = 'block';
@@ -204,12 +204,9 @@
     element.classList.add('breakpoint-hit');
     this._highlightedElement = element;
   }
-};
+}
 
-/** @typedef {!{element: !Element, checkbox: !Element, breakpoint: !SDK.DOMDebuggerModel.DOMBreakpoint}} */
-BrowserDebugger.DOMBreakpointsSidebarPane.Item;
-
-BrowserDebugger.DOMBreakpointsSidebarPane.BreakpointTypeLabels = new Map([
+export const BreakpointTypeLabels = new Map([
   [SDK.DOMDebuggerModel.DOMBreakpoint.Type.SubtreeModified, Common.UIString('Subtree modified')],
   [SDK.DOMDebuggerModel.DOMBreakpoint.Type.AttributeModified, Common.UIString('Attribute modified')],
   [SDK.DOMDebuggerModel.DOMBreakpoint.Type.NodeRemoved, Common.UIString('Node removed')],
@@ -218,7 +215,7 @@
 /**
  * @implements {UI.ContextMenu.Provider}
  */
-BrowserDebugger.DOMBreakpointsSidebarPane.ContextMenuProvider = class {
+export class ContextMenuProvider {
   /**
    * @override
    * @param {!Event} event
@@ -254,4 +251,22 @@
           label, toggleBreakpoint.bind(null, type), domDebuggerModel.hasDOMBreakpoint(node, type));
     }
   }
-};
+}
+
+/* Legacy exported object */
+self.BrowserDebugger = self.BrowserDebugger || {};
+
+/* Legacy exported object */
+BrowserDebugger = BrowserDebugger || {};
+
+/**
+ * @constructor
+ */
+BrowserDebugger.DOMBreakpointsSidebarPane = DOMBreakpointsSidebarPane;
+
+BrowserDebugger.DOMBreakpointsSidebarPane.BreakpointTypeLabels = BreakpointTypeLabels;
+
+/** @typedef {!{element: !Element, checkbox: !Element, breakpoint: !SDK.DOMDebuggerModel.DOMBreakpoint}} */
+BrowserDebugger.DOMBreakpointsSidebarPane.Item;
+
+BrowserDebugger.DOMBreakpointsSidebarPane.ContextMenuProvider = ContextMenuProvider;
diff --git a/front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js b/front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js
index 037bc86..6a6a4ff 100644
--- a/front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js
+++ b/front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js
@@ -4,7 +4,7 @@
 /**
  * @unrestricted
  */
-BrowserDebugger.EventListenerBreakpointsSidebarPane = class extends UI.VBox {
+export class EventListenerBreakpointsSidebarPane extends UI.VBox {
   constructor() {
     super(true);
     this._categoriesTreeOutline = new UI.TreeOutlineInShadow();
@@ -159,7 +159,18 @@
       UI.ARIAUtils.setChecked(category.element.listItemElement, hasEnabled);
     }
   }
-};
+}
+
+/* Legacy exported object */
+self.BrowserDebugger = self.BrowserDebugger || {};
+
+/* Legacy exported object */
+BrowserDebugger = BrowserDebugger || {};
+
+/**
+ * @constructor
+ */
+BrowserDebugger.EventListenerBreakpointsSidebarPane = EventListenerBreakpointsSidebarPane;
 
 /** @typedef {!{element: !UI.TreeElement, checkbox: !Element}} */
 BrowserDebugger.EventListenerBreakpointsSidebarPane.Item;
diff --git a/front_end/browser_debugger/ObjectEventListenersSidebarPane.js b/front_end/browser_debugger/ObjectEventListenersSidebarPane.js
index be9118f..873538f 100644
--- a/front_end/browser_debugger/ObjectEventListenersSidebarPane.js
+++ b/front_end/browser_debugger/ObjectEventListenersSidebarPane.js
@@ -5,7 +5,7 @@
  * @implements {UI.ToolbarItem.ItemsProvider}
  * @unrestricted
  */
-BrowserDebugger.ObjectEventListenersSidebarPane = class extends UI.VBox {
+export class ObjectEventListenersSidebarPane extends UI.VBox {
   constructor() {
     super();
     this._refreshButton = new UI.ToolbarButton(ls`Refresh global listeners`, 'largeicon-refresh');
@@ -27,8 +27,7 @@
 
   update() {
     if (this._lastRequestedContext) {
-      this._lastRequestedContext.runtimeModel.releaseObjectGroup(
-          BrowserDebugger.ObjectEventListenersSidebarPane._objectGroupName);
+      this._lastRequestedContext.runtimeModel.releaseObjectGroup(_objectGroupName);
       delete this._lastRequestedContext;
     }
     const executionContext = UI.context.flavor(SDK.ExecutionContext);
@@ -70,7 +69,7 @@
         .evaluate(
             {
               expression: 'self',
-              objectGroup: BrowserDebugger.ObjectEventListenersSidebarPane._objectGroupName,
+              objectGroup: _objectGroupName,
               includeCommandLineAPI: false,
               silent: true,
               returnByValue: false,
@@ -88,6 +87,19 @@
     event.data.consume();
     this.update();
   }
-};
+}
 
-BrowserDebugger.ObjectEventListenersSidebarPane._objectGroupName = 'object-event-listeners-sidebar-pane';
+export const _objectGroupName = 'object-event-listeners-sidebar-pane';
+
+/* Legacy exported object */
+self.BrowserDebugger = self.BrowserDebugger || {};
+
+/* Legacy exported object */
+BrowserDebugger = BrowserDebugger || {};
+
+/**
+ * @constructor
+ */
+BrowserDebugger.ObjectEventListenersSidebarPane = ObjectEventListenersSidebarPane;
+
+BrowserDebugger.ObjectEventListenersSidebarPane._objectGroupName = _objectGroupName;
diff --git a/front_end/browser_debugger/XHRBreakpointsSidebarPane.js b/front_end/browser_debugger/XHRBreakpointsSidebarPane.js
index dd54216..8cd1c84 100644
--- a/front_end/browser_debugger/XHRBreakpointsSidebarPane.js
+++ b/front_end/browser_debugger/XHRBreakpointsSidebarPane.js
@@ -6,7 +6,7 @@
  * @implements {UI.ToolbarItem.ItemsProvider}
  * @unrestricted
  */
-BrowserDebugger.XHRBreakpointsSidebarPane = class extends UI.VBox {
+export class XHRBreakpointsSidebarPane extends UI.VBox {
   constructor() {
     super(true);
     this.registerRequiredCSS('browser_debugger/xhrBreakpointsSidebarPane.css');
@@ -230,4 +230,15 @@
       this._setBreakpoint(url, breakpoints.get(url));
     }
   }
-};
+}
+
+/* Legacy exported object */
+self.BrowserDebugger = self.BrowserDebugger || {};
+
+/* Legacy exported object */
+BrowserDebugger = BrowserDebugger || {};
+
+/**
+ * @constructor
+ */
+BrowserDebugger.XHRBreakpointsSidebarPane = XHRBreakpointsSidebarPane;
diff --git a/front_end/browser_debugger/browser_debugger.js b/front_end/browser_debugger/browser_debugger.js
new file mode 100644
index 0000000..a8e4125
--- /dev/null
+++ b/front_end/browser_debugger/browser_debugger.js
@@ -0,0 +1,15 @@
+// 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 DOMBreakpointsSidebarPane from './DOMBreakpointsSidebarPane.js';
+import * as EventListenerBreakpointsSidebarPane from './EventListenerBreakpointsSidebarPane.js';
+import * as ObjectEventListenersSidebarPane from './ObjectEventListenersSidebarPane.js';
+import * as XHRBreakpointsSidebarPane from './XHRBreakpointsSidebarPane.js';
+
+export {
+  DOMBreakpointsSidebarPane,
+  EventListenerBreakpointsSidebarPane,
+  ObjectEventListenersSidebarPane,
+  XHRBreakpointsSidebarPane,
+};
diff --git a/front_end/browser_debugger/module.json b/front_end/browser_debugger/module.json
index ca831aa..346a793 100644
--- a/front_end/browser_debugger/module.json
+++ b/front_end/browser_debugger/module.json
@@ -118,7 +118,8 @@
         "sources",
         "console"
     ],
-    "scripts": [
+    "modules": [
+        "browser_debugger.js",
         "DOMBreakpointsSidebarPane.js",
         "EventListenerBreakpointsSidebarPane.js",
         "ObjectEventListenersSidebarPane.js",