Changeset 147327 in webkit


Ignore:
Timestamp:
Apr 1, 2013 8:26:45 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Web Inspector: Exception in console on attempt to filter javascript messages.
https://bugs.webkit.org/show_bug.cgi?id=113327

Fixed non-css filtration if console message groups are present. Message groups elements are always shown and are
never filtered out.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-04-01
Reviewed by Pavel Feldman.

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.get this):
(WebInspector.ConsoleView.prototype._consoleMessageAdded):
(WebInspector.ConsoleView.prototype._appendConsoleMessage):
(WebInspector.ConsoleView.prototype._consoleCleared):
(WebInspector.ConsoleView.prototype._shouldBeVisible):
(WebInspector.ConsoleView.prototype._updateMessageList):
(WebInspector.ConsoleView.prototype._printResult):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r147325 r147327  
     12013-04-01  Dmitry Zvorygin  <zvorygin@chromium.org>
     2
     3        Web Inspector: Exception in console on attempt to filter javascript messages.
     4        https://bugs.webkit.org/show_bug.cgi?id=113327
     5
     6        Fixed non-css filtration if console message groups are present. Message groups elements are always shown and are
     7        never filtered out.
     8
     9        Reviewed by Pavel Feldman.
     10
     11        * inspector/front-end/ConsoleMessage.js:
     12        (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):
     13        * inspector/front-end/ConsoleView.js:
     14        (WebInspector.ConsoleView.get this):
     15        (WebInspector.ConsoleView.prototype._consoleMessageAdded):
     16        (WebInspector.ConsoleView.prototype._appendConsoleMessage):
     17        (WebInspector.ConsoleView.prototype._consoleCleared):
     18        (WebInspector.ConsoleView.prototype._shouldBeVisible):
     19        (WebInspector.ConsoleView.prototype._updateMessageList):
     20        (WebInspector.ConsoleView.prototype._printResult):
     21
    1222013-04-01  Victor Carbune  <vcarbune@chromium.org>
    223
  • trunk/Source/WebCore/inspector/front-end/ConsoleMessage.js

    r146313 r147327  
    777777
    778778    updateRepeatCount: function() {
     779        if (!this._element)
     780            return;
     781
    779782        if (!this.repeatCountElement) {
    780783            this.repeatCountElement = document.createElement("span");
  • trunk/Source/WebCore/inspector/front-end/ConsoleView.js

    r146905 r147327  
    4040    this._messageURLFilters = WebInspector.settings.messageURLFilters.get();
    4141    this._visibleMessages = [];
     42    this._messages = [];
    4243    this._urlToMessageCount = {};
    4344
     
    385386    {
    386387        var message = /** @type {WebInspector.ConsoleMessage} */ (event.data);
     388        this._messages.push(message);
     389
    387390        if (this._urlToMessageCount[message.url])
    388391            this._urlToMessageCount[message.url]++;
     
    412415                this.currentGroup.messagesElement.appendChild(group.element);
    413416                this.currentGroup = group;
     417                message.group = group;
    414418            }
    415419            this.currentGroup.addMessage(message);
     
    425429            this._visibleMessages[i].willHide();
    426430        this._visibleMessages = [];
     431        this._messages = [];
    427432
    428433        this.currentGroup = this.topGroup;
     
    528533    _shouldBeVisible: function(message)
    529534    {
    530         return !message.url || !this._messageURLFilters[message.url];
     535        return (message.type === WebInspector.ConsoleMessage.MessageType.StartGroup || message.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed || message.type === WebInspector.ConsoleMessage.MessageType.EndGroup) ||
     536            (!message.url || !this._messageURLFilters[message.url]);
    531537    },
    532538
     
    536542    _updateMessageList: function()
    537543    {
    538         var sourceMessages = WebInspector.console.messages;
     544        var group = this.topGroup;
     545        var sourceMessages = this._messages;
    539546        var visibleMessageIndex = 0;
    540547        var newVisibleMessages = [];
     548        var anchor = null;
    541549        for (var i = 0; i < sourceMessages.length; i++) {
    542550            var sourceMessage = sourceMessages[i];
     
    545553            if (visibleMessage === sourceMessage) {
    546554                visibleMessageIndex++;
    547                 if (this._shouldBeVisible(visibleMessage))
     555                if (this._shouldBeVisible(visibleMessage)) {
    548556                    newVisibleMessages.push(visibleMessage);
    549                 else {
     557                    if (sourceMessage.type === WebInspector.ConsoleMessage.MessageType.EndGroup) {
     558                        anchor = group.element;
     559                        group = group.parentGroup || group;
     560                    } else if (sourceMessage.type === WebInspector.ConsoleMessage.MessageType.StartGroup || sourceMessage.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) {
     561                        group = sourceMessage.group;
     562                        anchor = group.messagesElement.firstChild;
     563                    }
     564                } else {
    550565                    visibleMessage.willHide();
    551                     visibleMessage.toMessageElement().removeSelf();                   
     566                    visibleMessage.toMessageElement().removeSelf();
    552567                }
    553568            } else {
    554569                if (this._shouldBeVisible(sourceMessage)) {
    555                     this.currentGroup.addMessage(sourceMessage, visibleMessage ? visibleMessage.toMessageElement() : null);
     570                    group.addMessage(sourceMessage, anchor ? anchor.nextSibling : group.messagesElement.firstChild);
    556571                    newVisibleMessages.push(sourceMessage);
     572                    anchor = sourceMessage.toMessageElement();
    557573                }
    558574            }
     
    655671        if (!result)
    656672            return;
    657 
    658         this._appendConsoleMessage(new WebInspector.ConsoleCommandResult(result, wasThrown, originatingCommand, this._linkifier));
     673        var message = new WebInspector.ConsoleCommandResult(result, wasThrown, originatingCommand, this._linkifier);
     674        this._messages.push(message);
     675        this._appendConsoleMessage(message);
    659676    },
    660677
     
    664681            var commandMessage = new WebInspector.ConsoleCommand(text);
    665682            WebInspector.console.interruptRepeatCount();
     683            this._messages.push(commandMessage);
    666684            this._appendConsoleMessage(commandMessage);
    667685        }
Note: See TracChangeset for help on using the changeset viewer.