Title: [185141] trunk/Source/WebInspectorUI
- Revision
- 185141
- Author
- commit-qu...@webkit.org
- Date
- 2015-06-02 22:46:56 -0700 (Tue, 02 Jun 2015)
Log Message
Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
https://bugs.webkit.org/show_bug.cgi?id=145591
Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-06-02
Reviewed by Timothy Hatcher.
* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.removeSidebarPanel):
When removing a sidebar panel, ensure we call hidden if it was the visible panel.
* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.shown):
(WebInspector.SidebarPanel.prototype.hidden):
Save and restore content element scroll position when sidebar panels are shown / hidden.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.shown):
* UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel.prototype.shown):
* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (185140 => 185141)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-06-03 05:46:56 UTC (rev 185141)
@@ -1,3 +1,31 @@
+2015-06-02 Joseph Pecoraro <pecor...@apple.com>
+
+ Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
+ https://bugs.webkit.org/show_bug.cgi?id=145591
+
+ Reviewed by Timothy Hatcher.
+
+ * UserInterface/Views/Sidebar.js:
+ (WebInspector.Sidebar.prototype.removeSidebarPanel):
+ When removing a sidebar panel, ensure we call hidden if it was the visible panel.
+
+ * UserInterface/Views/SidebarPanel.js:
+ (WebInspector.SidebarPanel):
+ (WebInspector.SidebarPanel.prototype.shown):
+ (WebInspector.SidebarPanel.prototype.hidden):
+ Save and restore content element scroll position when sidebar panels are shown / hidden.
+
+ * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
+ (WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
+ * UserInterface/Views/ComputedStyleDetailsPanel.js:
+ (WebInspector.ComputedStyleDetailsPanel.prototype.shown):
+ * UserInterface/Views/DetailsSidebarPanel.js:
+ (WebInspector.DetailsSidebarPanel.prototype.shown):
+ * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
+ (WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
+ (WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
+ Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!
+
2015-06-02 Nikita Vasilyev <nvasil...@apple.com>
Web Inspector: Use non-monospace font for the frame selector
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -111,7 +111,7 @@
visibilityDidChange()
{
- WebInspector.SidebarPanel.prototype.visibilityDidChange.call(this);
+ super.visibilityDidChange();
if (!this._selectedPanel)
return;
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -159,7 +159,7 @@
shown()
{
- WebInspector.StyleDetailsPanel.prototype.shown.call(this);
+ super.shown();
this._propertiesTextEditor.updateLayout();
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -49,8 +49,10 @@
shown()
{
+ super.shown();
+
if (this._needsRefresh) {
- delete this._needsRefresh;
+ this._needsRefresh = false;
this.refresh();
}
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -52,14 +52,14 @@
this.needsRefresh();
- WebInspector.DOMDetailsSidebarPanel.prototype.shown.call(this);
+ super.shown();
}
hidden()
{
WebInspector.layerTreeManager.removeEventListener(WebInspector.LayerTreeManager.Event.LayerTreeDidChange, this._layerTreeDidChange, this);
- WebInspector.DOMDetailsSidebarPanel.prototype.hidden.call(this);
+ super.hidden();
}
refresh()
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -93,6 +93,11 @@
sidebarPanel.willRemove();
+ if (sidebarPanel.visible) {
+ sidebarPanel.hidden();
+ sidebarPanel.visibilityDidChange();
+ }
+
sidebarPanel._parentSidebar = null;
if (this._selectedSidebarPanel === sidebarPanel) {
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js (185140 => 185141)
--- trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js 2015-06-03 03:39:27 UTC (rev 185140)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js 2015-06-03 05:46:56 UTC (rev 185141)
@@ -31,6 +31,8 @@
this._identifier = identifier;
+ this._savedScrollPosition = 0;
+
this._element = element || document.createElement("div");
this._element.classList.add("panel", identifier);
@@ -129,11 +131,15 @@
shown()
{
+ this._contentElement.scrollTop = this._savedScrollPosition;
+
// Implemented by subclasses.
}
hidden()
{
+ this._savedScrollPosition = this._contentElement.scrollTop;
+
// Implemented by subclasses.
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes