| Index: third_party/WebKit/Source/devtools/front_end/main/OverlayController.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/main/OverlayController.js b/third_party/WebKit/Source/devtools/front_end/main/OverlayController.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e6800cef0ad6b286bec3dfd691eff010347722f4
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/devtools/front_end/main/OverlayController.js
|
| @@ -0,0 +1,43 @@
|
| +// 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.
|
| +/**
|
| + * @unrestricted
|
| + */
|
| +Main.OverlayController = class {
|
| + constructor() {
|
| + Common.moduleSetting('disablePausedStateOverlay').addChangeListener(this._updateAllOverlays, this);
|
| + SDK.targetManager.addModelListener(
|
| + SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerPaused, this._updateOverlay, this);
|
| + SDK.targetManager.addModelListener(
|
| + SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerResumed, this._updateOverlay, this);
|
| + // TODO(dgozman): we should get DebuggerResumed on navigations instead of listening to GlobalObjectCleared.
|
| + SDK.targetManager.addModelListener(
|
| + SDK.DebuggerModel, SDK.DebuggerModel.Events.GlobalObjectCleared, this._updateOverlay, this);
|
| + SDK.targetManager.addEventListener(SDK.TargetManager.Events.SuspendStateChanged, this._updateAllOverlays, this);
|
| + }
|
| +
|
| + _updateAllOverlays() {
|
| + for (var debuggerModel of SDK.targetManager.models(SDK.DebuggerModel))
|
| + this._updateTargetOverlay(debuggerModel);
|
| + }
|
| +
|
| + /**
|
| + * @param {!Common.Event} event
|
| + */
|
| + _updateOverlay(event) {
|
| + this._updateTargetOverlay(/** @type {!SDK.DebuggerModel} */ (event.data));
|
| + }
|
| +
|
| + /**
|
| + * @param {!SDK.DebuggerModel} debuggerModel
|
| + */
|
| + _updateTargetOverlay(debuggerModel) {
|
| + if (!debuggerModel.target().hasBrowserCapability())
|
| + return;
|
| + var message = debuggerModel.isPaused() && !Common.moduleSetting('disablePausedStateOverlay').get() ?
|
| + Common.UIString('Paused in debugger') :
|
| + undefined;
|
| + debuggerModel.target().pageAgent().configureOverlay(SDK.targetManager.allTargetsSuspended(), message);
|
| + }
|
| +};
|
|
|