Modified: trunk/Source/WebInspectorUI/ChangeLog (205412 => 205413)
--- trunk/Source/WebInspectorUI/ChangeLog 2016-09-04 00:24:14 UTC (rev 205412)
+++ trunk/Source/WebInspectorUI/ChangeLog 2016-09-04 00:27:40 UTC (rev 205413)
@@ -1,3 +1,31 @@
+2016-09-03 Devin Rousso <[email protected]>
+
+ Web Inspector: Add keyboard shortcut for switching to last used dock configuration
+ https://bugs.webkit.org/show_bug.cgi?id=110328
+
+ Reviewed by Brian Burg.
+
+ * UserInterface/Base/Main.js:
+ (WebInspector.contentLoaded):
+ (WebInspector.updateDockedState):
+ (WebInspector._togglePreviousDockConfiguration):
+ Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D
+ shortcut to toggle the docked state between the current and previous states.
+
+ (WebInspector._undock):
+ (WebInspector._dockBottom):
+ (WebInspector._dockRight):
+ (WebInspector._updateDockNavigationItems):
+ (WebInspector._dockedResizerMouseDown):
+ (WebInspector._dockedResizerMouseDown.dockedResizerDrag):
+ Make use of new WebInspector.DockConfiguration instead of hardcoded strings.
+
+ (WebInspector.DockConfiguration):
+ Create enum for different WebInspector dock modes:
+ - Right
+ - Bottom
+ - Undocked
+
2016-09-03 Joseph Pecoraro <[email protected]>
Web Inspector: Address ESLint undefined variable errors
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (205412 => 205413)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2016-09-04 00:24:14 UTC (rev 205412)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2016-09-04 00:27:40 UTC (rev 205413)
@@ -316,6 +316,8 @@
this._dockBottomToolbarButton = new WebInspector.ButtonToolbarItem("dock-bottom", WebInspector.UIString("Dock to bottom of window"), null, "Images/DockBottom.svg");
this._dockBottomToolbarButton.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._dockBottom, this);
+ this._togglePreviousDockConfigurationKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Shift, "D", this._togglePreviousDockConfiguration.bind(this));
+
var toolTip;
if (WebInspector.debuggableType === WebInspector.DebuggableType._javascript_)
toolTip = WebInspector.UIString("Restart (%s)").format(this._reloadPageKeyboardShortcut.displayName);
@@ -699,23 +701,31 @@
WebInspector.updateDockedState = function(side)
{
- if (this._dockSide === side)
+ if (this._dockConfiguration === side)
return;
- this._dockSide = side;
+ this._previousDockConfiguration = this._dockConfiguration;
+ if (!this._previousDockConfiguration) {
+ if (side === WebInspector.DockConfiguration.Right)
+ this._previousDockConfiguration = WebInspector.DockConfiguration.Bottom;
+ else
+ this._previousDockConfiguration = WebInspector.DockConfiguration.Right;
+ }
- this.docked = side !== "undocked";
+ this._dockConfiguration = side;
+ this.docked = side !== WebInspector.DockConfiguration.Undocked;
+
this._ignoreToolbarModeDidChangeEvents = true;
- if (side === "bottom") {
- document.body.classList.add("docked", "bottom");
- document.body.classList.remove("window-inactive", "right");
- } else if (side === "right") {
- document.body.classList.add("docked", "right");
- document.body.classList.remove("window-inactive", "bottom");
+ if (side === WebInspector.DockConfiguration.Bottom) {
+ document.body.classList.add("docked", WebInspector.DockConfiguration.Bottom);
+ document.body.classList.remove("window-inactive", WebInspector.DockConfiguration.Right);
+ } else if (side === WebInspector.DockConfiguration.Right) {
+ document.body.classList.add("docked", WebInspector.DockConfiguration.Right);
+ document.body.classList.remove("window-inactive", WebInspector.DockConfiguration.Bottom);
} else
- document.body.classList.remove("docked", "right", "bottom");
+ document.body.classList.remove("docked", WebInspector.DockConfiguration.Right, WebInspector.DockConfiguration.Bottom);
this._ignoreToolbarModeDidChangeEvents = false;
@@ -1479,26 +1489,31 @@
WebInspector._undock = function(event)
{
- InspectorFrontendHost.requestSetDockSide("undocked");
+ InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Undocked);
};
WebInspector._dockBottom = function(event)
{
- InspectorFrontendHost.requestSetDockSide("bottom");
+ InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Bottom);
};
WebInspector._dockRight = function(event)
{
- InspectorFrontendHost.requestSetDockSide("right");
+ InspectorFrontendHost.requestSetDockSide(WebInspector.DockConfiguration.Right);
};
+WebInspector._togglePreviousDockConfiguration = function(event)
+{
+ InspectorFrontendHost.requestSetDockSide(this._previousDockConfiguration);
+};
+
WebInspector._updateDockNavigationItems = function()
{
if (this._dockingAvailable || this.docked) {
this._closeToolbarButton.hidden = !this.docked;
- this._undockToolbarButton.hidden = this._dockSide === "undocked";
- this._dockBottomToolbarButton.hidden = this._dockSide === "bottom";
- this._dockRightToolbarButton.hidden = this._dockSide === "right";
+ this._undockToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Undocked;
+ this._dockBottomToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Bottom;
+ this._dockRightToolbarButton.hidden = this._dockConfiguration === WebInspector.DockConfiguration.Right;
} else {
this._closeToolbarButton.hidden = true;
this._undockToolbarButton.hidden = true;
@@ -1621,7 +1636,7 @@
if (event.ctrlKey)
return;
- if (this._dockSide === "right")
+ if (this._dockConfiguration === WebInspector.DockConfiguration.Right)
return;
if (this.docked)
@@ -1643,9 +1658,9 @@
!event.target.classList.contains("flexible-space") && !event.target.classList.contains("item-section"))
return;
- var windowProperty = this._dockSide === "bottom" ? "innerHeight" : "innerWidth";
- var eventScreenProperty = this._dockSide === "bottom" ? "screenY" : "screenX";
- var eventClientProperty = this._dockSide === "bottom" ? "clientY" : "clientX";
+ let windowProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "innerHeight" : "innerWidth";
+ let eventScreenProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "screenY" : "screenX";
+ let eventClientProperty = this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "clientY" : "clientX";
var resizerElement = event.target;
var firstClientPosition = event[eventClientProperty];
@@ -1677,7 +1692,7 @@
// width or height should be the same in device pixels regardless of the document zoom.
dimension *= this._zoomFactor();
- if (this._dockSide === "bottom")
+ if (this._dockConfiguration === WebInspector.DockConfiguration.Bottom)
InspectorFrontendHost.setAttachedWindowHeight(dimension);
else
InspectorFrontendHost.setAttachedWindowWidth(dimension);
@@ -1691,7 +1706,7 @@
WebInspector.elementDragEnd(event);
}
- WebInspector.elementDragStart(resizerElement, dockedResizerDrag.bind(this), dockedResizerDragEnd.bind(this), event, this._dockSide === "bottom" ? "row-resize" : "col-resize");
+ WebInspector.elementDragStart(resizerElement, dockedResizerDrag.bind(this), dockedResizerDragEnd.bind(this), event, this._dockConfiguration === WebInspector.DockConfiguration.Bottom ? "row-resize" : "col-resize");
};
WebInspector._moveWindowMouseDown = function(event)
@@ -2491,3 +2506,9 @@
WebInspector.showRepresentedObject(representedObject, dialog.cookie);
};
+
+WebInspector.DockConfiguration = {
+ Right: "right",
+ Bottom: "bottom",
+ Undocked: "undocked",
+};