Changeset 35788 in webkit


Ignore:
Timestamp:
Aug 15, 2008 10:48:36 AM (16 years ago)
Author:
timothy@apple.com
Message:

Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector

https://bugs.webkit.org/show_bug.cgi?id=20210

Reviewed by Tim Hatcher.

  • page/Console.cpp: (WebCore::Console::group): (WebCore::Console::groupEnd):
  • page/Console.h: (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
  • page/InspectorController.cpp: (WebCore::InspectorController::startGroup): Increments group level by one and adds console message with StartGroupMessaageLevel. (WebCore::InspectorController::endGroup): Decrements group level by one and adds console message with EndGroupMessaageLevel.
  • page/InspectorController.h:
  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup if the message is StartGroupMessaageLevel. (WebInspector.ConsoleMessage.prototype.toMessageElement): (WebInspector.ConsoleGroup.prototype.addMessage):
  • page/inspector/inspector.js:
Location:
trunk/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r35787 r35788  
     12008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
     2
     3        Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=20210
     6
     7        Reviewed by Tim Hatcher.
     8
     9        * page/Console.cpp:
     10        (WebCore::Console::group):
     11        (WebCore::Console::groupEnd):
     12        * page/Console.h:
     13        (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
     14        * page/InspectorController.cpp:
     15        (WebCore::InspectorController::startGroup): Increments group level by
     16        one and adds console message with StartGroupMessaageLevel.
     17        (WebCore::InspectorController::endGroup): Decrements group level by one
     18        and adds console message with EndGroupMessaageLevel.
     19        * page/InspectorController.h:
     20        * page/inspector/Console.js:
     21        (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
     22        if the message is StartGroupMessaageLevel.
     23        (WebInspector.ConsoleMessage.prototype.toMessageElement):
     24        (WebInspector.ConsoleGroup.prototype.addMessage):
     25        * page/inspector/inspector.js:
     26
    1272008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
    228
  • trunk/WebCore/page/Console.cpp

    r35787 r35788  
    328328        return;
    329329
    330     page->inspectorController()->startGroup();
    331 
    332     if (arguments.isEmpty())
    333         page->inspectorController()->addMessageToConsole(JSMessageSource, GroupTitleMessageLevel, String(), 0, String());
    334     else
    335         page->inspectorController()->addMessageToConsole(JSMessageSource, GroupTitleMessageLevel, exec, arguments, 0, String());
     330    page->inspectorController()->startGroup(JSMessageSource, exec, arguments, 0, String());
    336331}
    337332
     
    345340        return;
    346341
    347     page->inspectorController()->endGroup();
     342    page->inspectorController()->endGroup(JSMessageSource, 0, String());
    348343}
    349344
  • trunk/WebCore/page/Console.h

    r35787 r35788  
    6161        ErrorMessageLevel,
    6262        ObjectMessageLevel,
    63         GroupTitleMessageLevel
     63        StartGroupMessageLevel,
     64        EndGroupMessageLevel
    6465    };
    6566
  • trunk/WebCore/page/InspectorController.cpp

    r35775 r35788  
    12801280}
    12811281
    1282 void InspectorController::startGroup()
     1282void InspectorController::startGroup(MessageSource source, ExecState* exec, const ArgList& arguments, unsigned lineNumber, const String& sourceURL)
    12831283{   
    1284     JSValueRef exception = 0;
    1285 
    12861284    ++m_groupLevel;
    12871285
    1288     if (windowVisible())
    1289         callFunction(m_scriptContext, m_scriptObject, "startGroupInConsole", 0, NULL, exception);
    1290 }
    1291 
    1292 void InspectorController::endGroup()
    1293 {
    1294     JSValueRef exception = 0;
    1295 
     1286    addConsoleMessage(new ConsoleMessage(source, StartGroupMessageLevel, exec, arguments, lineNumber, sourceURL, m_groupLevel));
     1287}
     1288
     1289void InspectorController::endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL)
     1290{
    12961291    if (m_groupLevel == 0)
    12971292        return;
     
    12991294    --m_groupLevel;
    13001295
    1301     if (windowVisible())
    1302         callFunction(m_scriptContext, m_scriptObject, "endGroupInConsole", 0, NULL, exception);
     1296    addConsoleMessage(new ConsoleMessage(source, EndGroupMessageLevel, String(), lineNumber, sourceURL, m_groupLevel));
    13031297}
    13041298
  • trunk/WebCore/page/InspectorController.h

    r35756 r35788  
    181181    bool stopTiming(const KJS::UString& title, double& elapsed);
    182182
    183     void startGroup();
    184     void endGroup();
     183    void startGroup(MessageSource source, KJS::ExecState* exec, const KJS::ArgList& arguments, unsigned lineNumber, const String& sourceURL);
     184    void endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL);
    185185
    186186private:
  • trunk/WebCore/page/inspector/Console.js

    r35787 r35788  
    149149        this.messages.push(msg);
    150150
    151         if (msg.groupLevel === null)
    152             msg.groupLevel = this.groupLevel
    153         else {
    154             while (msg.groupLevel > this.groupLevel)
    155                 this.startGroup();
    156             while (msg.groupLevel < this.groupLevel)
    157                 this.endGroup();
    158         }
    159 
    160         this.currentGroup.addMessage(msg);
     151        if (msg.level === WebInspector.ConsoleMessage.MessageLevel.EndGroup) {
     152            if (this.groupLevel < 1)
     153                return;
     154
     155            this.groupLevel--;
     156
     157            this.currentGroup = this.currentGroup.parentGroup;
     158        } else {
     159            if (msg.level === WebInspector.ConsoleMessage.MessageLevel.StartGroup) {
     160                this.groupLevel++;
     161
     162                var group = new WebInspector.ConsoleGroup(this.currentGroup, this.groupLevel);
     163                this.currentGroup.messagesElement.appendChild(group.element);
     164                this.currentGroup = group;
     165            }
     166
     167            this.currentGroup.addMessage(msg);
     168        }
     169
    161170        this.promptElement.scrollIntoView(false);
    162171    },
     
    224233
    225234        return results;
    226     },
    227 
    228     startGroup: function() {
    229         this.groupLevel++;
    230        
    231         var group = new WebInspector.ConsoleGroup(this.currentGroup, this.groupLevel);
    232         this.currentGroup.messagesElement.appendChild(group.element);
    233         this.currentGroup = group;
    234     },
    235 
    236     endGroup: function() {
    237         if (this.groupLevel < 1)
    238             return;
    239 
    240         this.groupLevel--;
    241 
    242         this.currentGroup = this.currentGroup.parentGroup;
    243235    },
    244236
     
    631623                element.addStyleClass("console-error-level");
    632624                break;
    633             case WebInspector.ConsoleMessage.MessageLevel.GroupTitle:
     625            case WebInspector.ConsoleMessage.MessageLevel.StartGroup:
    634626                element.addStyleClass("console-group-title-level");
    635627        }
     
    724716    Error: 3,
    725717    Object: 4,
    726     GroupTitle: 5
     718    StartGroup: 5,
     719    EndGroup: 6
    727720}
    728721
     
    791784        var element = msg.toMessageElement();
    792785       
    793         if (msg.level === WebInspector.ConsoleMessage.MessageLevel.GroupTitle) {
     786        if (msg.level === WebInspector.ConsoleMessage.MessageLevel.StartGroup) {
    794787            this.messagesElement.parentNode.insertBefore(element, this.messagesElement);
    795788            element.addEventListener("click", this._titleClicked.bind(this), true);
  • trunk/WebCore/page/inspector/inspector.js

    r35785 r35788  
    849849{
    850850    this.console.addMessage(msg);
    851 }
    852 
    853 WebInspector.startGroupInConsole = function()
    854 {
    855     this.console.startGroup();
    856 }
    857 
    858 WebInspector.endGroupInConsole = function()
    859 {
    860     this.console.endGroup();
    861851}
    862852
Note: See TracChangeset for help on using the changeset viewer.