Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (237592 => 237593)
--- trunk/Source/WebInspectorUI/ChangeLog 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/ChangeLog 2018-10-30 17:48:15 UTC (rev 237593)
@@ -1,3 +1,39 @@
+2018-10-30 Devin Rousso <[email protected]>
+
+ Web Inspector: refactor WI.ScopeBarItem for better extensibility
+ https://bugs.webkit.org/show_bug.cgi?id=190986
+
+ Reviewed by Brian Burg.
+
+ Renames `withModifier` to `extendSelection` for clarity of usage, and to allow the changes
+ in <https://webkit.org/b/190754> (adding an option to allow `WI.ScopeBarItem`s to be
+ selected without deselcting any other `WI.ScopeBarItem`s) to use the same variable.
+
+ * UserInterface/Views/ScopeBarItem.js:
+ (WI.ScopeBarItem):
+ (WI.ScopeBarItem.prototype.set selected):
+ (WI.ScopeBarItem.prototype._handleMouseDown):
+ (WI.ScopeBarItem.prototype.setSelected): Deleted.
+
+ * UserInterface/Views/ScopeBar.js:
+ (WI.ScopeBar):
+ (WI.ScopeBar.prototype._populate):
+ (WI.ScopeBar.prototype._itemSelectionDidChange):
+
+ * UserInterface/Views/MultipleScopeBarItem.js:
+ (WI.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
+
+ * UserInterface/Views/CanvasSidebarPanel.js:
+ (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
+ * UserInterface/Views/LogContentView.js:
+ (WI.LogContentView):
+ * UserInterface/Views/NetworkTableContentView.js:
+ (WI.NetworkTableContentView):
+ * UserInterface/Views/ResourceSidebarPanel.js:
+ (WI.ResourceSidebarPanel):
+ * UserInterface/Views/StorageSidebarPanel.js:
+ (WI.StorageSidebarPanel):
+
2018-10-29 Nikita Vasilyev <[email protected]>
Web Inspector: Flash views with red outline on initial layout
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -494,10 +494,7 @@
if (!selectedScopeBarItem) {
selectedScopeBarItem = scopeBarItems[0];
- const exclusive = true;
- const className = null;
- const hidden = true;
- this._placeholderScopeBarItem = new WI.ScopeBarItem("canvas-recording-scope-bar-item-placeholder", WI.UIString("Recordings"), exclusive, className, hidden);
+ this._placeholderScopeBarItem = new WI.ScopeBarItem("canvas-recording-scope-bar-item-placeholder", WI.UIString("Recordings"), {exclusive: true, hidden: true});
this._placeholderScopeBarItem.selected = true;
scopeBarItems.unshift(this._placeholderScopeBarItem);
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -74,12 +74,12 @@
this._checkboxsNavigationItemGroup = new WI.GroupNavigationItem([this._preserveLogNavigationItem, new WI.DividerNavigationItem]);
let scopeBarItems = [
- new WI.ScopeBarItem(WI.LogContentView.Scopes.All, WI.UIString("All"), true),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Errors, WI.UIString("Errors"), false, "errors"),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Warnings, WI.UIString("Warnings"), false, "warnings"),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Logs, WI.UIString("Logs"), false, "logs"),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Infos, WI.UIString("Infos"), false, "infos", true),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Debugs, WI.UIString("Debugs"), false, "debugs", true),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.All, WI.UIString("All"), {exclusive: true}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Errors, WI.UIString("Errors"), {className: "errors"}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Warnings, WI.UIString("Warnings"), {className: "warnings"}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Logs, WI.UIString("Logs"), {className: "logs"}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Infos, WI.UIString("Infos"), {className: "infos", hidden: true}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Debugs, WI.UIString("Debugs"), {className: "debugs", hidden: true}),
];
this._scopeBar = new WI.ScopeBar("log-scope-bar", scopeBarItems, scopeBarItems[0]);
@@ -88,9 +88,9 @@
this._hasNonDefaultLogChannelMessage = false;
if (WI.ConsoleManager.supportsLogChannels()) {
let messageChannelBarItems = [
- new WI.ScopeBarItem(WI.LogContentView.Scopes.AllChannels, WI.UIString("All"), true),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.Media, WI.UIString("Media"), false, "media"),
- new WI.ScopeBarItem(WI.LogContentView.Scopes.WebRTC, WI.UIString("WebRTC"), false, "webrtc")
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.AllChannels, WI.UIString("All"), {exclusive: true}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.Media, WI.UIString("Media"), {className: "media"}),
+ new WI.ScopeBarItem(WI.LogContentView.Scopes.WebRTC, WI.UIString("WebRTC"), {className: "webrtc"}),
];
this._messageSourceBar = new WI.ScopeBar("message-channel-scope-bar", messageChannelBarItems, messageChannelBarItems[0]);
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/MultipleScopeBarItem.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/MultipleScopeBarItem.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/MultipleScopeBarItem.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -137,8 +137,9 @@
this._selectedScopeBarItem.selected = true;
}
- var withModifier = WI.modifierKeys.metaKey && !WI.modifierKeys.ctrlKey && !WI.modifierKeys.altKey && !WI.modifierKeys.shiftKey;
- this.dispatchEventToListeners(WI.ScopeBarItem.Event.SelectionChanged, {withModifier});
+ this.dispatchEventToListeners(WI.ScopeBarItem.Event.SelectionChanged, {
+ extendSelection: WI.modifierKeys.metaKey && !WI.modifierKeys.ctrlKey && !WI.modifierKeys.altKey && !WI.modifierKeys.shiftKey,
+ });
this._ignoreItemSelectedEvent = false;
}
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -54,8 +54,7 @@
// FIXME: Network Timeline.
// FIXME: Throttling.
- const exclusive = true;
- this._typeFilterScopeBarItemAll = new WI.ScopeBarItem("network-type-filter-all", WI.UIString("All"), exclusive);
+ this._typeFilterScopeBarItemAll = new WI.ScopeBarItem("network-type-filter-all", WI.UIString("All"), {exclusive: true});
let typeFilterScopeBarItems = [this._typeFilterScopeBarItemAll];
let uniqueTypes = [
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -37,7 +37,7 @@
var scopeItemPrefix = "resource-sidebar-";
var scopeBarItems = [];
- scopeBarItems.push(new WI.ScopeBarItem(scopeItemPrefix + "type-all", WI.UIString("All Resources"), true));
+ scopeBarItems.push(new WI.ScopeBarItem(scopeItemPrefix + "type-all", WI.UIString("All Resources"), {exclusive: true}));
for (var key in WI.Resource.Type) {
var value = WI.Resource.Type[key];
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBar.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBar.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBar.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -133,10 +133,12 @@
}
}
- if (!this.selectedItems.length && this._defaultItem)
- this._defaultItem.selected = true;
+ if (this._defaultItem) {
+ if (!this.selectedItems.length)
+ this._defaultItem.selected = true;
- this._element.classList.toggle("default-item-selected", this._defaultItem.selected);
+ this._element.classList.toggle("default-item-selected", this._defaultItem.selected);
+ }
}
_itemSelectionDidChange(event)
@@ -152,7 +154,7 @@
item.selected = false;
}
} else {
- var replacesCurrentSelection = this._shouldGroupNonExclusiveItems || !event.data.withModifier;
+ let replacesCurrentSelection = this._shouldGroupNonExclusiveItems || !event.data.extendSelection;
for (var i = 0; i < this._items.length; ++i) {
item = this._items[i];
if (item.exclusive && item !== sender && sender.selected)
@@ -162,11 +164,13 @@
}
}
- // If nothing is selected anymore, select the default item.
- if (!this.selectedItems.length && this._defaultItem)
- this._defaultItem.selected = true;
+ if (this._defaultItem) {
+ if (!this.selectedItems.length)
+ this._defaultItem.selected = true;
- this._element.classList.toggle("default-item-selected", this._defaultItem.selected);
+ this._element.classList.toggle("default-item-selected", this._defaultItem.selected);
+ }
+
this.dispatchEventToListeners(WI.ScopeBar.Event.SelectionChanged);
}
};
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBarItem.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBarItem.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScopeBarItem.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -25,7 +25,7 @@
WI.ScopeBarItem = class ScopeBarItem extends WI.Object
{
- constructor(id, label, exclusive, className, hidden)
+ constructor(id, label, {className, exclusive, hidden} = {})
{
super();
@@ -38,7 +38,7 @@
this._id = id;
this._label = label;
- this._exclusive = exclusive;
+ this._exclusive = !!exclusive;
this._hidden = !!hidden;
this._selectedSetting = new WI.Setting("scopebaritem-" + id, false);
@@ -76,11 +76,6 @@
set selected(selected)
{
- this.setSelected(selected, false);
- }
-
- setSelected(selected, withModifier)
- {
if (this._selectedSetting.value === selected)
return;
@@ -87,7 +82,9 @@
this._element.classList.toggle("selected", selected);
this._selectedSetting.value = selected;
- this.dispatchEventToListeners(WI.ScopeBarItem.Event.SelectionChanged, {withModifier});
+ this.dispatchEventToListeners(WI.ScopeBarItem.Event.SelectionChanged, {
+ extendSelection: WI.modifierKeys.metaKey && !WI.modifierKeys.ctrlKey && !WI.modifierKeys.altKey && !WI.modifierKeys.shiftKey,
+ });
}
get hidden()
@@ -113,7 +110,7 @@
if (event.button !== 0)
return;
- this.setSelected(!this.selected, event.metaKey && !event.ctrlKey && !event.altKey && !event.shiftKey);
+ this.selected = !this.selected;
}
};
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js (237592 => 237593)
--- trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js 2018-10-30 17:45:37 UTC (rev 237592)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js 2018-10-30 17:48:15 UTC (rev 237593)
@@ -35,7 +35,7 @@
var scopeItemPrefix = "storage-sidebar-";
var scopeBarItems = [];
- scopeBarItems.push(new WI.ScopeBarItem(scopeItemPrefix + "type-all", WI.UIString("All Storage"), true));
+ scopeBarItems.push(new WI.ScopeBarItem(scopeItemPrefix + "type-all", WI.UIString("All Storage"), {exclusive: true}));
var storageTypes = [
{identifier: "application-cache", title: WI.UIString("Application Cache"), classes: [WI.ApplicationCacheFrameTreeElement, WI.ApplicationCacheManifestTreeElement]},