Diff
Modified: trunk/Source/WebCore/ChangeLog (141248 => 141249)
--- trunk/Source/WebCore/ChangeLog 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/ChangeLog 2013-01-30 11:59:44 UTC (rev 141249)
@@ -1,3 +1,38 @@
+2013-01-30 Vladislav Kaznacheev <[email protected]>
+
+ Web Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
+ https://bugs.webkit.org/show_bug.cgi?id=108181
+
+ Reviewed by Pavel Feldman.
+
+ Sidebar aspect ratio proved to be a better trigger for the sidebar layout change that the docking mode.
+ Moved the sidebar layout handling completely into WebInspector.SidebarView which now only accepts
+ two positions: Start (corresponding to Left or Top) and End (corresponding to Right or Bottom).
+
+ No new tests.
+
+ * inspector/front-end/CSSNamedFlowCollectionsView.js:
+ (WebInspector.CSSNamedFlowCollectionsView):
+ * inspector/front-end/DockController.js:
+ (WebInspector.DockController.prototype._updateUI):
+ (WebInspector.DockController.prototype._toggleDockState):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.onResize):
+ * inspector/front-end/FileSystemView.js:
+ (WebInspector.FileSystemView):
+ * inspector/front-end/MemoryStatistics.js:
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.createSidebarView):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ * inspector/front-end/Settings.js:
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/SidebarView.js:
+ (WebInspector.SidebarView):
+ (WebInspector.SidebarView.prototype.setAutoOrientation):
+ (WebInspector.SidebarView.prototype._updateSidebarPosition):
+ (WebInspector.SidebarView.prototype.onResize):
+
2013-01-30 Patrick Gansterer <[email protected]>
Port SharedTimerWin.cpp to WinCE
@@ -2487,6 +2522,18 @@
* xml/XSLTProcessor.idl:
Add exceptions to binding integrity checks to IDL.
+2013-01-28 Alpha Lam <[email protected]>
+
+ [chromium] Build fix.
+
+ Unreviewed build fix. Remove the use of SkMutex from DiscardablePixelRef.
+
+ * platform/graphics/chromium/DiscardablePixelRef.cpp:
+ (WebCore::DiscardablePixelRefAllocator::allocPixelRef):
+ (WebCore::DiscardablePixelRef::DiscardablePixelRef):
+ * platform/graphics/chromium/DiscardablePixelRef.h:
+ (DiscardablePixelRef):
+
2013-01-28 Benjamin Poulain <[email protected]>
String constructed from Literals should be non-empty
Modified: trunk/Source/WebCore/inspector/front-end/CSSNamedFlowCollectionsView.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/CSSNamedFlowCollectionsView.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/CSSNamedFlowCollectionsView.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -33,7 +33,7 @@
*/
WebInspector.CSSNamedFlowCollectionsView = function()
{
- WebInspector.SidebarView.call(this, WebInspector.SidebarView.SidebarPosition.Left);
+ WebInspector.SidebarView.call(this, WebInspector.SidebarView.SidebarPosition.Start);
this.registerRequiredCSS("cssNamedFlows.css");
this._namedFlows = {};
@@ -46,11 +46,11 @@
this._statusElement = document.createElement("span");
this._statusElement.textContent = WebInspector.UIString("CSS Named Flows");
- var sidebarHeader = this._leftElement.createChild("div", "tabbed-pane-header selected sidebar-header")
+ var sidebarHeader = this.firstElement().createChild("div", "tabbed-pane-header selected sidebar-header");
var tab = sidebarHeader.createChild("div", "tabbed-pane-header-tab");
tab.createChild("span", "tabbed-pane-header-tab-title").textContent = WebInspector.UIString("CSS Named Flows");
- this._sidebarContentElement = this._leftElement.createChild("div", "sidebar-content outline-disclosure");
+ this._sidebarContentElement = this.firstElement().createChild("div", "sidebar-content outline-disclosure");
this._flowListElement = this._sidebarContentElement.createChild("ol");
this._flowTree = new TreeOutline(this._flowListElement);
@@ -60,7 +60,7 @@
this._tabbedPane = new WebInspector.TabbedPane();
this._tabbedPane.closeableTabs = true;
- this._tabbedPane.show(this._rightElement);
+ this._tabbedPane.show(this.secondElement());
}
WebInspector.CSSNamedFlowCollectionsView.prototype = {
Modified: trunk/Source/WebCore/inspector/front-end/DockController.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/DockController.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/DockController.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -30,7 +30,6 @@
/**
* @constructor
- * @extends {WebInspector.Object}
*/
WebInspector.DockController = function()
{
@@ -51,10 +50,6 @@
Undocked: "undocked"
}
-WebInspector.DockController.EventTypes = {
- StateChanged: "StateChanged"
-}
-
WebInspector.DockController.prototype = {
/**
* @return {Element}
@@ -65,14 +60,6 @@
},
/**
- * @return {string}
- */
- dockSide: function()
- {
- return this._dockSide;
- },
-
- /**
* @param {string} dockSide
*/
setDockSide: function(dockSide)
@@ -154,8 +141,6 @@
}
this._decorateButtonForTargetState(this._dockToggleButton, lastState);
this._decorateButtonForTargetState(this._dockToggleButtonOption, sides[0]);
-
- this.dispatchEventToListeners(WebInspector.DockController.EventTypes.StateChanged, this._dockSide);
},
/**
@@ -197,9 +182,7 @@
case "undock": action = "" break;
}
InspectorFrontendHost.requestSetDockSide(action);
- },
-
- __proto__: WebInspector.Object.prototype
+ }
}
/**
Modified: trunk/Source/WebCore/inspector/front-end/ElementsPanel.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/ElementsPanel.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/ElementsPanel.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -47,13 +47,12 @@
this.registerRequiredCSS("textPrompt.css");
this.setHideOnDetach();
- WebInspector.dockController.addEventListener(WebInspector.DockController.EventTypes.StateChanged, this._onDockStateChanged.bind(this));
-
const initialSidebarWidth = 325;
const minimumContentWidthPercent = 34;
const initialSidebarHeight = 325;
const minimumContentHeightPercent = 34;
- this.createSidebarView(this.element, this._sidebarPosition(), initialSidebarWidth, initialSidebarHeight);
+ this.createSidebarView(this.element, WebInspector.SidebarView.SidebarPosition.End, initialSidebarWidth, initialSidebarHeight);
+ this.splitView.setAutoOrientation(WebInspector.experimentsSettings.elementsPanelSingleColumn.isEnabled());
this.splitView.setMinimumSidebarWidth(Preferences.minElementsSidebarWidth);
this.splitView.setMinimumMainWidthPercent(minimumContentWidthPercent);
this.splitView.setMinimumSidebarHeight(Preferences.minElementsSidebarHeight);
@@ -164,29 +163,9 @@
{
this.treeOutline.updateSelection();
this.updateBreadcrumbSizes();
- if (WebInspector.dockController.dockSide() !== WebInspector.DockController.State.Undocked)
- this.splitView.setSidebarPosition(this._sidebarPosition());
},
- _onDockStateChanged: function()
- {
- if (WebInspector.dockController.dockSide() === WebInspector.DockController.State.Undocked)
- this.splitView.setSidebarPosition(this._sidebarPosition());
- },
-
/**
- * @return {string}
- */
- _sidebarPosition: function()
- {
- if (WebInspector.experimentsSettings.elementsPanelSingleColumn.isEnabled() &&
- WebInspector.dockController.dockSide() === WebInspector.DockController.State.DockedToRight)
- return WebInspector.SidebarView.SidebarPosition.Bottom;
-
- return WebInspector.SidebarView.SidebarPosition.Right;
- },
-
- /**
* @param {DOMAgent.NodeId} nodeId
* @param {string} pseudoClass
* @param {boolean} enable
Modified: trunk/Source/WebCore/inspector/front-end/FileSystemView.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/FileSystemView.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/FileSystemView.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -35,7 +35,7 @@
*/
WebInspector.FileSystemView = function(fileSystem)
{
- WebInspector.SidebarView.call(this, WebInspector.SidebarView.SidebarPosition.Left, "FileSystemViewSidebarWidth");
+ WebInspector.SidebarView.call(this, WebInspector.SidebarView.SidebarPosition.Start, "FileSystemViewSidebarWidth");
this.element.addStyleClass("file-system-view");
this.element.addStyleClass("storage-view");
Modified: trunk/Source/WebCore/inspector/front-end/MemoryStatistics.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/MemoryStatistics.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/MemoryStatistics.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -43,7 +43,7 @@
model.addEventListener(WebInspector.TimelineModel.Events.RecordsCleared, this._onRecordsCleared, this);
this._containerAnchor = timelinePanel.element.lastChild;
- this._memorySidebarView = new WebInspector.SidebarView(WebInspector.SidebarView.SidebarPosition.Left, undefined, sidebarWidth);
+ this._memorySidebarView = new WebInspector.SidebarView(WebInspector.SidebarView.SidebarPosition.Start, undefined, sidebarWidth);
this._memorySidebarView.sidebarElement.addStyleClass("sidebar");
this._memorySidebarView.element.id = "memory-graphs-container";
Modified: trunk/Source/WebCore/inspector/front-end/Panel.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/Panel.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/Panel.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -162,7 +162,7 @@
if (!parentElement)
parentElement = this.element;
- this.splitView = new WebInspector.SidebarView(position || WebInspector.SidebarView.SidebarPosition.Left, this._sidebarWidthSettingName(), defaultWidth, defaultHeight);
+ this.splitView = new WebInspector.SidebarView(position, this._sidebarWidthSettingName(), defaultWidth, defaultHeight);
this.splitView.show(parentElement);
this.splitView.addEventListener(WebInspector.SidebarView.EventTypes.Resized, this.sidebarResized.bind(this));
Modified: trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -69,7 +69,7 @@
const initialDebugSidebarWidth = 225;
const minimumDebugSidebarWidthPercent = 50;
- this.createSidebarView(this.element, WebInspector.SidebarView.SidebarPosition.Right, initialDebugSidebarWidth);
+ this.createSidebarView(this.element, WebInspector.SidebarView.SidebarPosition.End, initialDebugSidebarWidth);
this.splitView.element.id = "scripts-split-view";
this.splitView.setMinimumSidebarWidth(Preferences.minScriptsSidebarWidth);
this.splitView.setMinimumMainWidthPercent(minimumDebugSidebarWidthPercent);
@@ -83,7 +83,7 @@
// Create scripts navigator
const initialNavigatorWidth = 225;
const minimumViewsContainerWidthPercent = 50;
- this.editorView = new WebInspector.SidebarView(WebInspector.SidebarView.SidebarPosition.Left, "scriptsPanelNavigatorSidebarWidth", initialNavigatorWidth);
+ this.editorView = new WebInspector.SidebarView(WebInspector.SidebarView.SidebarPosition.Start, "scriptsPanelNavigatorSidebarWidth", initialNavigatorWidth);
this.editorView.element.tabIndex = 0;
this.editorView.setMinimumSidebarWidth(Preferences.minScriptsSidebarWidth);
Modified: trunk/Source/WebCore/inspector/front-end/Settings.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/Settings.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/Settings.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -214,7 +214,7 @@
this.cssRegions = this._createExperiment("cssRegions", "CSS Regions Support");
this.showOverridesInDrawer = this._createExperiment("showOverridesInDrawer", "Show Overrides in drawer");
this.fileSystemProject = this._createExperiment("fileSystemProject", "File system folders in Sources Panel");
- this.elementsPanelSingleColumn = this._createExperiment("elementsPanelSingleColumn", "Single-column elements panel layout when docked to right");
+ this.elementsPanelSingleColumn = this._createExperiment("elementsPanelSingleColumn", "Split Elements sidebar horizontally when it is too narrow");
this._cleanUpSetting();
}
Modified: trunk/Source/WebCore/inspector/front-end/SidebarView.js (141248 => 141249)
--- trunk/Source/WebCore/inspector/front-end/SidebarView.js 2013-01-30 11:58:08 UTC (rev 141248)
+++ trunk/Source/WebCore/inspector/front-end/SidebarView.js 2013-01-30 11:59:44 UTC (rev 141249)
@@ -38,16 +38,15 @@
{
WebInspector.SplitView.call(this, true, sidebarWidthSettingName, defaultSidebarWidth, defaultSidebarHeight);
- this._leftElement = this.firstElement();
- this._rightElement = this.secondElement();
-
this._minimumSidebarWidth = Preferences.minSidebarWidth;
this._minimumMainWidthPercent = 50;
this._minimumSidebarHeight = Preferences.minSidebarHeight;
this._minimumMainHeightPercent = 50;
- this._innerSetSidebarPosition(sidebarPosition || WebInspector.SidebarView.SidebarPosition.Left);
+ this._sidebarPosition = sidebarPosition || WebInspector.SidebarView.SidebarPosition.Start;
+ this.setSecondIsSidebar(this._sidebarPosition === WebInspector.SidebarView.SidebarPosition.End);
+ this._updateSidebarPosition();
}
WebInspector.SidebarView.EventTypes = {
@@ -58,10 +57,8 @@
* @enum {string}
*/
WebInspector.SidebarView.SidebarPosition = {
- Left: "Left",
- Right: "Right",
- Top: "Top",
- Bottom: "Bottom"
+ Start: "Start",
+ End: "End"
}
WebInspector.SidebarView.prototype = {
@@ -95,45 +92,34 @@
},
/**
- * @param {string} sidebarPosition
+ * @param {boolean} on
*/
- setSidebarPosition: function(sidebarPosition)
- {
- if (this.sidebarPosition_ === sidebarPosition)
- return;
-
- this._innerSetSidebarPosition(sidebarPosition);
+ setAutoOrientation: function(on) {
+ this._autoOrientation = on;
},
- /**
- * @param {string} sidebarPosition
- */
- _innerSetSidebarPosition: function(sidebarPosition)
+ _updateSidebarPosition: function()
{
- this.sidebarPosition_ = sidebarPosition;
+ var verticalSplit = true;
+ if (this._autoOrientation)
+ verticalSplit = this.element.offsetHeight < this.element.offsetWidth;
- switch (sidebarPosition) {
- case WebInspector.SidebarView.SidebarPosition.Left:
- this.setSecondIsSidebar(false);
- this._setSidebarElementStyle("split-view-sidebar-left");
- this.setVertical(true);
- break;
- case WebInspector.SidebarView.SidebarPosition.Right:
- this.setSecondIsSidebar(true);
- this._setSidebarElementStyle("split-view-sidebar-right");
- this.setVertical(true);
- break;
- case WebInspector.SidebarView.SidebarPosition.Top:
- this.setSecondIsSidebar(false);
- this._setSidebarElementStyle("split-view-sidebar-top");
- this.setVertical(false);
- break;
- case WebInspector.SidebarView.SidebarPosition.Bottom:
- this.setSecondIsSidebar(true);
- this._setSidebarElementStyle("split-view-sidebar-bottom");
- this.setVertical(false);
- break;
+ if (verticalSplit === this.isVertical())
+ return;
+
+ if (this._sidebarPosition === WebInspector.SidebarView.SidebarPosition.Start) {
+ if (verticalSplit)
+ this._setSidebarElementStyle("split-view-sidebar-left");
+ else
+ this._setSidebarElementStyle("split-view-sidebar-top");
+ } else {
+ if (verticalSplit)
+ this._setSidebarElementStyle("split-view-sidebar-right");
+ else
+ this._setSidebarElementStyle("split-view-sidebar-bottom");
}
+
+ this.setVertical(verticalSplit);
},
/**
@@ -186,6 +172,8 @@
onResize: function()
{
+ if (this._autoOrientation)
+ this._updateSidebarPosition();
WebInspector.SplitView.prototype.onResize.call(this);
this.dispatchEventToListeners(WebInspector.SidebarView.EventTypes.Resized, this.sidebarWidth());
},