Migrate console/ to ESM internally

Bug: 1006759
Change-Id: If15f5741c87ff711976a317910cbf01489db1d3e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1991515
Commit-Queue: Tim van der Lippe <[email protected]>
Reviewed-by: Paul Lewis <[email protected]>
diff --git a/front_end/console/ConsoleContextSelector.js b/front_end/console/ConsoleContextSelector.js
index 43f6b3d..9c2afad 100644
--- a/front_end/console/ConsoleContextSelector.js
+++ b/front_end/console/ConsoleContextSelector.js
@@ -1,11 +1,12 @@
 // Copyright 2015 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.
+
 /**
  * @implements {SDK.SDKModelObserver<!SDK.RuntimeModel>}
  * @implements {UI.SoftDropDown.Delegate<!SDK.ExecutionContext>}
  */
-export default class ConsoleContextSelector {
+export class ConsoleContextSelector {
   constructor() {
     /** @type {!UI.ListModel<!SDK.ExecutionContext>} */
     this._items = new UI.ListModel();
@@ -324,14 +325,3 @@
     }
   }
 }
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsoleContextSelector = ConsoleContextSelector;
diff --git a/front_end/console/ConsoleFilter.js b/front_end/console/ConsoleFilter.js
index 0bc2b61..a06b7f9 100644
--- a/front_end/console/ConsoleFilter.js
+++ b/front_end/console/ConsoleFilter.js
@@ -2,7 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-export default class ConsoleFilter {
+import {ConsoleViewMessage} from './ConsoleViewMessage.js';  // eslint-disable-line no-unused-vars
+
+export class ConsoleFilter {
   /**
    * @param {string} name
    * @param {!Array<!TextUtils.FilterParser.ParsedFilter>} parsedFilters
@@ -13,7 +15,7 @@
     this.name = name;
     this.parsedFilters = parsedFilters;
     this.executionContext = executionContext;
-    this.levelsMask = levelsMask || Console.ConsoleFilter.defaultLevelsFilterValue();
+    this.levelsMask = levelsMask || ConsoleFilter.defaultLevelsFilterValue();
   }
 
   /**
@@ -31,7 +33,7 @@
    * @return {!Object<string, boolean>}
    */
   static defaultLevelsFilterValue() {
-    const result = Console.ConsoleFilter.allLevelsFilterValue();
+    const result = ConsoleFilter.allLevelsFilterValue();
     result[SDK.ConsoleMessage.MessageLevel.Verbose] = false;
     return result;
   }
@@ -47,16 +49,16 @@
   }
 
   /**
-   * @return {!Console.ConsoleFilter}
+   * @return {!ConsoleFilter}
    */
   clone() {
     const parsedFilters = this.parsedFilters.map(TextUtils.FilterParser.cloneFilter);
     const levelsMask = Object.assign({}, this.levelsMask);
-    return new Console.ConsoleFilter(this.name, parsedFilters, this.executionContext, levelsMask);
+    return new ConsoleFilter(this.name, parsedFilters, this.executionContext, levelsMask);
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @return {boolean}
    */
   shouldBeVisible(viewMessage) {
@@ -142,17 +144,3 @@
   Source: 'source',
   Url: 'url'
 };
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsoleFilter = ConsoleFilter;
-
-/** @enum {string} */
-Console.ConsoleFilter.FilterType = FilterType;
diff --git a/front_end/console/ConsolePanel.js b/front_end/console/ConsolePanel.js
index 4807e8c..92e411e 100644
--- a/front_end/console/ConsolePanel.js
+++ b/front_end/console/ConsolePanel.js
@@ -26,25 +26,27 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import {ConsoleView} from './ConsoleView.js';
+
 /**
  * @unrestricted
  */
-export default class ConsolePanel extends UI.Panel {
+export class ConsolePanel extends UI.Panel {
   constructor() {
     super('console');
-    this._view = Console.ConsoleView.instance();
+    this._view = ConsoleView.instance();
   }
 
   /**
-   * @return {!Console.ConsolePanel}
+   * @return {!ConsolePanel}
    */
   static instance() {
-    return /** @type {!Console.ConsolePanel} */ (self.runtime.sharedInstance(Console.ConsolePanel));
+    return /** @type {!ConsolePanel} */ (self.runtime.sharedInstance(ConsolePanel));
   }
 
   static _updateContextFlavor() {
-    const consoleView = Console.ConsolePanel.instance()._view;
-    UI.context.setFlavor(Console.ConsoleView, consoleView.isShowing() ? consoleView : null);
+    const consoleView = ConsolePanel.instance()._view;
+    UI.context.setFlavor(ConsoleView, consoleView.isShowing() ? consoleView : null);
   }
 
   /**
@@ -52,12 +54,12 @@
    */
   wasShown() {
     super.wasShown();
-    const wrapper = Console.ConsolePanel.WrapperView._instance;
+    const wrapper = WrapperView._instance;
     if (wrapper && wrapper.isShowing()) {
       UI.inspectorView.setDrawerMinimized(true);
     }
     this._view.show(this.element);
-    Console.ConsolePanel._updateContextFlavor();
+    ConsolePanel._updateContextFlavor();
   }
 
   /**
@@ -68,10 +70,10 @@
     // The minimized drawer has 0 height, and showing Console inside may set
     // Console's scrollTop to 0. Unminimize before calling show to avoid this.
     UI.inspectorView.setDrawerMinimized(false);
-    if (Console.ConsolePanel.WrapperView._instance) {
-      Console.ConsolePanel.WrapperView._instance._showViewInWrapper();
+    if (WrapperView._instance) {
+      WrapperView._instance._showViewInWrapper();
     }
-    Console.ConsolePanel._updateContextFlavor();
+    ConsolePanel._updateContextFlavor();
   }
 
   /**
@@ -79,7 +81,7 @@
    * @return {?UI.SearchableView}
    */
   searchableView() {
-    return Console.ConsoleView.instance().searchableView();
+    return ConsoleView.instance().searchableView();
   }
 }
 
@@ -91,21 +93,21 @@
     super();
     this.element.classList.add('console-view-wrapper');
 
-    Console.ConsolePanel.WrapperView._instance = this;
+    WrapperView._instance = this;
 
-    this._view = Console.ConsoleView.instance();
+    this._view = ConsoleView.instance();
   }
 
   /**
    * @override
    */
   wasShown() {
-    if (!Console.ConsolePanel.instance().isShowing()) {
+    if (!ConsolePanel.instance().isShowing()) {
       this._showViewInWrapper();
     } else {
       UI.inspectorView.setDrawerMinimized(true);
     }
-    Console.ConsolePanel._updateContextFlavor();
+    ConsolePanel._updateContextFlavor();
   }
 
   /**
@@ -113,7 +115,7 @@
    */
   willHide() {
     UI.inspectorView.setDrawerMinimized(false);
-    Console.ConsolePanel._updateContextFlavor();
+    ConsolePanel._updateContextFlavor();
   }
 
   _showViewInWrapper() {
@@ -132,7 +134,7 @@
    * @return {!Promise}
    */
   reveal(object) {
-    const consoleView = Console.ConsoleView.instance();
+    const consoleView = ConsoleView.instance();
     if (consoleView.isShowing()) {
       consoleView.focus();
       return Promise.resolve();
@@ -141,24 +143,3 @@
     return Promise.resolve();
   }
 }
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsolePanel = ConsolePanel;
-
-/**
- * @constructor
- */
-Console.ConsolePanel.WrapperView = WrapperView;
-
-/**
- * @implements {Common.Revealer}
- */
-Console.ConsolePanel.ConsoleRevealer = ConsoleRevealer;
diff --git a/front_end/console/ConsolePinPane.js b/front_end/console/ConsolePinPane.js
index 57c5479..9599185 100644
--- a/front_end/console/ConsolePinPane.js
+++ b/front_end/console/ConsolePinPane.js
@@ -4,7 +4,7 @@
 
 const _PinSymbol = Symbol('pinSymbol');
 
-export default class ConsolePinPane extends UI.ThrottledWidget {
+export class ConsolePinPane extends UI.ThrottledWidget {
   /**
    * @param {!UI.ToolbarButton} liveExpressionButton
    */
@@ -16,7 +16,7 @@
     this.contentElement.classList.add('console-pins', 'monospace');
     this.contentElement.addEventListener('contextmenu', this._contextMenuEventFired.bind(this), false);
 
-    /** @type {!Set<!Console.ConsolePin>} */
+    /** @type {!Set<!ConsolePin>} */
     this._pins = new Set();
     this._pinsSetting = Common.settings.createLocalSetting('consolePins', []);
     for (const expression of this._pinsSetting.get()) {
@@ -64,7 +64,7 @@
   }
 
   /**
-   * @param {!Console.ConsolePin} pin
+   * @param {!ConsolePin} pin
    */
   _removePin(pin) {
     pin.element().remove();
@@ -112,7 +112,7 @@
 export class ConsolePin extends Common.Object {
   /**
    * @param {string} expression
-   * @param {!Console.ConsolePinPane} pinPane
+   * @param {!ConsolePinPane} pinPane
    */
   constructor(expression, pinPane) {
     super();
@@ -289,19 +289,3 @@
     this._pinElement.classList.toggle('error-level', !!isError);
   }
 }
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsolePinPane = ConsolePinPane;
-
-/**
- * @constructor
- */
-Console.ConsolePin = ConsolePin;
diff --git a/front_end/console/ConsolePrompt.js b/front_end/console/ConsolePrompt.js
index bc7114d..4b49a8b 100644
--- a/front_end/console/ConsolePrompt.js
+++ b/front_end/console/ConsolePrompt.js
@@ -2,12 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-export default class ConsolePrompt extends UI.Widget {
+import {ConsolePanel} from './ConsolePanel.js';
+
+export class ConsolePrompt extends UI.Widget {
   constructor() {
     super();
     this.registerRequiredCSS('console/consolePrompt.css');
     this._addCompletionsFromHistory = true;
-    this._history = new Console.ConsoleHistoryManager();
+    this._history = new ConsoleHistoryManager();
 
     this._initialText = '';
     /** @type {?UI.TextEditor} */
@@ -43,7 +45,7 @@
 
     /**
      * @param {!UI.TextEditorFactory} factory
-     * @this {Console.ConsolePrompt}
+     * @this {ConsolePrompt}
      */
     function gotFactory(factory) {
       this._editor = factory.createEditor({
@@ -141,7 +143,7 @@
   }
 
   /**
-   * @return {!Console.ConsoleHistoryManager}
+   * @return {!ConsoleHistoryManager}
    */
   history() {
     return this._history;
@@ -314,7 +316,7 @@
       SDK.consoleModel.evaluateCommandInConsole(
           executionContext, message, expression, useCommandLineAPI,
           /* awaitPromise */ false);
-      if (Console.ConsolePanel.instance().isShowing()) {
+      if (ConsolePanel.instance().isShowing()) {
         Host.userMetrics.actionTaken(Host.UserMetrics.Action.CommandEvaluatedInConsolePanel);
       }
     }
@@ -477,21 +479,3 @@
 export const Events = {
   TextChanged: Symbol('TextChanged')
 };
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsolePrompt = ConsolePrompt;
-
-Console.ConsolePrompt.Events = Events;
-
-/**
- * @constructor
- */
-Console.ConsoleHistoryManager = ConsoleHistoryManager;
diff --git a/front_end/console/ConsoleSidebar.js b/front_end/console/ConsoleSidebar.js
index e126c23..1e319ab 100644
--- a/front_end/console/ConsoleSidebar.js
+++ b/front_end/console/ConsoleSidebar.js
@@ -2,7 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-export default class ConsoleSidebar extends UI.VBox {
+import {ConsoleFilter, FilterType} from './ConsoleFilter.js';
+import {ConsoleViewMessage} from './ConsoleViewMessage.js';  // eslint-disable-line no-unused-vars
+
+export class ConsoleSidebar extends UI.VBox {
   constructor() {
     super(true);
     this.setMinimumSize(125, 0);
@@ -13,33 +16,30 @@
     this.contentElement.appendChild(this._tree.element);
     /** @type {?UI.TreeElement} */
     this._selectedTreeElement = null;
-    /** @type {!Array<!Console.ConsoleSidebar.FilterTreeElement>} */
+    /** @type {!Array<!FilterTreeElement>} */
     this._treeElements = [];
     const selectedFilterSetting = Common.settings.createSetting('console.sidebarSelectedFilter', null);
 
     const Levels = SDK.ConsoleMessage.MessageLevel;
-    const consoleAPIParsedFilters = [{
-      key: Console.ConsoleFilter.FilterType.Source,
-      text: SDK.ConsoleMessage.MessageSource.ConsoleAPI,
-      negative: false
-    }];
+    const consoleAPIParsedFilters =
+        [{key: FilterType.Source, text: SDK.ConsoleMessage.MessageSource.ConsoleAPI, negative: false}];
     this._appendGroup(
-        _groupName.All, [], Console.ConsoleFilter.allLevelsFilterValue(), UI.Icon.create('mediumicon-list'),
+        _groupName.All, [], ConsoleFilter.allLevelsFilterValue(), UI.Icon.create('mediumicon-list'),
         selectedFilterSetting);
     this._appendGroup(
-        _groupName.ConsoleAPI, consoleAPIParsedFilters, Console.ConsoleFilter.allLevelsFilterValue(),
+        _groupName.ConsoleAPI, consoleAPIParsedFilters, ConsoleFilter.allLevelsFilterValue(),
         UI.Icon.create('mediumicon-account-circle'), selectedFilterSetting);
     this._appendGroup(
-        _groupName.Error, [], Console.ConsoleFilter.singleLevelMask(Levels.Error),
-        UI.Icon.create('mediumicon-error-circle'), selectedFilterSetting);
+        _groupName.Error, [], ConsoleFilter.singleLevelMask(Levels.Error), UI.Icon.create('mediumicon-error-circle'),
+        selectedFilterSetting);
     this._appendGroup(
-        _groupName.Warning, [], Console.ConsoleFilter.singleLevelMask(Levels.Warning),
+        _groupName.Warning, [], ConsoleFilter.singleLevelMask(Levels.Warning),
         UI.Icon.create('mediumicon-warning-triangle'), selectedFilterSetting);
     this._appendGroup(
-        _groupName.Info, [], Console.ConsoleFilter.singleLevelMask(Levels.Info),
-        UI.Icon.create('mediumicon-info-circle'), selectedFilterSetting);
+        _groupName.Info, [], ConsoleFilter.singleLevelMask(Levels.Info), UI.Icon.create('mediumicon-info-circle'),
+        selectedFilterSetting);
     this._appendGroup(
-        _groupName.Verbose, [], Console.ConsoleFilter.singleLevelMask(Levels.Verbose), UI.Icon.create('mediumicon-bug'),
+        _groupName.Verbose, [], ConsoleFilter.singleLevelMask(Levels.Verbose), UI.Icon.create('mediumicon-bug'),
         selectedFilterSetting);
     const selectedTreeElementName = selectedFilterSetting.get();
     const defaultTreeElement =
@@ -55,7 +55,7 @@
    * @param {!Common.Setting} selectedFilterSetting
    */
   _appendGroup(name, parsedFilters, levelsMask, icon, selectedFilterSetting) {
-    const filter = new Console.ConsoleFilter(name, parsedFilters, null, levelsMask);
+    const filter = new ConsoleFilter(name, parsedFilters, null, levelsMask);
     const treeElement = new FilterTreeElement(filter, icon, selectedFilterSetting);
     this._tree.appendChild(treeElement);
     this._treeElements.push(treeElement);
@@ -68,7 +68,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    */
   onMessageAdded(viewMessage) {
     for (const treeElement of this._treeElements) {
@@ -77,7 +77,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @return {boolean}
    */
   shouldBeVisible(viewMessage) {
@@ -103,7 +103,7 @@
 
 export class URLGroupTreeElement extends UI.TreeElement {
   /**
-   * @param {!Console.ConsoleFilter} filter
+   * @param {!ConsoleFilter} filter
    */
   constructor(filter) {
     super(filter.name);
@@ -122,7 +122,7 @@
 
 export class FilterTreeElement extends UI.TreeElement {
   /**
-   * @param {!Console.ConsoleFilter} filter
+   * @param {!ConsoleFilter} filter
    * @param {!Element} icon
    * @param {!Common.Setting} selectedFilterSetting
    */
@@ -130,7 +130,7 @@
     super(filter.name);
     this._filter = filter;
     this._selectedFilterSetting = selectedFilterSetting;
-    /** @type {!Map<?string, !Console.ConsoleSidebar.URLGroupTreeElement>} */
+    /** @type {!Map<?string, !URLGroupTreeElement>} */
     this._urlTreeElements = new Map();
     this.setLeadingIcons([icon]);
     this._messageCount = 0;
@@ -174,7 +174,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    */
   onMessageAdded(viewMessage) {
     const message = viewMessage.consoleMessage();
@@ -191,7 +191,7 @@
 
   /**
    * @param {string=} url
-   * @return {!Console.ConsoleSidebar.URLGroupTreeElement}
+   * @return {!URLGroupTreeElement}
    */
   _childElement(url) {
     const urlValue = url || null;
@@ -207,7 +207,7 @@
     } else {
       filter.name = Common.UIString('<other>');
     }
-    filter.parsedFilters.push({key: Console.ConsoleFilter.FilterType.Url, text: urlValue, negative: false});
+    filter.parsedFilters.push({key: FilterType.Url, text: urlValue, negative: false});
     child = new URLGroupTreeElement(filter);
     if (urlValue) {
       child.tooltip = urlValue;
@@ -245,27 +245,3 @@
   [_groupName.ConsoleAPI, ls`No user messages`], [_groupName.All, ls`No messages`], [_groupName.Error, ls`No errors`],
   [_groupName.Warning, ls`No warnings`], [_groupName.Info, ls`No info`], [_groupName.Verbose, ls`No verbose`]
 ]);
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsoleSidebar = ConsoleSidebar;
-
-/** @enum {symbol} */
-Console.ConsoleSidebar.Events = Events;
-
-/**
- * @constructor
- */
-Console.ConsoleSidebar.URLGroupTreeElement = URLGroupTreeElement;
-
-/**
- * @constructor
- */
-Console.ConsoleSidebar.FilterTreeElement = FilterTreeElement;
diff --git a/front_end/console/ConsoleView.js b/front_end/console/ConsoleView.js
index 1fefa39..e08e41c 100644
--- a/front_end/console/ConsoleView.js
+++ b/front_end/console/ConsoleView.js
@@ -26,12 +26,20 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+import {ConsoleContextSelector} from './ConsoleContextSelector.js';
+import {ConsoleFilter, FilterType} from './ConsoleFilter.js';
+import {ConsolePinPane} from './ConsolePinPane.js';
+import {ConsolePrompt, Events as ConsolePromptEvents} from './ConsolePrompt.js';
+import {ConsoleSidebar, Events} from './ConsoleSidebar.js';
+import {ConsoleGroupViewMessage, ConsoleViewMessage, MaxLengthForLinks} from './ConsoleViewMessage.js';  // eslint-disable-line no-unused-vars
+import {ConsoleViewport, ConsoleViewportElement, ConsoleViewportProvider} from './ConsoleViewport.js';  // eslint-disable-line no-unused-vars
+
 /**
  * @implements {UI.Searchable}
- * @implements {Console.ConsoleViewportProvider}
+ * @implements {ConsoleViewportProvider}
  * @unrestricted
  */
-export default class ConsoleView extends UI.VBox {
+export class ConsoleView extends UI.VBox {
   constructor() {
     super();
     this.setMinimumSize(0, 35);
@@ -42,8 +50,8 @@
     this._searchableView.element.classList.add('console-searchable-view');
     this._searchableView.setPlaceholder(Common.UIString('Find string in logs'));
     this._searchableView.setMinimalSearchQuerySize(0);
-    this._sidebar = new Console.ConsoleSidebar();
-    this._sidebar.addEventListener(Console.ConsoleSidebar.Events.FilterSelected, this._onFilterChanged.bind(this));
+    this._sidebar = new ConsoleSidebar();
+    this._sidebar.addEventListener(Events.FilterSelected, this._onFilterChanged.bind(this));
     this._isSidebarOpen = false;
     this._filter = new ConsoleViewFilter(this._onFilterChanged.bind(this));
 
@@ -67,15 +75,15 @@
     this._contentsElement = this._searchableView.element;
     this.element.classList.add('console-view');
 
-    /** @type {!Array.<!Console.ConsoleViewMessage>} */
+    /** @type {!Array.<!ConsoleViewMessage>} */
     this._visibleViewMessages = [];
     this._hiddenByFilterCount = 0;
-    /** @type {!Set<!Console.ConsoleViewMessage>} */
+    /** @type {!Set<!ConsoleViewMessage>} */
     this._shouldBeHiddenCache = new Set();
 
-    /** @type {!Map<string, !Array<!Console.ConsoleViewMessage>>} */
+    /** @type {!Map<string, !Array<!ConsoleViewMessage>>} */
     this._groupableMessages = new Map();
-    /** @type {!Map<string, !Console.ConsoleViewMessage>} */
+    /** @type {!Map<string, !ConsoleViewMessage>} */
     this._groupableMessageTitle = new Map();
 
     /**
@@ -83,7 +91,7 @@
      */
     this._regexMatchRanges = [];
 
-    this._consoleContextSelector = new Console.ConsoleContextSelector();
+    this._consoleContextSelector = new ConsoleContextSelector();
 
     this._filterStatusText = new UI.ToolbarText();
     this._filterStatusText.element.classList.add('dimmed');
@@ -158,7 +166,7 @@
     this._showSettingsPaneSetting.addChangeListener(
         () => settingsPane.element.classList.toggle('hidden', !this._showSettingsPaneSetting.get()));
 
-    this._pinPane = new Console.ConsolePinPane(liveExpressionButton);
+    this._pinPane = new ConsolePinPane(liveExpressionButton);
     this._pinPane.element.classList.add('console-view-pinpane');
     this._pinPane.show(this._contentsElement);
     this._pinPane.element.addEventListener('keydown', event => {
@@ -169,7 +177,7 @@
       }
     });
 
-    this._viewport = new Console.ConsoleViewport(this);
+    this._viewport = new ConsoleViewport(this);
     this._viewport.setStickToBottom(true);
     this._viewport.contentElement().classList.add('console-group', 'console-group-messages');
     this._contentsElement.appendChild(this._viewport.element);
@@ -200,18 +208,18 @@
 
     this._messagesElement.addEventListener('contextmenu', this._handleContextMenuEvent.bind(this), false);
 
-    this._linkifier = new Components.Linkifier(Console.ConsoleViewMessage.MaxLengthForLinks);
+    this._linkifier = new Components.Linkifier(MaxLengthForLinks);
 
-    /** @type {!Array.<!Console.ConsoleViewMessage>} */
+    /** @type {!Array.<!ConsoleViewMessage>} */
     this._consoleMessages = [];
     this._viewMessageSymbol = Symbol('viewMessage');
 
     this._consoleHistorySetting = Common.settings.createLocalSetting('consoleHistory', []);
 
-    this._prompt = new Console.ConsolePrompt();
+    this._prompt = new ConsolePrompt();
     this._prompt.show(this._promptElement);
     this._prompt.element.addEventListener('keydown', this._promptKeyDown.bind(this), true);
-    this._prompt.addEventListener(Console.ConsolePrompt.Events.TextChanged, this._promptTextChanged, this);
+    this._prompt.addEventListener(ConsolePromptEvents.TextChanged, this._promptTextChanged, this);
 
     this._messagesElement.addEventListener('keydown', this._messagesKeyDown.bind(this), false);
     this._prompt.element.addEventListener('focusin', () => {
@@ -251,7 +259,7 @@
   }
 
   /**
-   * @return {!Console.ConsoleView}
+   * @return {!ConsoleView}
    */
   static instance() {
     if (!ConsoleView._instance) {
@@ -265,8 +273,8 @@
   }
 
   _onFilterChanged() {
-    this._filter._currentFilter.levelsMask = this._isSidebarOpen ? Console.ConsoleFilter.allLevelsFilterValue() :
-                                                                   this._filter._messageLevelFiltersSetting.get();
+    this._filter._currentFilter.levelsMask =
+        this._isSidebarOpen ? ConsoleFilter.allLevelsFilterValue() : this._filter._messageLevelFiltersSetting.get();
     this._cancelBuildHiddenCache();
     if (this._immediatelyFilterMessagesForTest) {
       for (const viewMessage of this._consoleMessages) {
@@ -309,7 +317,7 @@
   /**
    * @override
    * @param {number} index
-   * @return {?Console.ConsoleViewportElement}
+   * @return {?ConsoleViewportElement}
    */
   itemElement(index) {
     return this._visibleViewMessages[index];
@@ -338,7 +346,7 @@
 
     /**
      * @param {!Common.Event} event
-     * @this {Console.ConsoleView}
+     * @this {ConsoleView}
      */
     function messageAdded(event) {
       this._addSinkMessage(/** @type {!Common.Console.Message} */ (event.data));
@@ -553,7 +561,7 @@
     this._consoleMessageAddedForTest(viewMessage);
 
     /**
-     * @param {!Console.ConsoleViewMessage} viewMessage1
+     * @param {!ConsoleViewMessage} viewMessage1
      * @param {!Console.ConsoleViewMessage} viewMessage2
      */
     function timeComparator(viewMessage1, viewMessage2) {
@@ -575,13 +583,13 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    */
   _consoleMessageAddedForTest(viewMessage) {
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @return {boolean}
    */
   _shouldMessageBeVisible(viewMessage) {
@@ -589,7 +597,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    */
   _computeShouldMessageBeVisible(viewMessage) {
     if (this._filter.shouldBeVisible(viewMessage) &&
@@ -601,7 +609,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @param {boolean=} preventCollapse
    */
   _appendMessageToEnd(viewMessage, preventCollapse) {
@@ -645,7 +653,7 @@
 
   /**
    * @param {!SDK.ConsoleMessage} message
-   * @return {!Console.ConsoleViewMessage}
+   * @return {!ConsoleViewMessage}
    */
   _createViewMessage(message) {
     const nestingLevel = this._currentGroup.nestingLevel();
@@ -656,10 +664,10 @@
         return new ConsoleCommandResult(message, this._linkifier, nestingLevel, this._onMessageResizedBound);
       case SDK.ConsoleMessage.MessageType.StartGroupCollapsed:
       case SDK.ConsoleMessage.MessageType.StartGroup:
-        return new Console.ConsoleGroupViewMessage(
+        return new ConsoleGroupViewMessage(
             message, this._linkifier, nestingLevel, this._updateMessageList.bind(this), this._onMessageResizedBound);
       default:
-        return new Console.ConsoleViewMessage(message, this._linkifier, nestingLevel, this._onMessageResizedBound);
+        return new ConsoleViewMessage(message, this._linkifier, nestingLevel, this._onMessageResizedBound);
     }
   }
 
@@ -759,7 +767,7 @@
       const messageContents = [];
       let i;
       for (i = 0; i < chunkSize && i + messageIndex < this.itemCount(); ++i) {
-        const message = /** @type {!Console.ConsoleViewMessage} */ (this.itemElement(messageIndex + i));
+        const message = /** @type {!ConsoleViewMessage} */ (this.itemElement(messageIndex + i));
         messageContents.push(message.toExportString());
       }
       messageIndex += i;
@@ -772,7 +780,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @param {!Console.ConsoleViewMessage=} lastMessage
    * @return {boolean}
    */
@@ -794,7 +802,7 @@
 
   /**
    * @param {number} startIndex
-   * @param {!Array<!Console.ConsoleViewMessage>} viewMessages
+   * @param {!Array<!ConsoleViewMessage>} viewMessages
    */
   _buildHiddenCache(startIndex, viewMessages) {
     const startTime = Date.now();
@@ -1196,7 +1204,7 @@
     this._waitForScrollTimeout = setTimeout(updateViewportState.bind(this), 200);
 
     /**
-     * @this {!Console.ConsoleView}
+     * @this {!ConsoleView}
      */
     function updateViewportState() {
       this._muteViewportUpdates = false;
@@ -1266,7 +1274,7 @@
     this._filterByExecutionContextSetting.addChangeListener(this._onFilterChanged.bind(this));
     UI.context.addFlavorChangeListener(SDK.ExecutionContext, this._onFilterChanged, this);
 
-    const filterKeys = Object.values(Console.ConsoleFilter.FilterType);
+    const filterKeys = Object.values(FilterType);
     this._suggestionBuilder = new UI.FilterSuggestionBuilder(filterKeys);
     this._textFilterUI = new UI.ToolbarInput(
         Common.UIString('Filter'), '', 0.2, 1, Common.UIString('e.g. /event\\d/ -cdn url:a.com'),
@@ -1280,7 +1288,7 @@
       this._onFilterChanged();
     });
     this._filterParser = new TextUtils.FilterParser(filterKeys);
-    this._currentFilter = new Console.ConsoleFilter('', [], null, this._messageLevelFiltersSetting.get());
+    this._currentFilter = new ConsoleFilter('', [], null, this._messageLevelFiltersSetting.get());
     this._updateCurrentFilter();
 
     this._levelLabels = {};
@@ -1307,13 +1315,13 @@
       return;
     }
     if (message.context) {
-      this._suggestionBuilder.addItem(Console.ConsoleFilter.FilterType.Context, message.context);
+      this._suggestionBuilder.addItem(FilterType.Context, message.context);
     }
     if (message.source) {
-      this._suggestionBuilder.addItem(Console.ConsoleFilter.FilterType.Source, message.source);
+      this._suggestionBuilder.addItem(FilterType.Source, message.source);
     }
     if (message.url) {
-      this._suggestionBuilder.addItem(Console.ConsoleFilter.FilterType.Url, message.url);
+      this._suggestionBuilder.addItem(FilterType.Url, message.url);
     }
   }
 
@@ -1321,17 +1329,13 @@
    * @return {!Common.Setting}
    */
   static levelFilterSetting() {
-    return Common.settings.createSetting('messageLevelFilters', Console.ConsoleFilter.defaultLevelsFilterValue());
+    return Common.settings.createSetting('messageLevelFilters', ConsoleFilter.defaultLevelsFilterValue());
   }
 
   _updateCurrentFilter() {
     const parsedFilters = this._filterParser.parse(this._textFilterUI.value());
     if (this._hideNetworkMessagesSetting.get()) {
-      parsedFilters.push({
-        key: Console.ConsoleFilter.FilterType.Source,
-        text: SDK.ConsoleMessage.MessageSource.Network,
-        negative: true
-      });
+      parsedFilters.push({key: FilterType.Source, text: SDK.ConsoleMessage.MessageSource.Network, negative: true});
     }
 
     this._currentFilter.executionContext =
@@ -1348,8 +1352,8 @@
   _updateLevelMenuButtonText() {
     let isAll = true;
     let isDefault = true;
-    const allValue = Console.ConsoleFilter.allLevelsFilterValue();
-    const defaultValue = Console.ConsoleFilter.defaultLevelsFilterValue();
+    const allValue = ConsoleFilter.allLevelsFilterValue();
+    const defaultValue = ConsoleFilter.defaultLevelsFilterValue();
 
     let text = null;
     const levels = this._messageLevelFiltersSetting.get();
@@ -1384,7 +1388,7 @@
         mouseEvent, true /* useSoftMenu */, this._levelMenuButton.element.totalOffsetLeft(),
         this._levelMenuButton.element.totalOffsetTop() + this._levelMenuButton.element.offsetHeight);
     contextMenu.headerSection().appendItem(
-        Common.UIString('Default'), () => setting.set(Console.ConsoleFilter.defaultLevelsFilterValue()));
+        Common.UIString('Default'), () => setting.set(ConsoleFilter.defaultLevelsFilterValue()));
     for (const level in this._levelLabels) {
       contextMenu.defaultSection().appendCheckboxItem(
           this._levelLabels[level], toggleShowLevel.bind(null, level), levels[level]);
@@ -1414,7 +1418,7 @@
   }
 
   /**
-   * @param {!Console.ConsoleViewMessage} viewMessage
+   * @param {!ConsoleViewMessage} viewMessage
    * @return {boolean}
    */
   shouldBeVisible(viewMessage) {
@@ -1426,7 +1430,7 @@
   }
 
   reset() {
-    this._messageLevelFiltersSetting.set(Console.ConsoleFilter.defaultLevelsFilterValue());
+    this._messageLevelFiltersSetting.set(ConsoleFilter.defaultLevelsFilterValue());
     this._filterByExecutionContextSetting.set(false);
     this._hideNetworkMessagesSetting.set(false);
     this._textFilterUI.setValue('');
@@ -1437,7 +1441,7 @@
 /**
  * @unrestricted
  */
-export class ConsoleCommand extends Console.ConsoleViewMessage {
+export class ConsoleCommand extends ConsoleViewMessage {
   /**
    * @override
    * @return {!Element}
@@ -1474,7 +1478,7 @@
 /**
  * @unrestricted
  */
-class ConsoleCommandResult extends Console.ConsoleViewMessage {
+class ConsoleCommandResult extends ConsoleViewMessage {
   /**
    * @override
    * @return {!Element}
@@ -1497,8 +1501,8 @@
  */
 export class ConsoleGroup {
   /**
-   * @param {?Console.ConsoleGroup} parentGroup
-   * @param {?Console.ConsoleViewMessage} groupMessage
+   * @param {?ConsoleGroup} parentGroup
+   * @param {?ConsoleViewMessage} groupMessage
    */
   constructor(parentGroup, groupMessage) {
     this._parentGroup = parentGroup;
@@ -1508,7 +1512,7 @@
   }
 
   /**
-   * @return {!Console.ConsoleGroup}
+   * @return {!ConsoleGroup}
    */
   static createTopGroup() {
     return new ConsoleGroup(null, null);
@@ -1529,7 +1533,7 @@
   }
 
   /**
-   * @return {?Console.ConsoleGroup}
+   * @return {?ConsoleGroup}
    */
   parentGroup() {
     return this._parentGroup;
@@ -1576,37 +1580,3 @@
  * @type {number}
  */
 const MaxLengthToIgnoreHighlighter = 10000;
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsoleView = ConsoleView;
-
-/** @constructor */
-Console.ConsoleViewFilter = ConsoleViewFilter;
-
-/**
- * @typedef {{messageIndex: number, matchIndex: number}}
- */
-Console.ConsoleView.RegexMatchRange;
-
-/**
- * @implements {UI.ActionDelegate}
- */
-Console.ConsoleView.ActionDelegate = ActionDelegate;
-
-/**
- * @constructor
- */
-Console.ConsoleCommand = ConsoleCommand;
-
-/**
- * @constructor
- */
-Console.ConsoleGroup = ConsoleGroup;
diff --git a/front_end/console/ConsoleViewMessage.js b/front_end/console/ConsoleViewMessage.js
index 4447dfd..43f4533 100644
--- a/front_end/console/ConsoleViewMessage.js
+++ b/front_end/console/ConsoleViewMessage.js
@@ -27,11 +27,13 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+import {ConsoleViewportElement} from './ConsoleViewport.js';  // eslint-disable-line no-unused-vars
+
 /**
- * @implements {Console.ConsoleViewportElement}
+ * @implements {ConsoleViewportElement}
  * @unrestricted
  */
-export default class ConsoleViewMessage {
+export class ConsoleViewMessage {
   /**
    * @param {!SDK.ConsoleMessage} consoleMessage
    * @param {!Components.Linkifier} linkifier
@@ -386,7 +388,7 @@
     };
 
     /**
-     * @this {!Console.ConsoleViewMessage}
+     * @this {!ConsoleViewMessage}
      * @param {?Event} event
      */
     function toggleStackTrace(event) {
@@ -581,6 +583,7 @@
   /**
    * @param {!SDK.RemoteObject} obj
    * @return {!Element}
+   * @suppress {accessControls}
    */
   _formatParameterAsValue(obj) {
     const result = createElement('span');
@@ -650,7 +653,7 @@
 
     /**
      * @param {!SDK.RemoteObject} targetFunction
-     * @this {Console.ConsoleViewMessage}
+     * @this {ConsoleViewMessage}
      */
     function formatTargetFunction(targetFunction) {
       const functionElement = createElement('span');
@@ -776,7 +779,7 @@
 
     /**
      * @param {!SDK.CallFunctionResult} result
-     * @this {Console.ConsoleViewMessage}
+     * @this {ConsoleViewMessage}
      */
     function onInvokeGetterClick(result) {
       const wasThrown = result.wasThrown;
@@ -824,7 +827,7 @@
      * @param {boolean} includePreview
      * @param {!SDK.RemoteObject} obj
      * @return {!Element}
-     * @this {Console.ConsoleViewMessage}
+     * @this {ConsoleViewMessage}
      */
     function parameterFormatter(force, includePreview, obj) {
       return this._formatParameter(obj, force, includePreview);
@@ -901,7 +904,7 @@
     /**
      * @param {!Element} a
      * @param {*} b
-     * @this {!Console.ConsoleViewMessage}
+     * @this {!ConsoleViewMessage}
      * @return {!Element}
      */
     function append(a, b) {
@@ -1575,6 +1578,7 @@
    * @param {string} string
    * @param {function(string,string,number=,number=):!Node} linkifier
    * @return {!DocumentFragment}
+   * @suppress {accessControls}
    */
   _linkifyWithCustomLinkifier(string, linkifier) {
     if (string.length > Console.ConsoleViewMessage._MaxTokenizableStringLength) {
@@ -1585,7 +1589,7 @@
       return fragment;
     }
     const container = createDocumentFragment();
-    const tokens = Console.ConsoleViewMessage._tokenizeMessageText(string);
+    const tokens = ConsoleViewMessage._tokenizeMessageText(string);
     for (const token of tokens) {
       if (!token.text) {
         continue;
@@ -1627,9 +1631,10 @@
   /**
    * @param {string} string
    * @return {!Array<{type: string, text: (string|undefined)}>}
+   * @suppress {accessControls}
    */
   static _tokenizeMessageText(string) {
-    if (!Console.ConsoleViewMessage._tokenizerRegexes) {
+    if (!ConsoleViewMessage._tokenizerRegexes) {
       const controlCodes = '\\u0000-\\u0020\\u007f-\\u009f';
       const linkStringRegex = new RegExp(
           '(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|data:|www\\.)[^\\s' + controlCodes + '"]{2,}[^\\s' + controlCodes +
@@ -1647,15 +1652,14 @@
       handlers.set(eventRegex, 'event');
       handlers.set(milestoneRegex, 'milestone');
       handlers.set(autofillRegex, 'autofill');
-      Console.ConsoleViewMessage._tokenizerRegexes = Array.from(handlers.keys());
-      Console.ConsoleViewMessage._tokenizerTypes = Array.from(handlers.values());
+      ConsoleViewMessage._tokenizerRegexes = Array.from(handlers.keys());
+      ConsoleViewMessage._tokenizerTypes = Array.from(handlers.values());
     }
     if (string.length > Console.ConsoleViewMessage._MaxTokenizableStringLength) {
       return [{text: string, type: undefined}];
     }
-    const results = TextUtils.TextUtils.splitStringByRegexes(string, Console.ConsoleViewMessage._tokenizerRegexes);
-    return results.map(
-        result => ({text: result.value, type: Console.ConsoleViewMessage._tokenizerTypes[result.regexIndex]}));
+    const results = TextUtils.TextUtils.splitStringByRegexes(string, ConsoleViewMessage._tokenizerRegexes);
+    return results.map(result => ({text: result.value, type: ConsoleViewMessage._tokenizerTypes[result.regexIndex]}));
   }
 
   /**
@@ -1672,7 +1676,7 @@
    * @return {string}
    */
   groupTitle() {
-    const tokens = Console.ConsoleViewMessage._tokenizeMessageText(this._message.messageText);
+    const tokens = ConsoleViewMessage._tokenizeMessageText(this._message.messageText);
     const result = tokens.reduce((acc, token) => {
       let text = token.text;
       if (token.type === 'url') {
@@ -1785,29 +1789,3 @@
 
 export const _MaxTokenizableStringLength = 10000;
 export const _LongStringVisibleLength = 5000;
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @implements {Console.ConsoleViewportElement}
- * @unrestricted
- * @constructor
- */
-Console.ConsoleViewMessage = ConsoleViewMessage;
-
-/**
- * @constructor
- */
-Console.ConsoleGroupViewMessage = ConsoleGroupViewMessage;
-
-/**
- * @const
- * @type {number}
- */
-Console.ConsoleViewMessage.MaxLengthForLinks = MaxLengthForLinks;
-Console.ConsoleViewMessage._MaxTokenizableStringLength = _MaxTokenizableStringLength;
-Console.ConsoleViewMessage._LongStringVisibleLength = _LongStringVisibleLength;
diff --git a/front_end/console/ConsoleViewport.js b/front_end/console/ConsoleViewport.js
index b94dceb..45f9482 100644
--- a/front_end/console/ConsoleViewport.js
+++ b/front_end/console/ConsoleViewport.js
@@ -31,9 +31,9 @@
 /**
  * @unrestricted
  */
-export default class ConsoleViewport {
+export class ConsoleViewport {
   /**
-   * @param {!Console.ConsoleViewportProvider} provider
+   * @param {!ConsoleViewportProvider} provider
    */
   constructor(provider) {
     this.element = createElement('div');
@@ -276,7 +276,7 @@
 
   /**
    * @param {number} index
-   * @return {?Console.ConsoleViewportElement}
+   * @return {?ConsoleViewportElement}
    */
   _providerElement(index) {
     if (!this._cachedProviderElements) {
@@ -518,7 +518,7 @@
         this._cumulativeHeights[this._cumulativeHeights.length - 1] - this._cumulativeHeights[this._lastActiveIndex];
 
     /**
-     * @this {Console.ConsoleViewport}
+     * @this {ConsoleViewport}
      */
     function prepare() {
       this._topGapElement.style.height = topGapHeight + 'px';
@@ -767,7 +767,7 @@
 /**
  * @interface
  */
-class ConsoleViewportProvider {
+export class ConsoleViewportProvider {
   /**
    * @param {number} index
    * @return {number}
@@ -792,7 +792,7 @@
 
   /**
    * @param {number} index
-   * @return {?Console.ConsoleViewportElement}
+   * @return {?ConsoleViewportElement}
    */
   itemElement(index) {
     return null;
@@ -815,24 +815,3 @@
   element() {
   }
 }
-
-/* Legacy exported object */
-self.Console = self.Console || {};
-
-/* Legacy exported object */
-Console = Console || {};
-
-/**
- * @constructor
- */
-Console.ConsoleViewport = ConsoleViewport;
-
-/**
- * @interface
- */
-Console.ConsoleViewportProvider = ConsoleViewportProvider;
-
-/**
- * @interface
- */
-Console.ConsoleViewportElement = ConsoleViewportElement;
diff --git a/front_end/console/console-legacy.js b/front_end/console/console-legacy.js
new file mode 100644
index 0000000..7d0862a
--- /dev/null
+++ b/front_end/console/console-legacy.js
@@ -0,0 +1,141 @@
+// 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 ConsoleModule from './console.js';
+
+self.Console = self.Console || {};
+Console = Console || {};
+
+/**
+ * @constructor
+ */
+Console.ConsoleContextSelector = ConsoleModule.ConsoleContextSelector.ConsoleContextSelector;
+
+/**
+ * @constructor
+ */
+Console.ConsoleFilter = ConsoleModule.ConsoleFilter.ConsoleFilter;
+
+/** @enum {string} */
+Console.ConsoleFilter.FilterType = ConsoleModule.ConsoleFilter.FilterType;
+
+/**
+ * @constructor
+ */
+Console.ConsolePanel = ConsoleModule.ConsolePanel.ConsolePanel;
+
+/**
+ * @constructor
+ */
+Console.ConsolePanel.WrapperView = ConsoleModule.ConsolePanel.WrapperView;
+
+/**
+ * @implements {Common.Revealer}
+ */
+Console.ConsolePanel.ConsoleRevealer = ConsoleModule.ConsolePanel.ConsoleRevealer;
+
+/**
+ * @constructor
+ */
+Console.ConsolePinPane = ConsoleModule.ConsolePinPane.ConsolePinPane;
+
+/**
+ * @constructor
+ */
+Console.ConsolePin = ConsoleModule.ConsolePinPane.ConsolePin;
+
+/**
+ * @constructor
+ */
+Console.ConsolePrompt = ConsoleModule.ConsolePrompt.ConsolePrompt;
+
+Console.ConsolePrompt.Events = ConsoleModule.ConsolePrompt.Events;
+
+/**
+ * @constructor
+ */
+Console.ConsoleHistoryManager = ConsoleModule.ConsolePrompt.ConsoleHistoryManager;
+
+/**
+ * @constructor
+ */
+Console.ConsoleSidebar = ConsoleModule.ConsoleSidebar.ConsoleSidebar;
+
+/** @enum {symbol} */
+Console.ConsoleSidebar.Events = ConsoleModule.ConsoleSidebar.Events;
+
+/**
+ * @constructor
+ */
+Console.ConsoleSidebar.URLGroupTreeElement = ConsoleModule.ConsoleSidebar.URLGroupTreeElement;
+
+/**
+ * @constructor
+ */
+Console.ConsoleSidebar.FilterTreeElement = ConsoleModule.ConsoleSidebar.FilterTreeElement;
+
+/**
+ * @constructor
+ */
+Console.ConsoleView = ConsoleModule.ConsoleView.ConsoleView;
+
+/** @constructor */
+Console.ConsoleViewFilter = ConsoleModule.ConsoleView.ConsoleViewFilter;
+
+/**
+ * @implements {UI.ActionDelegate}
+ */
+Console.ConsoleView.ActionDelegate = ConsoleModule.ConsoleView.ActionDelegate;
+
+/**
+ * @constructor
+ */
+Console.ConsoleCommand = ConsoleModule.ConsoleView.ConsoleCommand;
+
+/**
+ * @constructor
+ */
+Console.ConsoleGroup = ConsoleModule.ConsoleView.ConsoleGroup;
+
+/**
+ * @implements {Console.ConsoleViewportElement}
+ * @unrestricted
+ * @constructor
+ */
+Console.ConsoleViewMessage = ConsoleModule.ConsoleViewMessage.ConsoleViewMessage;
+
+/**
+ * @constructor
+ */
+Console.ConsoleGroupViewMessage = ConsoleModule.ConsoleViewMessage.ConsoleGroupViewMessage;
+
+/**
+ * @const
+ * @type {number}
+ */
+Console.ConsoleViewMessage.MaxLengthForLinks = ConsoleModule.ConsoleViewMessage.MaxLengthForLinks;
+/** @suppress {accessControls} */
+Console.ConsoleViewMessage._MaxTokenizableStringLength = ConsoleModule.ConsoleViewMessage._MaxTokenizableStringLength;
+/** @suppress {accessControls} */
+Console.ConsoleViewMessage._LongStringVisibleLength = ConsoleModule.ConsoleViewMessage._LongStringVisibleLength;
+
+/**
+ * @constructor
+ */
+Console.ConsoleViewport = ConsoleModule.ConsoleViewport.ConsoleViewport;
+
+/**
+ * @interface
+ */
+Console.ConsoleViewportProvider = ConsoleModule.ConsoleViewport.ConsoleViewportProvider;
+
+/**
+ * @interface
+ */
+Console.ConsoleViewportElement = ConsoleModule.ConsoleViewport.ConsoleViewportElement;
+
+/**
+ * @typedef {{messageIndex: number, matchIndex: number}}
+ */
+Console.ConsoleView.RegexMatchRange;
diff --git a/front_end/console/module.json b/front_end/console/module.json
index fea55a5..efc3edf 100644
--- a/front_end/console/module.json
+++ b/front_end/console/module.json
@@ -215,6 +215,8 @@
     ],
     "scripts": [],
     "modules": [
+        "console.js",
+        "console-legacy.js",
         "ConsoleContextSelector.js",
         "ConsoleFilter.js",
         "ConsolePinPane.js",