Changeset 288470 in webkit


Ignore:
Timestamp:
Jan 24, 2022 2:33:45 PM (6 months ago)
Author:
Devin Rousso
Message:

Web Inspector: Network: move filtering checkboxes into a single gear-with-contextmenu to save space
https://bugs.webkit.org/show_bug.cgi?id=235538

Reviewed by Patrick Angle.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.get filterNavigationItems):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype._changeCollection):
(WI.NetworkTableContentView.prototype._updateOtherFiltersNavigationItemState): Added.
(WI.NetworkTableContentView.prototype._handleOtherFiltersNavigationItemContextMenu): Added.
(WI.NetworkTableContentView.prototype._handleClearNetworkOnNavigateChanged): Renamed from _handleClearNetworkOnNavigateChanged.
(WI.NetworkTableContentView.prototype._handleGroupMediaRequestsByDOMNodeChanged): Renamed from _handleGroupMediaRequestsByDOMNodeCheckedDidChange.

  • UserInterface/Views/NetworkTableContentView.css:

(.network-other-filters-button > .glyph): Added.
(.network-other-filters-button:active > .glyph): Added.
(.network-other-filters-button.active > .glyph): Added.
(.network-other-filters-button.active:active > .glyph): Added.

  • Localizations/en.lproj/localizedStrings.js:
Location:
trunk/Source/WebInspectorUI
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r288469 r288470  
     12022-01-24  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: Network: move filtering checkboxes into a single gear-with-contextmenu to save space
     4        https://bugs.webkit.org/show_bug.cgi?id=235538
     5
     6        Reviewed by Patrick Angle.
     7
     8        * UserInterface/Views/NetworkTableContentView.js:
     9        (WI.NetworkTableContentView):
     10        (WI.NetworkTableContentView.prototype.get navigationItems):
     11        (WI.NetworkTableContentView.prototype.get filterNavigationItems):
     12        (WI.NetworkTableContentView.prototype.closed):
     13        (WI.NetworkTableContentView.prototype._changeCollection):
     14        (WI.NetworkTableContentView.prototype._updateOtherFiltersNavigationItemState): Added.
     15        (WI.NetworkTableContentView.prototype._handleOtherFiltersNavigationItemContextMenu): Added.
     16        (WI.NetworkTableContentView.prototype._handleClearNetworkOnNavigateChanged): Renamed from `_handleClearNetworkOnNavigateChanged`.
     17        (WI.NetworkTableContentView.prototype._handleGroupMediaRequestsByDOMNodeChanged): Renamed from `_handleGroupMediaRequestsByDOMNodeCheckedDidChange`.
     18        * UserInterface/Views/NetworkTableContentView.css:
     19        (.network-other-filters-button > .glyph): Added.
     20        (.network-other-filters-button:active > .glyph): Added.
     21        (.network-other-filters-button.active > .glyph): Added.
     22        (.network-other-filters-button.active:active > .glyph): Added.
     23
     24        * Localizations/en.lproj/localizedStrings.js:
     25
    1262022-01-24  Devin Rousso  <drousso@apple.com>
    227
  • trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js

    r288243 r288470  
    511511localizedStrings["Dismiss @ Banner View"] = "Dismiss";
    512512localizedStrings["Displayed Columns"] = "Displayed Columns";
    513 localizedStrings["Do not clear network items on new page loads"] = "Do not clear network items on new page loads";
    514513localizedStrings["Do not clear the console on new page loads"] = "Do not clear the console on new page loads";
    515514localizedStrings["Do not fade unexecuted code"] = "Do not fade unexecuted code";
     
    10641063localizedStrings["Other Issue"] = "Other Issue";
    10651064localizedStrings["Other Threads"] = "Other Threads";
     1065localizedStrings["Other filter options\u2026"] = "Other filter options\u2026";
    10661066localizedStrings["Other: %s"] = "Other: %s";
    10671067localizedStrings["Other\u2026"] = "Other\u2026";
  • trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css

    r288469 r288470  
    3434}
    3535
     36.network-other-filters-button > .glyph {
     37    width: 16px;
     38    height: 16px;
     39    color: var(--glyph-color);
     40    opacity: var(--glyph-opacity);
     41}
     42
     43.network-other-filters-button:active > .glyph {
     44    color: var(--glyph-color-pressed);
     45}
     46
     47.network-other-filters-button.active > .glyph {
     48    color: var(--glyph-color-active);
     49}
     50
     51.network-other-filters-button.active:active > .glyph {
     52    color: var(--glyph-color-active-pressed);
     53}
     54
    3655.content-view.tab.network > .content-browser > .navigation-bar .hierarchical-path .icon {
    3756    margin-inline: 8px 4px;
  • trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js

    r288469 r288470  
    9090        this._typeFilterScopeBar.addEventListener(WI.ScopeBar.Event.SelectionChanged, this._typeFilterScopeBarSelectionChanged, this);
    9191
    92         if (WI.MediaInstrument.supported()) {
    93             this._groupMediaRequestsByDOMNodeNavigationItem = new WI.CheckboxNavigationItem("group-media-requests", WI.UIString("Group Media Requests"), WI.settings.groupMediaRequestsByDOMNode.value);
    94             this._groupMediaRequestsByDOMNodeNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.Low;
    95             this._groupMediaRequestsByDOMNodeNavigationItem.addEventListener(WI.CheckboxNavigationItem.Event.CheckedDidChange, this._handleGroupMediaRequestsByDOMNodeCheckedDidChange, this);
    96         } else
    97             WI.settings.groupMediaRequestsByDOMNode.value = false;
     92        this._otherFiltersNavigationItem = new WI.NavigationItem("network-other-filters-button", "button");
     93        this._otherFiltersNavigationItem.tooltip = WI.UIString("Other filter options\u2026");
     94        this._otherFiltersNavigationItem.visibilityPriority = WI.NavigationItem.VisibilityPriority.High;
     95        WI.addMouseDownContextMenuHandlers(this._otherFiltersNavigationItem.element, this._handleOtherFiltersNavigationItemContextMenu.bind(this));
     96        this._updateOtherFiltersNavigationItemState();
     97        this._otherFiltersNavigationItem.element.appendChild(WI.ImageUtilities.useSVGSymbol("Images/Gear.svg", "glyph"));
    9898
    9999        this._urlFilterSearchText = null;
     
    110110
    111111        this._emptyFilterResultsMessageElement = null;
    112 
    113         this._clearOnLoadNavigationItem = new WI.CheckboxNavigationItem("preserve-log", WI.UIString("Preserve Log"), !WI.settings.clearNetworkOnNavigate.value);
    114         this._clearOnLoadNavigationItem.tooltip = WI.UIString("Do not clear network items on new page loads");
    115         this._clearOnLoadNavigationItem.addEventListener(WI.CheckboxNavigationItem.Event.CheckedDidChange, function(event) {
    116             WI.settings.clearNetworkOnNavigate.value = !WI.settings.clearNetworkOnNavigate.value;
    117         }, this);
    118         WI.settings.clearNetworkOnNavigate.addEventListener(WI.Setting.Event.Changed, this._clearNetworkOnNavigateSettingChanged, this);
    119112
    120113        this._harImportNavigationItem = new WI.ButtonNavigationItem("har-import", WI.UIString("Import"), "Images/Import.svg", 15, 15);
     
    139132        let pathComponent = this._addCollectionPathComponent(this._mainCollection, WI.UIString("Live Activity"), "network-overview-icon");
    140133        this._collectionsPathNavigationItem.components = [pathComponent];
    141 
    142         this._checkboxesNavigationItemGroup = new WI.GroupNavigationItem([this._clearOnLoadNavigationItem, new WI.DividerNavigationItem]);
    143134
    144135        this._pathComponentsNavigationItemGroup = new WI.GroupNavigationItem([this._collectionsPathNavigationItem, new WI.DividerNavigationItem]);
     
    176167        WI.networkManager.addEventListener(WI.NetworkManager.Event.MainFrameDidChange, this._mainFrameDidChange, this);
    177168
     169        WI.settings.clearNetworkOnNavigate.addEventListener(WI.Setting.Event.Changed, this._handleClearNetworkOnNavigateChanged, this)
     170        if (WI.MediaInstrument.supported())
     171            WI.settings.groupMediaRequestsByDOMNode.addEventListener(WI.Setting.Event.Changed, this._handleGroupMediaRequestsByDOMNodeChanged, this);
     172
    178173        this._needsInitialPopulate = true;
    179174
     
    250245    get navigationItems()
    251246    {
    252         let items = [this._checkboxesNavigationItemGroup, this._pathComponentsNavigationItemGroup, this._buttonsNavigationItemGroup];
     247        let items = [this._pathComponentsNavigationItemGroup, this._buttonsNavigationItemGroup];
    253248        if (this._disableResourceCacheNavigationItem)
    254249            items.push(this._disableResourceCacheNavigationItem);
     
    259254    get filterNavigationItems()
    260255    {
    261         let navigationItems = [this._urlFilterNavigationItem, this._typeFilterScopeBar];
    262         if (WI.MediaInstrument.supported())
    263             navigationItems.push(this._groupMediaRequestsByDOMNodeNavigationItem);
    264         return navigationItems;
     256        return [this._urlFilterNavigationItem, this._typeFilterScopeBar, this._otherFiltersNavigationItem];
    265257    }
    266258
     
    292284        this._hidePopover();
    293285        this._hideDetailView();
    294 
    295         WI.settings.clearNetworkOnNavigate.removeEventListener(WI.Setting.Event.Changed, this._clearNetworkOnNavigateSettingChanged, this);
    296286
    297287        // COMPATIBILITY (iOS 10.3): Network.setDisableResourceCaching did not exist.
     
    308298        WI.Resource.removeEventListener(WI.Resource.Event.TransferSizeDidChange, this._resourceTransferSizeDidChange, this);
    309299        WI.networkManager.removeEventListener(WI.NetworkManager.Event.MainFrameDidChange, this._mainFrameDidChange, this);
     300
     301        if (WI.MediaInstrument.supported())
     302            WI.settings.groupMediaRequestsByDOMNode.removeEventListener(WI.Setting.Event.Changed, this._handleGroupMediaRequestsByDOMNodeChanged, this);
    310303
    311304        super.closed();
     
    606599
    607600        let isMain = collection === this._mainCollection;
    608         this._checkboxesNavigationItemGroup.hidden = !isMain;
    609         this._groupMediaRequestsByDOMNodeNavigationItem.hidden = !isMain;
    610601        this._clearNetworkItemsNavigationItem.enabled = isMain;
    611602        this._collectionsPathNavigationItem.components = [this._pathComponentsMap.get(collection)];
     
    16291620    }
    16301621
    1631     _clearNetworkOnNavigateSettingChanged()
    1632     {
    1633         this._clearOnLoadNavigationItem.checked = !WI.settings.clearNetworkOnNavigate.value;
     1622    _handleClearNetworkOnNavigateChanged(event)
     1623    {
     1624        this._updateOtherFiltersNavigationItemState();
    16341625    }
    16351626
     
    22602251    }
    22612252
     2253    _updateOtherFiltersNavigationItemState()
     2254    {
     2255        let active = false;
     2256        if (!WI.settings.clearNetworkOnNavigate.value)
     2257            active = true;
     2258        else if (WI.MediaInstrument.supported() && WI.settings.groupMediaRequestsByDOMNode.value)
     2259            active = true;
     2260        this._otherFiltersNavigationItem.element.classList.toggle("active", active);
     2261    }
     2262
    22622263    _typeFilterScopeBarSelectionChanged(event)
    22632264    {
     
    22772278    }
    22782279
    2279     _handleGroupMediaRequestsByDOMNodeCheckedDidChange(event)
    2280     {
    2281         WI.settings.groupMediaRequestsByDOMNode.value = this._groupMediaRequestsByDOMNodeNavigationItem.checked;
    2282 
     2280    _handleOtherFiltersNavigationItemContextMenu(contextMenu)
     2281    {
     2282        contextMenu.appendCheckboxItem(WI.UIString("Preserve Log"), () => {
     2283            WI.settings.clearNetworkOnNavigate.value = !WI.settings.clearNetworkOnNavigate.value;
     2284        }, !WI.settings.clearNetworkOnNavigate.value);
     2285
     2286        if (WI.MediaInstrument.supported()) {
     2287            contextMenu.appendSeparator();
     2288
     2289            contextMenu.appendCheckboxItem(WI.UIString("Group Media Requests"), () => {
     2290                WI.settings.groupMediaRequestsByDOMNode.value = !WI.settings.groupMediaRequestsByDOMNode.value;
     2291            }, !!WI.settings.groupMediaRequestsByDOMNode.value);
     2292        }
     2293    }
     2294
     2295    _handleGroupMediaRequestsByDOMNodeChanged(event)
     2296    {
    22832297        if (!WI.settings.groupMediaRequestsByDOMNode.value) {
    22842298            this._table.element.classList.remove("grouped");
     
    22902304        }
    22912305
     2306        this._updateOtherFiltersNavigationItemState();
    22922307        this._updateSort();
    22932308        this._updateFilteredEntries();
Note: See TracChangeset for help on using the changeset viewer.