Changeset 238331 in webkit


Ignore:
Timestamp:
Nov 16, 2018 5:28:44 PM (5 years ago)
Author:
Joseph Pecoraro
Message:

Web Inspector: Include default filtering of InspectorBackend.dumpInspectorProtocolMessages with multi target backend
https://bugs.webkit.org/show_bug.cgi?id=191785

Reviewed by Matt Baker.

  • UserInterface/Debug/Bootstrap.js:

(dumpMessagesCurrentState):
(applyDumpMessagesState):
(WI.runBootstrapOperations):
Include tri-state for the logs button.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.set filterMultiplexingBackendInspectorProtocolMessages):
(InspectorBackendClass.prototype.get filterMultiplexingBackendInspectorProtocolMessages):
(InspectorBackendClass.prototype._startOrStopAutomaticTracing):
Add new filtering state (the Setting already got added in the past).

  • UserInterface/Protocol/LoggingProtocolTracer.js:

(WI.LoggingProtocolTracer):
(WI.LoggingProtocolTracer.prototype.set filterMultiplexingBackend):
(WI.LoggingProtocolTracer.prototype.get filterMultiplexingBackend):
(WI.LoggingProtocolTracer.prototype._processEntry):
Perform new filtering.

Location:
trunk/Source/WebInspectorUI
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r238330 r238331  
     12018-11-16  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Include default filtering of InspectorBackend.dumpInspectorProtocolMessages with multi target backend
     4        https://bugs.webkit.org/show_bug.cgi?id=191785
     5
     6        Reviewed by Matt Baker.
     7
     8        * UserInterface/Debug/Bootstrap.js:
     9        (dumpMessagesCurrentState):
     10        (applyDumpMessagesState):
     11        (WI.runBootstrapOperations):
     12        Include tri-state for the logs button.
     13
     14        * UserInterface/Protocol/InspectorBackend.js:
     15        (InspectorBackendClass.prototype.set filterMultiplexingBackendInspectorProtocolMessages):
     16        (InspectorBackendClass.prototype.get filterMultiplexingBackendInspectorProtocolMessages):
     17        (InspectorBackendClass.prototype._startOrStopAutomaticTracing):
     18        Add new filtering state (the Setting already got added in the past).
     19
     20        * UserInterface/Protocol/LoggingProtocolTracer.js:
     21        (WI.LoggingProtocolTracer):
     22        (WI.LoggingProtocolTracer.prototype.set filterMultiplexingBackend):
     23        (WI.LoggingProtocolTracer.prototype.get filterMultiplexingBackend):
     24        (WI.LoggingProtocolTracer.prototype._processEntry):
     25        Perform new filtering.
     26
    1272018-11-16  Joseph Pecoraro  <pecoraro@apple.com>
    228
  • trunk/Source/WebInspectorUI/UserInterface/Debug/Bootstrap.js

    r238192 r238331  
    4040    });
    4141
    42     const dumpMessagesToolTip = WI.unlocalizedString("Enable dump inspector messages to console");
     42    // Toggle Inspector Messages Filtering.
     43    let ignoreChangesToState = false;
     44    const DumpMessagesState = {Off: "off", Filtering: "filtering", Everything: "everything"};
     45    const dumpMessagesToolTip = WI.unlocalizedString("Enable dump inspector messages to console.\nShift-click to dump all inspector messages with no filtering.");
    4346    const dumpMessagesActivatedToolTip = WI.unlocalizedString("Disable dump inspector messages to console");
    4447    let dumpMessagesToolbarItem = new WI.ActivateButtonToolbarItem("dump-messages", dumpMessagesToolTip, dumpMessagesActivatedToolTip, "Images/Console.svg");
    45     dumpMessagesToolbarItem.activated = InspectorBackend.dumpInspectorProtocolMessages;
     48
     49    function dumpMessagesCurrentState() {
     50        if (!InspectorBackend.dumpInspectorProtocolMessages)
     51            return DumpMessagesState.Off;
     52        if (InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages)
     53            return DumpMessagesState.Filtering;
     54        return DumpMessagesState.Everything;
     55    }
     56
     57    function applyDumpMessagesState(state) {
     58        ignoreChangesToState = true;
     59        switch (state) {
     60        case DumpMessagesState.Off:
     61            InspectorBackend.dumpInspectorProtocolMessages = false;
     62            InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages = false;
     63            dumpMessagesToolbarItem.activated = false;
     64            dumpMessagesToolbarItem.element.style.removeProperty("color");
     65            break;
     66        case DumpMessagesState.Filtering:
     67            InspectorBackend.dumpInspectorProtocolMessages = true;
     68            InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages = true;
     69            dumpMessagesToolbarItem.activated = true;
     70            dumpMessagesToolbarItem.element.style.removeProperty("color");
     71            break;
     72        case DumpMessagesState.Everything:
     73            InspectorBackend.dumpInspectorProtocolMessages = true;
     74            InspectorBackend.filterMultiplexingBackendInspectorProtocolMessages = false;
     75            dumpMessagesToolbarItem.activated = true;
     76            dumpMessagesToolbarItem.element.style.color = "rgb(164, 41, 154)";
     77            break;
     78        }
     79        ignoreChangesToState = false;
     80    }
     81
     82    WI.toolbar.addToolbarItem(dumpMessagesToolbarItem, WI.Toolbar.Section.CenterRight);
    4683    dumpMessagesToolbarItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, () => {
    47         InspectorBackend.dumpInspectorProtocolMessages = !InspectorBackend.dumpInspectorProtocolMessages;
    48         dumpMessagesToolbarItem.activated = InspectorBackend.dumpInspectorProtocolMessages;
     84        let nextState;
     85        switch (dumpMessagesCurrentState()) {
     86        case DumpMessagesState.Off:
     87            nextState = WI.modifierKeys.shiftKey ? DumpMessagesState.Everything : DumpMessagesState.Filtering;
     88            break;
     89        case DumpMessagesState.Filtering:
     90            nextState = WI.modifierKeys.shiftKey ? DumpMessagesState.Everything : DumpMessagesState.Off;
     91            break;
     92        case DumpMessagesState.Everything:
     93            nextState = DumpMessagesState.Off;
     94            break;
     95        }
     96        applyDumpMessagesState(nextState);
    4997    });
    5098    WI.settings.autoLogProtocolMessages.addEventListener(WI.Setting.Event.Changed, () => {
    51         dumpMessagesToolbarItem.activated = InspectorBackend.dumpInspectorProtocolMessages;
     99        if (ignoreChangesToState)
     100            return;
     101        applyDumpMessagesState(dumpMessagesCurrentState());
    52102    });
    53     WI.toolbar.addToolbarItem(dumpMessagesToolbarItem, WI.Toolbar.Section.CenterRight);
     103    applyDumpMessagesState(dumpMessagesCurrentState());
    54104
     105    // Next Level Inspector.
    55106    let inspectionLevel = InspectorFrontendHost ? InspectorFrontendHost.inspectionLevel() : 1;
    56107    const inspectInspectorToolTip = WI.unlocalizedString("Open Web Inspector [%d]").format(inspectionLevel + 1);
    57108    let inspectInspectorToolbarItem = new WI.ButtonToolbarItem("inspect-inspector", inspectInspectorToolTip);
     109    WI.toolbar.addToolbarItem(inspectInspectorToolbarItem, WI.Toolbar.Section.CenterRight);
    58110    inspectInspectorToolbarItem.element.textContent = inspectionLevel + 1;
    59111    inspectInspectorToolbarItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, () => {
    60112        InspectorFrontendHost.inspectInspector();
    61113    });
    62     WI.toolbar.addToolbarItem(inspectInspectorToolbarItem, WI.Toolbar.Section.CenterRight);
    63114
    64     function updateDebugUI()
    65     {
     115    function updateDebugUI() {
    66116        dumpMessagesToolbarItem.hidden = !WI.showDebugUISetting.value;
    67117        inspectInspectorToolbarItem.hidden = !WI.showDebugUISetting.value;
  • trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorBackend.js

    r238330 r238331  
    9797    }
    9898
     99    set filterMultiplexingBackendInspectorProtocolMessages(value)
     100    {
     101        WI.settings.filterMultiplexingBackendInspectorProtocolMessages.value = value;
     102
     103        this._defaultTracer.filterMultiplexingBackend = value;
     104    }
     105
     106    get filterMultiplexingBackendInspectorProtocolMessages()
     107    {
     108        return WI.settings.filterMultiplexingBackendInspectorProtocolMessages.value;
     109    }
     110
    99111    set customTracer(tracer)
    100112    {
     
    199211        this._defaultTracer.dumpMessagesToConsole = this.dumpInspectorProtocolMessages;
    200212        this._defaultTracer.dumpTimingDataToConsole = this.dumpTimingDataToConsole;
     213        this._defaultTracer.filterMultiplexingBackend = this.filterMultiplexingBackendInspectorProtocolMessages;
    201214    }
    202215
  • trunk/Source/WebInspectorUI/UserInterface/Protocol/LoggingProtocolTracer.js

    r238197 r238331  
    3232        this._dumpMessagesToConsole = false;
    3333        this._dumpTimingDataToConsole = false;
     34        this._filterMultiplexingBackend = true;
    3435        this._logToConsole = window.InspectorTest ? InspectorFrontendHost.unbufferedLog.bind(InspectorFrontendHost) : console.log;
    3536    }
     
    5556    {
    5657        return this._dumpTimingDataToConsole;
     58    }
     59
     60    set filterMultiplexingBackend(value)
     61    {
     62        this._filterMultiplexingBackend = !!value;
     63    }
     64
     65    get filterMultiplexingBackend()
     66    {
     67        return this._filterMultiplexingBackend;
    5768    }
    5869
     
    107118            let connection = entry.connection;
    108119            let targetId = connection && connection.target ? connection.target.identifier : "unknown";
     120            if (this._filterMultiplexingBackend && targetId === "multi")
     121                return;
    109122            this._logToConsole(`${entry.type} (${targetId}): ${JSON.stringify(entry.message)}`);
    110123            if (entry.exception) {
Note: See TracChangeset for help on using the changeset viewer.