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

Unified Diff: Source/devtools/front_end/InspectorView.js

Issue 71633003: DevTools: added "overlayContents" mode, where DevTools content is placed around and underneath inse… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 1 month 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
Index: Source/devtools/front_end/InspectorView.js
diff --git a/Source/devtools/front_end/InspectorView.js b/Source/devtools/front_end/InspectorView.js
index 42e281b4ff14af658ed9f7cb4682dad39d7df8a7..47261026af30020fc6df707ca50cb7507e55da80 100644
--- a/Source/devtools/front_end/InspectorView.js
+++ b/Source/devtools/front_end/InspectorView.js
@@ -39,9 +39,18 @@ WebInspector.InspectorView = function()
this.element.classList.add("fill", "vbox");
this.element.setAttribute("spellcheck", false);
+ this._splitView = new WebInspector.InspectorView.SplitView();
+ this._splitView.addEventListener(WebInspector.InspectorView.SplitView.Events.LayoutChanged, this._onSplitViewLayout.bind(this));
+ this._splitView.element.id = "inspector-split-view";
+ this._splitView.show(this.element);
+
+ this._overlay = this._splitView.mainElement;
pfeldman 2013/11/18 15:07:42 _overlayElement
dgozman 2013/11/21 16:38:51 Done.
+ this._container = this._splitView.sidebarElement;
pfeldman 2013/11/18 15:07:42 _devtoolsElement
dgozman 2013/11/21 16:38:51 Done.
+ this._container.classList.add("vbox");
+
this._tabbedPane = new WebInspector.TabbedPane();
this._tabbedPane.setRetainTabsOrder(true);
- this._tabbedPane.show(this.element);
+ this._tabbedPane.show(this._container);
var toolbarElement = document.createElement("div");
toolbarElement.className = "toolbar toolbar-background";
@@ -96,6 +105,14 @@ WebInspector.InspectorView.prototype = {
},
/**
+ * @return {WebInspector.View}
+ */
+ container: function()
pfeldman 2013/11/18 15:07:42 devtoolsElement
dgozman 2013/11/21 16:38:51 Done.
+ {
+ return this._container;
+ },
+
+ /**
* @param {WebInspector.PanelDescriptor} panelDescriptor
*/
addPanel: function(panelDescriptor)
@@ -349,8 +366,59 @@ WebInspector.InspectorView.prototype = {
this._drawer.resize();
},
+ _onSplitViewLayout: function()
+ {
+ // FIXME: make drawer a view.
pfeldman 2013/11/18 15:07:42 Yes!
+ this._drawer.resize();
+ },
+
__proto__: WebInspector.View.prototype
-}
+};
+
+
+/**
+ * @constructor
+ * @extends {WebInspector.SplitView}
+ */
+WebInspector.InspectorView.SplitView = function()
pfeldman 2013/11/18 15:07:42 Not sure you need it, InspectorView is not that hu
dgozman 2013/11/21 16:38:51 Done.
+{
+ WebInspector.SplitView.call(this, false, "InspectorViewContentsSize", 300, 300);
+ this.setSecondIsSidebar(true);
+ this.setSidebarElementConstraints(150, 50);
+ this.setMainElementConstraints(50, 50);
+ this._update();
+ WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged, this._update.bind(this));
+};
+
+WebInspector.InspectorView.SplitView.Events = {
+ LayoutChanged: "LayoutChanged"
+};
+
+WebInspector.InspectorView.SplitView.prototype = {
+ _update: function()
+ {
+ if (WebInspector.useOverlayContentsLayout()) {
+ this.showBoth();
+ this.setVertical(WebInspector.dockController.dockSide() === WebInspector.DockController.State.DockedToRight);
+ } else {
+ this.showOnlySecond();
+ }
+ },
+
+ onLayoutUpdated: function(size)
+ {
+ this.dispatchEventToListeners(WebInspector.InspectorView.SplitView.Events.LayoutChanged);
+
+ if (!WebInspector.useOverlayContentsLayout())
+ return;
+ // Leave 2px room for resizer.
+ var bottom = this.isVertical() ? 0 : this.sidebarSize() + 2;
+ var right = this.isVertical() ? this.sidebarSize() + 2 : 0;
+ InspectorFrontendHost.setContentsOffsets(0, 0, right, bottom);
+ },
+
+ __proto__: WebInspector.SplitView.prototype
+};
/**
* @type {WebInspector.InspectorView}

Powered by Google App Engine
This is Rietveld 408576698