| Index: third_party/WebKit/Source/devtools/front_end/components/DockController.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/components/DockController.js b/third_party/WebKit/Source/devtools/front_end/components/DockController.js
|
| index f73e34324589c48f1a7aeaadbda0527a52b6db7c..6469699389dea0beba44d235a84d4290e4adf589 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/components/DockController.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/components/DockController.js
|
| @@ -27,39 +27,150 @@
|
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
| -
|
| /**
|
| - * @constructor
|
| - * @extends {WebInspector.Object}
|
| - * @param {boolean} canDock
|
| + * @unrestricted
|
| */
|
| -WebInspector.DockController = function(canDock)
|
| -{
|
| +WebInspector.DockController = class extends WebInspector.Object {
|
| + /**
|
| + * @param {boolean} canDock
|
| + */
|
| + constructor(canDock) {
|
| + super();
|
| this._canDock = canDock;
|
|
|
| - this._closeButton = new WebInspector.ToolbarButton(WebInspector.UIString("Close"), "delete-toolbar-item");
|
| - this._closeButton.addEventListener("click", InspectorFrontendHost.closeWindow.bind(InspectorFrontendHost));
|
| + this._closeButton = new WebInspector.ToolbarButton(WebInspector.UIString('Close'), 'delete-toolbar-item');
|
| + this._closeButton.addEventListener('click', InspectorFrontendHost.closeWindow.bind(InspectorFrontendHost));
|
|
|
| if (!canDock) {
|
| - this._dockSide = WebInspector.DockController.State.Undocked;
|
| - this._updateUI();
|
| - return;
|
| + this._dockSide = WebInspector.DockController.State.Undocked;
|
| + this._updateUI();
|
| + return;
|
| }
|
|
|
| - this._states = [WebInspector.DockController.State.DockedToRight, WebInspector.DockController.State.DockedToBottom, WebInspector.DockController.State.Undocked];
|
| - this._currentDockStateSetting = WebInspector.settings.moduleSetting("currentDockState");
|
| + this._states = [
|
| + WebInspector.DockController.State.DockedToRight, WebInspector.DockController.State.DockedToBottom,
|
| + WebInspector.DockController.State.Undocked
|
| + ];
|
| + this._currentDockStateSetting = WebInspector.settings.moduleSetting('currentDockState');
|
| this._currentDockStateSetting.addChangeListener(this._dockSideChanged, this);
|
| - this._lastDockStateSetting = WebInspector.settings.createSetting("lastDockState", "bottom");
|
| + this._lastDockStateSetting = WebInspector.settings.createSetting('lastDockState', 'bottom');
|
| if (this._states.indexOf(this._currentDockStateSetting.get()) === -1)
|
| - this._currentDockStateSetting.set("right");
|
| + this._currentDockStateSetting.set('right');
|
| if (this._states.indexOf(this._lastDockStateSetting.get()) === -1)
|
| - this._currentDockStateSetting.set("bottom");
|
| + this._currentDockStateSetting.set('bottom');
|
| + }
|
| +
|
| + initialize() {
|
| + if (!this._canDock)
|
| + return;
|
| +
|
| + this._titles = [
|
| + WebInspector.UIString('Dock to right'), WebInspector.UIString('Dock to bottom'),
|
| + WebInspector.UIString('Undock into separate window')
|
| + ];
|
| + this._dockSideChanged();
|
| + }
|
| +
|
| + _dockSideChanged() {
|
| + this.setDockSide(this._currentDockStateSetting.get());
|
| + }
|
| +
|
| + /**
|
| + * @return {string}
|
| + */
|
| + dockSide() {
|
| + return this._dockSide;
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + canDock() {
|
| + return this._canDock;
|
| + }
|
| +
|
| + /**
|
| + * @return {boolean}
|
| + */
|
| + isVertical() {
|
| + return this._dockSide === WebInspector.DockController.State.DockedToRight;
|
| + }
|
| +
|
| + /**
|
| + * @param {string} dockSide
|
| + * @suppressGlobalPropertiesCheck
|
| + */
|
| + setDockSide(dockSide) {
|
| + if (this._states.indexOf(dockSide) === -1)
|
| + dockSide = this._states[0];
|
| +
|
| + if (this._dockSide === dockSide)
|
| + return;
|
| +
|
| + if (this._dockSide)
|
| + this._lastDockStateSetting.set(this._dockSide);
|
| +
|
| + this._savedFocus = document.deepActiveElement();
|
| + var eventData = {from: this._dockSide, to: dockSide};
|
| + this.dispatchEventToListeners(WebInspector.DockController.Events.BeforeDockSideChanged, eventData);
|
| + console.timeStamp('DockController.setIsDocked');
|
| + this._dockSide = dockSide;
|
| + this._currentDockStateSetting.set(dockSide);
|
| + InspectorFrontendHost.setIsDocked(
|
| + dockSide !== WebInspector.DockController.State.Undocked, this._setIsDockedResponse.bind(this, eventData));
|
| + this._updateUI();
|
| + this.dispatchEventToListeners(WebInspector.DockController.Events.DockSideChanged, eventData);
|
| + }
|
| +
|
| + /**
|
| + * @param {{from: string, to: string}} eventData
|
| + */
|
| + _setIsDockedResponse(eventData) {
|
| + this.dispatchEventToListeners(WebInspector.DockController.Events.AfterDockSideChanged, eventData);
|
| + if (this._savedFocus) {
|
| + this._savedFocus.focus();
|
| + this._savedFocus = null;
|
| + }
|
| + }
|
| +
|
| + /**
|
| + * @suppressGlobalPropertiesCheck
|
| + */
|
| + _updateUI() {
|
| + var body = document.body; // Only for main window.
|
| + switch (this._dockSide) {
|
| + case WebInspector.DockController.State.DockedToBottom:
|
| + body.classList.remove('undocked');
|
| + body.classList.remove('dock-to-right');
|
| + body.classList.add('dock-to-bottom');
|
| + break;
|
| + case WebInspector.DockController.State.DockedToRight:
|
| + body.classList.remove('undocked');
|
| + body.classList.add('dock-to-right');
|
| + body.classList.remove('dock-to-bottom');
|
| + break;
|
| + case WebInspector.DockController.State.Undocked:
|
| + body.classList.add('undocked');
|
| + body.classList.remove('dock-to-right');
|
| + body.classList.remove('dock-to-bottom');
|
| + break;
|
| + }
|
| + this._closeButton.setVisible(this._dockSide !== WebInspector.DockController.State.Undocked);
|
| + }
|
| +
|
| + _toggleDockSide() {
|
| + if (this._lastDockStateSetting.get() === this._currentDockStateSetting.get()) {
|
| + var index = this._states.indexOf(this._currentDockStateSetting.get()) || 0;
|
| + this._lastDockStateSetting.set(this._states[(index + 1) % this._states.length]);
|
| + }
|
| + this.setDockSide(this._lastDockStateSetting.get());
|
| + }
|
| };
|
|
|
| WebInspector.DockController.State = {
|
| - DockedToBottom: "bottom",
|
| - DockedToRight: "right",
|
| - Undocked: "undocked"
|
| + DockedToBottom: 'bottom',
|
| + DockedToRight: 'right',
|
| + Undocked: 'undocked'
|
| };
|
|
|
| // Use BeforeDockSideChanged to do something before all the UI bits are updated,
|
| @@ -68,165 +179,40 @@ WebInspector.DockController.State = {
|
|
|
| /** @enum {symbol} */
|
| WebInspector.DockController.Events = {
|
| - BeforeDockSideChanged: Symbol("BeforeDockSideChanged"),
|
| - DockSideChanged: Symbol("DockSideChanged"),
|
| - AfterDockSideChanged: Symbol("AfterDockSideChanged")
|
| -};
|
| -
|
| -WebInspector.DockController.prototype = {
|
| - initialize: function()
|
| - {
|
| - if (!this._canDock)
|
| - return;
|
| -
|
| - this._titles = [WebInspector.UIString("Dock to right"), WebInspector.UIString("Dock to bottom"), WebInspector.UIString("Undock into separate window")];
|
| - this._dockSideChanged();
|
| - },
|
| -
|
| - _dockSideChanged: function()
|
| - {
|
| - this.setDockSide(this._currentDockStateSetting.get());
|
| - },
|
| -
|
| - /**
|
| - * @return {string}
|
| - */
|
| - dockSide: function()
|
| - {
|
| - return this._dockSide;
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - canDock: function()
|
| - {
|
| - return this._canDock;
|
| - },
|
| -
|
| - /**
|
| - * @return {boolean}
|
| - */
|
| - isVertical: function()
|
| - {
|
| - return this._dockSide === WebInspector.DockController.State.DockedToRight;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} dockSide
|
| - * @suppressGlobalPropertiesCheck
|
| - */
|
| - setDockSide: function(dockSide)
|
| - {
|
| - if (this._states.indexOf(dockSide) === -1)
|
| - dockSide = this._states[0];
|
| -
|
| - if (this._dockSide === dockSide)
|
| - return;
|
| -
|
| - if (this._dockSide)
|
| - this._lastDockStateSetting.set(this._dockSide);
|
| -
|
| - this._savedFocus = document.deepActiveElement();
|
| - var eventData = { from: this._dockSide, to: dockSide };
|
| - this.dispatchEventToListeners(WebInspector.DockController.Events.BeforeDockSideChanged, eventData);
|
| - console.timeStamp("DockController.setIsDocked");
|
| - this._dockSide = dockSide;
|
| - this._currentDockStateSetting.set(dockSide);
|
| - InspectorFrontendHost.setIsDocked(dockSide !== WebInspector.DockController.State.Undocked, this._setIsDockedResponse.bind(this, eventData));
|
| - this._updateUI();
|
| - this.dispatchEventToListeners(WebInspector.DockController.Events.DockSideChanged, eventData);
|
| - },
|
| -
|
| - /**
|
| - * @param {{from: string, to: string}} eventData
|
| - */
|
| - _setIsDockedResponse: function(eventData)
|
| - {
|
| - this.dispatchEventToListeners(WebInspector.DockController.Events.AfterDockSideChanged, eventData);
|
| - if (this._savedFocus) {
|
| - this._savedFocus.focus();
|
| - this._savedFocus = null;
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @suppressGlobalPropertiesCheck
|
| - */
|
| - _updateUI: function()
|
| - {
|
| - var body = document.body; // Only for main window.
|
| - switch (this._dockSide) {
|
| - case WebInspector.DockController.State.DockedToBottom:
|
| - body.classList.remove("undocked");
|
| - body.classList.remove("dock-to-right");
|
| - body.classList.add("dock-to-bottom");
|
| - break;
|
| - case WebInspector.DockController.State.DockedToRight:
|
| - body.classList.remove("undocked");
|
| - body.classList.add("dock-to-right");
|
| - body.classList.remove("dock-to-bottom");
|
| - break;
|
| - case WebInspector.DockController.State.Undocked:
|
| - body.classList.add("undocked");
|
| - body.classList.remove("dock-to-right");
|
| - body.classList.remove("dock-to-bottom");
|
| - break;
|
| - }
|
| - this._closeButton.setVisible(this._dockSide !== WebInspector.DockController.State.Undocked);
|
| - },
|
| -
|
| - _toggleDockSide: function()
|
| - {
|
| - if (this._lastDockStateSetting.get() === this._currentDockStateSetting.get()) {
|
| - var index = this._states.indexOf(this._currentDockStateSetting.get()) || 0;
|
| - this._lastDockStateSetting.set(this._states[(index + 1) % this._states.length]);
|
| - }
|
| - this.setDockSide(this._lastDockStateSetting.get());
|
| - },
|
| -
|
| - __proto__: WebInspector.Object.prototype
|
| + BeforeDockSideChanged: Symbol('BeforeDockSideChanged'),
|
| + DockSideChanged: Symbol('DockSideChanged'),
|
| + AfterDockSideChanged: Symbol('AfterDockSideChanged')
|
| };
|
|
|
| /**
|
| - * @constructor
|
| * @implements {WebInspector.ActionDelegate}
|
| + * @unrestricted
|
| */
|
| -WebInspector.DockController.ToggleDockActionDelegate = function()
|
| -{
|
| -};
|
| -
|
| -WebInspector.DockController.ToggleDockActionDelegate.prototype = {
|
| - /**
|
| - * @override
|
| - * @param {!WebInspector.Context} context
|
| - * @param {string} actionId
|
| - * @return {boolean}
|
| - */
|
| - handleAction: function(context, actionId)
|
| - {
|
| - WebInspector.dockController._toggleDockSide();
|
| - return true;
|
| - }
|
| +WebInspector.DockController.ToggleDockActionDelegate = class {
|
| + /**
|
| + * @override
|
| + * @param {!WebInspector.Context} context
|
| + * @param {string} actionId
|
| + * @return {boolean}
|
| + */
|
| + handleAction(context, actionId) {
|
| + WebInspector.dockController._toggleDockSide();
|
| + return true;
|
| + }
|
| };
|
|
|
| /**
|
| - * @constructor
|
| * @implements {WebInspector.ToolbarItem.Provider}
|
| + * @unrestricted
|
| */
|
| -WebInspector.DockController.CloseButtonProvider = function()
|
| -{
|
| -};
|
| -
|
| -WebInspector.DockController.CloseButtonProvider.prototype = {
|
| - /**
|
| - * @override
|
| - * @return {?WebInspector.ToolbarItem}
|
| - */
|
| - item: function()
|
| - {
|
| - return WebInspector.dockController._closeButton;
|
| - }
|
| +WebInspector.DockController.CloseButtonProvider = class {
|
| + /**
|
| + * @override
|
| + * @return {?WebInspector.ToolbarItem}
|
| + */
|
| + item() {
|
| + return WebInspector.dockController._closeButton;
|
| + }
|
| };
|
|
|
| /**
|
|
|