Title: [249828] trunk/Source/WebInspectorUI
- Revision
- 249828
- Author
- pecor...@apple.com
- Date
- 2019-09-13 01:15:58 -0700 (Fri, 13 Sep 2019)
Log Message
Web Inspector: [Overrides] Command-Z doesn't undo changes after page reload
https://bugs.webkit.org/show_bug.cgi?id=201698
<rdar://problem/55276645>
Reviewed by Devin Rousso.
* UserInterface/Views/ContentViewContainer.js:
(WI.ContentViewContainer.prototype.closeAllContentViews):
Provide a filter to opt out of closing some content views.
* UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._closeContentViewsFilter):
(WI.SourcesNavigationSidebarPanel.prototype._updateMainFrameTreeElement):
Avoid closing ContentViews for local resource overrides. This keeps the
SourceCodeTextEditor around and thus its undo/redo stack.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (249827 => 249828)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-09-13 08:11:10 UTC (rev 249827)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-09-13 08:15:58 UTC (rev 249828)
@@ -1,3 +1,21 @@
+2019-09-13 Joseph Pecoraro <pecor...@apple.com>
+
+ Web Inspector: [Overrides] Command-Z doesn't undo changes after page reload
+ https://bugs.webkit.org/show_bug.cgi?id=201698
+ <rdar://problem/55276645>
+
+ Reviewed by Devin Rousso.
+
+ * UserInterface/Views/ContentViewContainer.js:
+ (WI.ContentViewContainer.prototype.closeAllContentViews):
+ Provide a filter to opt out of closing some content views.
+
+ * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+ (WI.SourcesNavigationSidebarPanel.prototype._closeContentViewsFilter):
+ (WI.SourcesNavigationSidebarPanel.prototype._updateMainFrameTreeElement):
+ Avoid closing ContentViews for local resource overrides. This keeps the
+ SourceCodeTextEditor around and thus its undo/redo stack.
+
2019-09-12 Joseph Pecoraro <pecor...@apple.com>
Uncaught Exception: TypeError: null is not an object (evaluating 'selectedTreeElement.representedObject')
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ContentViewContainer.js (249827 => 249828)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ContentViewContainer.js 2019-09-13 08:11:10 UTC (rev 249827)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ContentViewContainer.js 2019-09-13 08:15:58 UTC (rev 249828)
@@ -274,8 +274,10 @@
}
}
- closeAllContentViews()
+ closeAllContentViews(filter)
{
+ console.assert(!filter || typeof filter === "function");
+
if (!this._backForwardList.length) {
console.assert(this._currentIndex === -1);
return;
@@ -284,10 +286,14 @@
var visibleContentView = this.currentContentView;
// Hide and disassociate with all the content views.
- for (var i = 0; i < this._backForwardList.length; ++i) {
- var entry = this._backForwardList[i];
+ for (let i = 0; i < this._backForwardList.length; ++i) {
+ let entry = this._backForwardList[i];
+ if (filter && !filter(entry.contentView))
+ continue;
+
if (entry.contentView === visibleContentView)
this._hideEntry(entry);
+
this._disassociateFromContentView(entry.contentView, entry.tombstone);
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (249827 => 249828)
--- trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-09-13 08:11:10 UTC (rev 249827)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-09-13 08:15:58 UTC (rev 249828)
@@ -737,10 +737,19 @@
return a.mainTitle.extendedLocaleCompare(b.mainTitle) || a.subtitle.extendedLocaleCompare(b.subtitle);
}
+ _closeContentViewsFilter(contentView)
+ {
+ // Local Resource Override content views do not need to be closed across page navigations.
+ if (contentView.representedObject instanceof WI.LocalResource && contentView.representedObject.isLocalResourceOverride)
+ return false;
+
+ return true;
+ }
+
_updateMainFrameTreeElement(mainFrame)
{
if (this.didInitialLayout)
- this.contentBrowser.contentViewContainer.closeAllContentViews();
+ this.contentBrowser.contentViewContainer.closeAllContentViews(this._closeContentViewsFilter);
let oldMainFrameTreeElement = this._mainFrameTreeElement;
if (this._mainFrameTreeElement) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes