Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js

Issue 2870163002: DevTools: add new mode for styles sidebar that hides computed split view (Closed)
Patch Set: ac Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
index 343e5e8b5b1c6a6ec872ed4cc83173feed268940..b22f384ce6b3bb935a173bff6a02d810682ea916 100644
--- a/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
+++ b/third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.js
@@ -54,6 +54,8 @@ Elements.ElementsPanel = class extends UI.Panel {
stackElement.appendChild(crumbsContainer);
this._splitWidget.setMainWidget(this._searchableView);
+ /** @type {?Elements.ElementsPanel._splitMode} */
+ this._splitMode = null;
this._contentElement.id = 'elements-content';
// FIXME: crbug.com/425984
@@ -349,8 +351,7 @@ Elements.ElementsPanel = class extends UI.Panel {
* @override
*/
onResize() {
- if (Common.moduleSetting('sidebarPosition').get() === 'auto')
- this.element.window().requestAnimationFrame(this._updateSidebarPosition.bind(this)); // Do not force layout.
+ this.element.window().requestAnimationFrame(this._updateSidebarPosition.bind(this)); // Do not force layout.
this._updateTreeOutlineVisibleWidth();
}
@@ -823,20 +824,21 @@ Elements.ElementsPanel = class extends UI.Panel {
}
_updateSidebarPosition() {
- var horizontally;
+ if (this.sidebarPaneView && this.sidebarPaneView.tabbedPane().shouldHideOnDetach())
+ return; // We can't reparent extension iframes.
+
+ var splitMode;
var position = Common.moduleSetting('sidebarPosition').get();
- if (position === 'right')
- horizontally = false;
- else if (position === 'bottom')
- horizontally = true;
+ if (position === 'right' || (position === 'auto' && UI.inspectorView.element.offsetWidth > 680))
+ splitMode = Elements.ElementsPanel._splitMode.Vertical;
+ else if (UI.inspectorView.element.offsetWidth > 415)
+ splitMode = Elements.ElementsPanel._splitMode.Horizontal;
else
- horizontally = UI.inspectorView.element.offsetWidth < 680;
+ splitMode = Elements.ElementsPanel._splitMode.Slim;
- if (this.sidebarPaneView && horizontally === !this._splitWidget.isVertical())
+ if (this.sidebarPaneView && splitMode === this._splitMode)
return;
-
- if (this.sidebarPaneView && this.sidebarPaneView.tabbedPane().shouldHideOnDetach())
- return; // We can't reparent extension iframes.
+ this._splitMode = splitMode;
var extensionSidebarPanes = Extensions.extensionServer.sidebarPanes();
if (this.sidebarPaneView) {
@@ -844,7 +846,7 @@ Elements.ElementsPanel = class extends UI.Panel {
this._splitWidget.uninstallResizer(this.sidebarPaneView.tabbedPane().headerElement());
}
- this._splitWidget.setVertical(!horizontally);
+ this._splitWidget.setVertical(this._splitMode === Elements.ElementsPanel._splitMode.Vertical);
this.showToolbarPane(null);
var matchedStylesContainer = new UI.VBox();
@@ -889,24 +891,21 @@ Elements.ElementsPanel = class extends UI.Panel {
this._popoverHelper.setHasPadding(true);
this._popoverHelper.setTimeout(0);
- if (horizontally) {
- // Styles and computed are merged into a single tab.
+ if (this._splitMode !== Elements.ElementsPanel._splitMode.Vertical)
this._splitWidget.installResizer(tabbedPane.headerElement());
- var stylesView = new UI.SimpleView(Common.UIString('Styles'));
+ var stylesView = new UI.SimpleView(Common.UIString('Styles'));
+ this.sidebarPaneView.appendView(stylesView);
+ if (splitMode === Elements.ElementsPanel._splitMode.Horizontal) {
+ // Styles and computed are merged into a single tab.
stylesView.element.classList.add('flex-auto');
var splitWidget = new UI.SplitWidget(true, true, 'stylesPaneSplitViewState', 215);
splitWidget.show(stylesView.element);
-
splitWidget.setMainWidget(matchedStylesContainer);
splitWidget.setSidebarWidget(computedStylePanesWrapper);
-
- this.sidebarPaneView.appendView(stylesView);
- this._stylesViewToReveal = stylesView;
} else {
// Styles and computed are in separate tabs.
- var stylesView = new UI.SimpleView(Common.UIString('Styles'));
stylesView.element.classList.add('flex-auto', 'metrics-and-styles');
matchedStylesContainer.show(stylesView.element);
@@ -915,12 +914,11 @@ Elements.ElementsPanel = class extends UI.Panel {
computedStylePanesWrapper.show(computedView.element);
tabbedPane.addEventListener(UI.TabbedPane.Events.TabSelected, tabSelected, this);
- this.sidebarPaneView.appendView(stylesView);
this.sidebarPaneView.appendView(computedView);
- this._stylesViewToReveal = stylesView;
}
+ this._stylesViewToReveal = stylesView;
- showMetrics.call(this, horizontally);
+ showMetrics.call(this, this._splitMode === Elements.ElementsPanel._splitMode.Horizontal);
this.sidebarPaneView.appendApplicableItems('elements-sidebar');
for (var i = 0; i < extensionSidebarPanes.length; ++i)
@@ -948,6 +946,13 @@ Elements.ElementsPanel = class extends UI.Panel {
Elements.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol('title');
+/** @enum {symbol} */
+Elements.ElementsPanel._splitMode = {
+ Vertical: Symbol('Vertical'),
+ Horizontal: Symbol('Horizontal'),
+ Slim: Symbol('Slim'),
+};
+
/**
* @implements {UI.ContextMenu.Provider}
* @unrestricted
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698