[global] Remaps SDK.multiTargetNetworkManager

[email protected]

Bug: 1058320
Change-Id: Icb43c143ef0ca14bd3c9280cc5096862c892d030
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2173373
Commit-Queue: Tim van der Lippe <[email protected]>
Reviewed-by: Paul Lewis <[email protected]>
diff --git a/front_end/emulation/DeviceModeModel.js b/front_end/emulation/DeviceModeModel.js
index de8eb5e..5af5226 100644
--- a/front_end/emulation/DeviceModeModel.js
+++ b/front_end/emulation/DeviceModeModel.js
@@ -610,7 +610,7 @@
    * @param {string} userAgent
    */
   _applyUserAgent(userAgent) {
-    self.SDK.multitargetNetworkManager.setUserAgentOverride(userAgent);
+    SDK.NetworkManager.MultitargetNetworkManager.instance().setUserAgentOverride(userAgent);
   }
 
   /**
diff --git a/front_end/extensions/ExtensionServer.js b/front_end/extensions/ExtensionServer.js
index 839859c..5a31fde 100644
--- a/front_end/extensions/ExtensionServer.js
+++ b/front_end/extensions/ExtensionServer.js
@@ -263,7 +263,7 @@
       }
     }
 
-    self.SDK.multitargetNetworkManager.setExtraHTTPHeaders(allHeaders);
+    SDK.NetworkManager.MultitargetNetworkManager.instance().setExtraHTTPHeaders(allHeaders);
   }
 
   /**
@@ -455,7 +455,7 @@
   _onReload(message) {
     const options = /** @type {!ExtensionReloadOptions} */ (message.options || {});
 
-    self.SDK.multitargetNetworkManager.setUserAgentOverride(
+    SDK.NetworkManager.MultitargetNetworkManager.instance().setUserAgentOverride(
         typeof options.userAgent === 'string' ? options.userAgent : '');
     let injectedScript;
     if (options.injectedScript) {
diff --git a/front_end/lighthouse/LighthousePanel.js b/front_end/lighthouse/LighthousePanel.js
index 72b8fb7..be39511 100644
--- a/front_end/lighthouse/LighthousePanel.js
+++ b/front_end/lighthouse/LighthousePanel.js
@@ -345,7 +345,7 @@
         outlineEnabled: emulationModel.deviceOutlineSetting().get(),
         toolbarControlsEnabled: emulationModel.toolbarControlsEnabledSetting().get()
       },
-      network: {conditions: self.SDK.multitargetNetworkManager.networkConditions()}
+      network: {conditions: SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions()}
     };
 
     emulationModel.toolbarControlsEnabledSetting().set(false);
@@ -380,7 +380,8 @@
       emulationModel.enabledSetting().set(this._stateBefore.emulation.enabled);
       emulationModel.deviceOutlineSetting().set(this._stateBefore.emulation.outlineEnabled);
       emulationModel.toolbarControlsEnabledSetting().set(this._stateBefore.emulation.toolbarControlsEnabled);
-      self.SDK.multitargetNetworkManager.setNetworkConditions(this._stateBefore.network.conditions);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(
+          this._stateBefore.network.conditions);
       delete this._stateBefore;
     }
 
diff --git a/front_end/main/MainImpl.js b/front_end/main/MainImpl.js
index d037eb5..3d5245e 100644
--- a/front_end/main/MainImpl.js
+++ b/front_end/main/MainImpl.js
@@ -220,7 +220,7 @@
     UI.Tooltip.Tooltip.installHandler(document);
     self.SDK.consoleModel = SDK.ConsoleModel.ConsoleModel.instance();
     self.Components.dockController = new Components.DockController.DockController(canDock);
-    self.SDK.multitargetNetworkManager = new SDK.NetworkManager.MultitargetNetworkManager();
+    self.SDK.multitargetNetworkManager = SDK.NetworkManager.MultitargetNetworkManager.instance({forceNew: true});
     self.SDK.domDebuggerManager = new SDK.DOMDebuggerModel.DOMDebuggerManager();
     SDK.SDKModel.TargetManager.instance().addEventListener(
         SDK.SDKModel.Events.SuspendStateChanged, this._onSuspendStateChanged.bind(this));
diff --git a/front_end/mobile_throttling/MobileThrottlingSelector.js b/front_end/mobile_throttling/MobileThrottlingSelector.js
index 9e0f82e..3e42360 100644
--- a/front_end/mobile_throttling/MobileThrottlingSelector.js
+++ b/front_end/mobile_throttling/MobileThrottlingSelector.js
@@ -17,7 +17,7 @@
     this._populateCallback = populateCallback;
     this._selectCallback = selectCallback;
     throttlingManager().addEventListener(Events.RateChanged, this._conditionsChanged, this);
-    self.SDK.multitargetNetworkManager.addEventListener(
+    SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
         SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, this._conditionsChanged, this);
     /** @type {!ConditionsList} */
     this._options = this._populateOptions();
@@ -28,7 +28,7 @@
    * @param {!Conditions} conditions
    */
   optionSelected(conditions) {
-    self.SDK.multitargetNetworkManager.setNetworkConditions(conditions.network);
+    SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(conditions.network);
     throttlingManager().setCPUThrottlingRate(conditions.cpuThrottlingRate);
   }
 
@@ -43,7 +43,7 @@
   }
 
   _conditionsChanged() {
-    const networkConditions = self.SDK.multitargetNetworkManager.networkConditions();
+    const networkConditions = SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions();
     const cpuThrottlingRate = throttlingManager().cpuThrottlingRate();
     for (let index = 0; index < this._options.length; ++index) {
       const option = this._options[index];
diff --git a/front_end/mobile_throttling/NetworkPanelIndicator.js b/front_end/mobile_throttling/NetworkPanelIndicator.js
index 9e432d2..8504ab0 100644
--- a/front_end/mobile_throttling/NetworkPanelIndicator.js
+++ b/front_end/mobile_throttling/NetworkPanelIndicator.js
@@ -12,7 +12,7 @@
     if (!self.UI.inspectorView.hasPanel('network')) {
       return;
     }
-    const manager = self.SDK.multitargetNetworkManager;
+    const manager = SDK.NetworkManager.MultitargetNetworkManager.instance();
     manager.addEventListener(SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, updateVisibility);
     manager.addEventListener(
         SDK.NetworkManager.MultitargetNetworkManager.Events.BlockedPatternsChanged, updateVisibility);
@@ -24,7 +24,7 @@
       if (manager.isThrottling()) {
         icon = UI.Icon.Icon.create('smallicon-warning');
         icon.title = Common.UIString.UIString('Network throttling is enabled');
-      } else if (self.SDK.multitargetNetworkManager.isIntercepting()) {
+      } else if (SDK.NetworkManager.MultitargetNetworkManager.instance().isIntercepting()) {
         icon = UI.Icon.Icon.create('smallicon-warning');
         icon.title = Common.UIString.UIString('Requests may be rewritten by local overrides');
       } else if (manager.isBlocking()) {
diff --git a/front_end/mobile_throttling/NetworkThrottlingSelector.js b/front_end/mobile_throttling/NetworkThrottlingSelector.js
index ce09aff..24f3ee2 100644
--- a/front_end/mobile_throttling/NetworkThrottlingSelector.js
+++ b/front_end/mobile_throttling/NetworkThrottlingSelector.js
@@ -18,8 +18,10 @@
     this._selectCallback = selectCallback;
     this._customNetworkConditionsSetting = customNetworkConditionsSetting;
     this._customNetworkConditionsSetting.addChangeListener(this._populateOptions, this);
-    self.SDK.multitargetNetworkManager.addEventListener(
-        SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, this._networkConditionsChanged, this);
+    SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
+        SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, () => {
+          this._networkConditionsChanged();
+        }, this);
     /** @type {!Array<?SDK.NetworkManager.Conditions>} */
     this._options;
     this._populateOptions();
@@ -34,7 +36,7 @@
    * @param {!SDK.NetworkManager.Conditions} conditions
    */
   optionSelected(conditions) {
-    self.SDK.multitargetNetworkManager.setNetworkConditions(conditions);
+    SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(conditions);
   }
 
   _populateOptions() {
@@ -59,7 +61,7 @@
    * @return {boolean} returns false if selected condition no longer exists
    */
   _networkConditionsChanged() {
-    const value = self.SDK.multitargetNetworkManager.networkConditions();
+    const value = SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions();
     for (let index = 0; index < this._options.length; ++index) {
       const option = this._options[index];
       if (option && option.download === value.download && option.upload === value.upload &&
diff --git a/front_end/mobile_throttling/ThrottlingManager.js b/front_end/mobile_throttling/ThrottlingManager.js
index 6130a0c..85e5eaa 100644
--- a/front_end/mobile_throttling/ThrottlingManager.js
+++ b/front_end/mobile_throttling/ThrottlingManager.js
@@ -29,10 +29,11 @@
     /** @type {!SDK.NetworkManager.Conditions} */
     this._lastNetworkThrottlingConditions;
 
-    self.SDK.multitargetNetworkManager.addEventListener(
+    SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
         SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, () => {
           this._lastNetworkThrottlingConditions = this._currentNetworkThrottlingConditions;
-          this._currentNetworkThrottlingConditions = self.SDK.multitargetNetworkManager.networkConditions();
+          this._currentNetworkThrottlingConditions =
+              SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions();
         });
 
     SDK.SDKModel.TargetManager.instance().observeModels(SDK.EmulationModel.EmulationModel, this);
@@ -102,25 +103,29 @@
     const checkbox = new UI.Toolbar.ToolbarCheckbox(
         Common.UIString.UIString('Offline'), Common.UIString.UIString('Force disconnected from network'),
         forceOffline.bind(this));
-    self.SDK.multitargetNetworkManager.addEventListener(
+    SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
         SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, networkConditionsChanged);
     checkbox.setChecked(
-        self.SDK.multitargetNetworkManager.networkConditions() === SDK.NetworkManager.OfflineConditions);
+        SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions() ===
+        SDK.NetworkManager.OfflineConditions);
 
     /**
      * @this {!ThrottlingManager}
      */
     function forceOffline() {
       if (checkbox.checked()) {
-        self.SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.OfflineConditions);
+        SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(
+            SDK.NetworkManager.OfflineConditions);
       } else {
-        self.SDK.multitargetNetworkManager.setNetworkConditions(this._lastNetworkThrottlingConditions);
+        SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(
+            this._lastNetworkThrottlingConditions);
       }
     }
 
     function networkConditionsChanged() {
       checkbox.setChecked(
-          self.SDK.multitargetNetworkManager.networkConditions() === SDK.NetworkManager.OfflineConditions);
+          SDK.NetworkManager.MultitargetNetworkManager.instance().networkConditions() ===
+          SDK.NetworkManager.OfflineConditions);
     }
 
     return checkbox;
@@ -272,19 +277,21 @@
    */
   handleAction(context, actionId) {
     if (actionId === 'network-conditions.network-online') {
-      self.SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.NoThrottlingConditions);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(
+          SDK.NetworkManager.NoThrottlingConditions);
       return true;
     }
     if (actionId === 'network-conditions.network-low-end-mobile') {
-      self.SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.Slow3GConditions);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(SDK.NetworkManager.Slow3GConditions);
       return true;
     }
     if (actionId === 'network-conditions.network-mid-tier-mobile') {
-      self.SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.Fast3GConditions);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(SDK.NetworkManager.Fast3GConditions);
       return true;
     }
     if (actionId === 'network-conditions.network-offline') {
-      self.SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.OfflineConditions);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setNetworkConditions(
+          SDK.NetworkManager.OfflineConditions);
       return true;
     }
     return false;
diff --git a/front_end/network/BlockedURLsPane.js b/front_end/network/BlockedURLsPane.js
index e981f2b..f297ea0 100644
--- a/front_end/network/BlockedURLsPane.js
+++ b/front_end/network/BlockedURLsPane.js
@@ -18,9 +18,10 @@
     this.registerRequiredCSS('network/blockedURLsPane.css');
 
     _instance = this;
-    this._manager = self.SDK.multitargetNetworkManager;
-    this._manager.addEventListener(
-        SDK.NetworkManager.MultitargetNetworkManager.Events.BlockedPatternsChanged, this._update, this);
+    this._manager = SDK.NetworkManager.MultitargetNetworkManager.instance();
+    this._manager.addEventListener(SDK.NetworkManager.MultitargetNetworkManager.Events.BlockedPatternsChanged, () => {
+      this._update();
+    }, this);
 
     this._toolbar = new UI.Toolbar.Toolbar('', this.contentElement);
     this._enabledCheckbox = new UI.Toolbar.ToolbarCheckbox(
@@ -190,7 +191,7 @@
   }
 
   /**
-   * @return {!Promise<?>}
+   * @return {!Promise<void>}
    */
   _update() {
     const enabled = this._manager.blockingEnabled();
diff --git a/front_end/network/NetworkConfigView.js b/front_end/network/NetworkConfigView.js
index 8e2ad3c..c53a8ad 100644
--- a/front_end/network/NetworkConfigView.js
+++ b/front_end/network/NetworkConfigView.js
@@ -149,7 +149,7 @@
       if (autoCheckbox.checked) {
         return;
       }
-      self.SDK.multitargetNetworkManager.setCustomUserAgentOverride(customUserAgentSetting.get());
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(customUserAgentSetting.get());
     });
     const customUserAgentSelectBox = section.createChild('div', 'network-config-ua-custom');
     autoCheckbox.addEventListener('change', userAgentSelectBoxChanged);
@@ -167,7 +167,7 @@
       customSelectAndInput.input.disabled = !useCustomUA;
       customSelectAndInput.error.hidden = !useCustomUA;
       const customUA = useCustomUA ? customUserAgentSetting.get() : '';
-      self.SDK.multitargetNetworkManager.setCustomUserAgentOverride(customUA);
+      SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(customUA);
     }
   }
 }
diff --git a/front_end/network/NetworkLogView.js b/front_end/network/NetworkLogView.js
index 7666587..3495e03 100644
--- a/front_end/network/NetworkLogView.js
+++ b/front_end/network/NetworkLogView.js
@@ -1438,7 +1438,7 @@
 
     if (request) {
       const maxBlockedURLLength = 20;
-      const manager = self.SDK.multitargetNetworkManager;
+      const manager = SDK.NetworkManager.MultitargetNetworkManager.instance();
       let patterns = manager.blockedPatterns();
 
       /**
@@ -1570,13 +1570,13 @@
 
   _clearBrowserCache() {
     if (confirm(Common.UIString.UIString('Are you sure you want to clear browser cache?'))) {
-      self.SDK.multitargetNetworkManager.clearBrowserCache();
+      SDK.NetworkManager.MultitargetNetworkManager.instance().clearBrowserCache();
     }
   }
 
   _clearBrowserCookies() {
     if (confirm(Common.UIString.UIString('Are you sure you want to clear browser cookies?'))) {
-      self.SDK.multitargetNetworkManager.clearBrowserCookies();
+      SDK.NetworkManager.MultitargetNetworkManager.instance().clearBrowserCookies();
     }
   }
 
diff --git a/front_end/persistence/NetworkPersistenceManager.js b/front_end/persistence/NetworkPersistenceManager.js
index 33bac09..bfd5b96 100644
--- a/front_end/persistence/NetworkPersistenceManager.js
+++ b/front_end/persistence/NetworkPersistenceManager.js
@@ -392,7 +392,8 @@
      */
     function innerUpdateInterceptionPatterns() {
       if (!this._active) {
-        return self.SDK.multitargetNetworkManager.setInterceptionHandlerForPatterns([], this._interceptionHandlerBound);
+        return SDK.NetworkManager.MultitargetNetworkManager.instance().setInterceptionHandlerForPatterns(
+            [], this._interceptionHandlerBound);
       }
       const patterns = new Set();
       const indexFileName = 'index.html';
@@ -404,7 +405,7 @@
         }
       }
 
-      return self.SDK.multitargetNetworkManager.setInterceptionHandlerForPatterns(
+      return SDK.NetworkManager.MultitargetNetworkManager.instance().setInterceptionHandlerForPatterns(
           Array.from(patterns).map(
               pattern =>
                   ({urlPattern: pattern, interceptionStage: Protocol.Network.InterceptionStage.HeadersReceived})),
diff --git a/front_end/sdk/CompilerSourceMappingContentProvider.js b/front_end/sdk/CompilerSourceMappingContentProvider.js
index be0761d..e44ec90 100644
--- a/front_end/sdk/CompilerSourceMappingContentProvider.js
+++ b/front_end/sdk/CompilerSourceMappingContentProvider.js
@@ -34,6 +34,8 @@
 import * as Common from '../common/common.js';  // eslint-disable-line no-unused-vars
 import * as TextUtils from '../text_utils/text_utils.js';
 
+import {MultitargetNetworkManager} from './NetworkManager.js';
+
 /**
  * @implements {TextUtils.ContentProvider.ContentProvider}
  * @unrestricted
@@ -78,7 +80,7 @@
    */
   requestContent() {
     return new Promise(resolve => {
-      self.SDK.multitargetNetworkManager.loadResource(
+      MultitargetNetworkManager.instance().loadResource(
           this._sourceURL, (success, _headers, content, errorDescription) => {
             if (!success) {
               const error = ls`Could not load content for ${this._sourceURL} (${errorDescription.message})`;
diff --git a/front_end/sdk/NetworkManager.js b/front_end/sdk/NetworkManager.js
index 37ae75e..40384ba 100644
--- a/front_end/sdk/NetworkManager.js
+++ b/front_end/sdk/NetworkManager.js
@@ -811,7 +811,7 @@
   requestIntercepted(
       interceptionId, request, frameId, resourceType, isNavigationRequest, isDownload, redirectUrl, authChallenge,
       responseErrorReason, responseStatusCode, responseHeaders, requestId) {
-    self.SDK.multitargetNetworkManager._requestIntercepted(new InterceptedRequest(
+    MultitargetNetworkManager.instance()._requestIntercepted(new InterceptedRequest(
         this._manager.target().networkAgent(), interceptionId, request, frameId, resourceType, isNavigationRequest,
         isDownload, redirectUrl, authChallenge, responseErrorReason, responseStatusCode, responseHeaders, requestId));
   }
@@ -908,7 +908,7 @@
    * @return {?NetworkRequest}
    */
   _maybeAdoptMainResourceRequest(requestId) {
-    const request = self.SDK.multitargetNetworkManager._inflightMainResourceRequests.get(requestId);
+    const request = MultitargetNetworkManager.instance()._inflightMainResourceRequests.get(requestId);
     if (!request) {
       return null;
     }
@@ -930,7 +930,8 @@
     // The following relies on the fact that loaderIds and requestIds are
     // globally unique and that the main request has them equal.
     if (networkRequest.loaderId === networkRequest.requestId()) {
-      self.SDK.multitargetNetworkManager._inflightMainResourceRequests.set(networkRequest.requestId(), networkRequest);
+      MultitargetNetworkManager.instance()._inflightMainResourceRequests.set(
+          networkRequest.requestId(), networkRequest);
     }
 
     this._manager.dispatchEventToListeners(Events.RequestStarted, networkRequest);
@@ -965,7 +966,7 @@
     this._manager.dispatchEventToListeners(Events.RequestFinished, networkRequest);
     this._inflightRequestsById.delete(networkRequest.requestId());
     delete this._inflightRequestsByURL[networkRequest.url()];
-    self.SDK.multitargetNetworkManager._inflightMainResourceRequests.delete(networkRequest.requestId());
+    MultitargetNetworkManager.instance()._inflightMainResourceRequests.delete(networkRequest.requestId());
 
     if (shouldReportCorbBlocking) {
       const message = Common.UIString.UIString(
@@ -1010,6 +1011,11 @@
 }
 
 /**
+ * @type {?MultitargetNetworkManager}
+ */
+let multiTargetNetworkManagerInstance;
+
+/**
  * @implements {SDKModelObserver<!NetworkManager>}
  * @unrestricted
  */
@@ -1039,6 +1045,19 @@
   }
 
   /**
+   * @param {{forceNew: ?boolean}} opts
+   * @return {!MultitargetNetworkManager}
+   */
+  static instance(opts = {forceNew: null}) {
+    const {forceNew} = opts;
+    if (!multiTargetNetworkManagerInstance || forceNew) {
+      multiTargetNetworkManagerInstance = new MultitargetNetworkManager();
+    }
+
+    return multiTargetNetworkManagerInstance;
+  }
+
+  /**
    * @param {string} uaString
    * @return {string}
    */
diff --git a/front_end/sdk/SourceMap.js b/front_end/sdk/SourceMap.js
index a63d1f4..3bcaf99 100644
--- a/front_end/sdk/SourceMap.js
+++ b/front_end/sdk/SourceMap.js
@@ -35,6 +35,7 @@
 import * as TextUtils from '../text_utils/text_utils.js';
 
 import {CompilerSourceMappingContentProvider} from './CompilerSourceMappingContentProvider.js';
+import {MultitargetNetworkManager} from './NetworkManager.js';
 
 /**
  * @interface
@@ -233,14 +234,15 @@
    */
   static async load(sourceMapURL, compiledURL) {
     let content = await new Promise((resolve, reject) => {
-      self.SDK.multitargetNetworkManager.loadResource(sourceMapURL, (success, _headers, content, errorDescription) => {
-        if (!content || !success) {
-          const error = new Error(ls`Could not load content for ${sourceMapURL}: ${errorDescription.message}`);
-          reject(error);
-        } else {
-          resolve(content);
-        }
-      });
+      MultitargetNetworkManager.instance().loadResource(
+          sourceMapURL, (success, _headers, content, errorDescription) => {
+            if (!content || !success) {
+              const error = new Error(ls`Could not load content for ${sourceMapURL}: ${errorDescription.message}`);
+              reject(error);
+            } else {
+              resolve(content);
+            }
+          });
     });
 
     if (content.slice(0, 3) === ')]}') {
diff --git a/front_end/security/SecurityPanel.js b/front_end/security/SecurityPanel.js
index 60be771..538e389 100644
--- a/front_end/security/SecurityPanel.js
+++ b/front_end/security/SecurityPanel.js
@@ -57,7 +57,7 @@
   static createCertificateViewerButtonForOrigin(text, origin) {
     const certificateButton = UI.UIUtils.createTextButton(text, async e => {
       e.consume();
-      const names = await self.SDK.multitargetNetworkManager.getCertificate(origin);
+      const names = await SDK.NetworkManager.MultitargetNetworkManager.instance().getCertificate(origin);
       if (names.length > 0) {
         Host.InspectorFrontendHost.InspectorFrontendHostInstance.showCertificateViewer(names);
       }
diff --git a/front_end/timeline/TimelinePanel.js b/front_end/timeline/TimelinePanel.js
index 66b2c10..076c6d0 100644
--- a/front_end/timeline/TimelinePanel.js
+++ b/front_end/timeline/TimelinePanel.js
@@ -283,7 +283,7 @@
         Common.Settings.Settings.instance().createSetting('timelineShowSettingsToolbar', false);
     this._showSettingsPaneButton = new UI.Toolbar.ToolbarSettingToggle(
         this._showSettingsPaneSetting, 'largeicon-settings-gear', Common.UIString.UIString('Capture settings'));
-    self.SDK.multitargetNetworkManager.addEventListener(
+    SDK.NetworkManager.MultitargetNetworkManager.instance().addEventListener(
         SDK.NetworkManager.MultitargetNetworkManager.Events.ConditionsChanged, this._updateShowSettingsToolbarButton,
         this);
     MobileThrottling.ThrottlingManager.throttlingManager().addEventListener(
@@ -506,7 +506,7 @@
     if (MobileThrottling.ThrottlingManager.throttlingManager().cpuThrottlingRate() !== 1) {
       messages.push(Common.UIString.UIString('- CPU throttling is enabled'));
     }
-    if (self.SDK.multitargetNetworkManager.isThrottling()) {
+    if (SDK.NetworkManager.MultitargetNetworkManager.instance().isThrottling()) {
       messages.push(Common.UIString.UIString('- Network throttling is enabled'));
     }
     if (this._captureLayersAndPicturesSetting.get()) {