Title: [183340] trunk/Source/WebInspectorUI
- Revision
- 183340
- Author
- [email protected]
- Date
- 2015-04-25 18:26:41 -0700 (Sat, 25 Apr 2015)
Log Message
Web Inspector: Save and restore tab state on reload and between sessions
https://bugs.webkit.org/show_bug.cgi?id=144202
Reviewed by Joseph Pecoraro.
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._mainResourceDidChange):
(WebInspector._provisionalLoadStarted):
(WebInspector._restoreCookieForOpenTabs):
(WebInspector._saveCookieForOpenTabs):
(WebInspector._pageHidden):
* UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (183339 => 183340)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-04-26 01:26:06 UTC (rev 183339)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-04-26 01:26:41 UTC (rev 183340)
@@ -1,5 +1,24 @@
2015-04-25 Timothy Hatcher <[email protected]>
+ Web Inspector: Save and restore tab state on reload and between sessions
+ https://bugs.webkit.org/show_bug.cgi?id=144202
+
+ Reviewed by Joseph Pecoraro.
+
+ * UserInterface/Base/Main.js:
+ (WebInspector.contentLoaded):
+ (WebInspector._mainResourceDidChange):
+ (WebInspector._provisionalLoadStarted):
+ (WebInspector._restoreCookieForOpenTabs):
+ (WebInspector._saveCookieForOpenTabs):
+ (WebInspector._pageHidden):
+ * UserInterface/Views/TabContentView.js:
+ (WebInspector.TabContentView):
+ (WebInspector.TabContentView.prototype.restoreStateFromCookie):
+ (WebInspector.TabContentView.prototype.saveStateToCookie):
+
+2015-04-25 Timothy Hatcher <[email protected]>
+
Web Inspector: Split search from ResourceSidebarPanel into a Search tab and sidebar
https://bugs.webkit.org/show_bug.cgi?id=144197
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (183339 => 183340)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2015-04-26 01:26:06 UTC (rev 183339)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2015-04-26 01:26:41 UTC (rev 183340)
@@ -332,6 +332,8 @@
this.tabBrowser.addTabForContentView(tabContentView, true);
}
+ this._restoreCookieForOpenTabs();
+
this.tabBar.selectedTabBarItem = this._selectedTabIndexSetting.value;
if (!this.tabBar.selectedTabBarItem)
@@ -997,6 +999,8 @@
this._inProvisionalLoad = false;
+ this._restoreCookieForOpenTabs();
+
this._updateDownloadToolbarButton();
this.updateWindowTitle();
@@ -1007,9 +1011,27 @@
if (!event.target.isMainFrame())
return;
+ this._saveCookieForOpenTabs();
+
this._inProvisionalLoad = true;
};
+WebInspector._restoreCookieForOpenTabs = function(causedByReload)
+{
+ for (var tabBarItem of this.tabBar.tabBarItems) {
+ var tabContentView = tabBarItem.representedObject;
+ tabContentView.restoreStateFromCookie(causedByReload);
+ }
+};
+
+WebInspector._saveCookieForOpenTabs = function()
+{
+ for (var tabBarItem of this.tabBar.tabBarItems) {
+ var tabContentView = tabBarItem.representedObject;
+ tabContentView.saveStateToCookie();
+ }
+};
+
WebInspector._windowFocused = function(event)
{
if (event.target.document.nodeType !== Node.DOCUMENT_NODE || this.docked)
@@ -1065,7 +1087,7 @@
WebInspector._pageHidden = function(event)
{
- // FIXME: Save inspector state.
+ this._saveCookieForOpenTabs();
};
WebInspector._undock = function(event)
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TabContentView.js (183339 => 183340)
--- trunk/Source/WebInspectorUI/UserInterface/Views/TabContentView.js 2015-04-26 01:26:06 UTC (rev 183339)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TabContentView.js 2015-04-26 01:26:41 UTC (rev 183340)
@@ -49,6 +49,8 @@
this._detailsSidebarCollapsedSetting = new WebInspector.Setting(identifier + "-details-sidebar-collapsed", true);
this._detailsSidebarSelectedPanelSetting = new WebInspector.Setting(identifier + "-details-sidebar-selected-panel", null);
+
+ this._cookieSetting = new WebInspector.Setting(identifier + "-tab-cookie", {});
};
WebInspector.TabContentView.prototype = {
@@ -105,6 +107,28 @@
return false;
},
+ restoreStateFromCookie: function(causedByReload)
+ {
+ if (!this.navigationSidebarPanel)
+ return;
+
+ var matchTypeOnlyDelayForReload = 2000;
+ var matchTypeOnlyDelayForReopen = 1000;
+
+ var relaxMatchDelay = causedByReload ? matchTypeOnlyDelayForReload : matchTypeOnlyDelayForReopen;
+ this.navigationSidebarPanel.restoreStateFromCookie(this._cookieSetting.value || {}, relaxMatchDelay);
+ },
+
+ saveStateToCookie: function()
+ {
+ if (!this.navigationSidebarPanel)
+ return;
+
+ var cookie = this._cookieSetting.value || {};
+ this.navigationSidebarPanel.saveStateToCookie(cookie);
+ this._cookieSetting.value = cookie;
+ },
+
get navigationSidebarPanel()
{
return this._navigationSidebarPanel;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes