Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (180940 => 180941)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-03-03 18:05:59 UTC (rev 180940)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-03-03 18:10:56 UTC (rev 180941)
@@ -1,3 +1,35 @@
+2015-03-03 Nikita Vasilyev <nvasil...@apple.com>
+
+ Web Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
+ https://bugs.webkit.org/show_bug.cgi?id=142141
+
+ ConsoleSession doesn't have a title and it's not collapsible either.
+ Simplify ConsoleSession by removing excessive markup.
+
+ Reviewed by Timothy Hatcher.
+
+ * UserInterface/Controllers/_javascript_LogViewController.js:
+ (WebInspector._javascript_LogViewController):
+ (WebInspector._javascript_LogViewController.prototype.startNewSession):
+ (WebInspector._javascript_LogViewController.prototype._appendConsoleMessage):
+ (WebInspector._javascript_LogViewController.prototype.get topConsoleGroup): Deleted.
+ * UserInterface/Main.html:
+ * UserInterface/Views/ConsoleGroup.js:
+ (WebInspector.ConsoleGroup):
+ (WebInspector.ConsoleGroup.prototype.render):
+ (WebInspector.ConsoleGroup.prototype.addMessage):
+ (WebInspector.ConsoleGroup.prototype.append):
+ (WebInspector.ConsoleGroup.prototype.hasMessages): Deleted.
+ * UserInterface/Views/ConsoleSession.js: Added.
+ (WebInspector.ConsoleSession):
+ (WebInspector.ConsoleSession.prototype.addMessage):
+ (WebInspector.ConsoleSession.prototype.append):
+ (WebInspector.ConsoleSession.prototype.hasMessages):
+ * UserInterface/Views/LogContentView.css:
+ (.console-session + .console-session):
+ (.console-group.new-session .console-group-messages .console-item:first-child): Deleted.
+ (.console-group.new-session): Deleted.
+
2015-03-03 Brian J. Burg <b...@cs.washington.edu>
Web Inspector: popover should use requestAnimationFrame to drive move/resize animations
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_LogViewController.js (180940 => 180941)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_LogViewController.js 2015-03-03 18:05:59 UTC (rev 180940)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_LogViewController.js 2015-03-03 18:10:56 UTC (rev 180941)
@@ -45,7 +45,7 @@
this._previousMessage = null;
this._repeatCountWasInterrupted = false;
- this._topConsoleGroups = [];
+ this._sessions = [];
this.messagesClearKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.CommandOrControl, "K", this._handleClearShortcut.bind(this));
this.messagesAlternateClearKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Control, "L", this._handleClearShortcut.bind(this), this._element);
@@ -74,11 +74,6 @@
return this._prompt;
},
- get topConsoleGroup()
- {
- return this._topConsoleGroup;
- },
-
get currentConsoleGroup()
{
return this._currentConsoleGroup;
@@ -98,36 +93,34 @@
startNewSession: function(clearPreviousSessions)
{
- if (this._topConsoleGroups.length && clearPreviousSessions) {
- for (var i = 0; i < this._topConsoleGroups.length; ++i)
- this._element.removeChild(this._topConsoleGroups[i].element);
+ if (this._sessions.length && clearPreviousSessions) {
+ for (var i = 0; i < this._sessions.length; ++i)
+ this._element.removeChild(this._sessions[i].element);
- this._topConsoleGroups = [];
- this._topConsoleGroup = null;
+ this._sessions = [];
this._currentConsoleGroup = null;
}
- // Reuse the top group if it has no messages.
- if (this._topConsoleGroup && !this._topConsoleGroup.hasMessages()) {
+ var lastSession = this._sessions.lastValue;
+ // Reuse the last session if it has no messages.
+ if (lastSession && !lastSession.hasMessages()) {
// Make sure the session is visible.
- this._topConsoleGroup.element.scrollIntoView();
+ lastSession.element.scrollIntoView();
return;
}
- var hasPreviousSession = !!this._topConsoleGroup;
- var consoleGroup = new WebInspector.ConsoleGroup(null, hasPreviousSession);
+ var consoleSession = new WebInspector.ConsoleSession();
this._previousMessage = null;
this._repeatCountWasInterrupted = false;
- this._topConsoleGroups.push(consoleGroup);
- this._topConsoleGroup = consoleGroup;
- this._currentConsoleGroup = consoleGroup;
+ this._sessions.push(consoleSession);
+ this._currentConsoleGroup = consoleSession;
- this._element.appendChild(consoleGroup.element);
+ this._element.appendChild(consoleSession.element);
// Make sure the new session is visible.
- consoleGroup.element.scrollIntoView();
+ consoleSession.element.scrollIntoView();
},
appendImmediateExecutionWithResult: function(text, result)
@@ -290,11 +283,11 @@
} else {
if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup || msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) {
var group = new WebInspector.ConsoleGroup(this._currentConsoleGroup);
- this._currentConsoleGroup.messagesElement.appendChild(group.element);
+ var groupElement = group.render(msg);
+ this._currentConsoleGroup.append(groupElement);
this._currentConsoleGroup = group;
- }
-
- this._currentConsoleGroup.addMessage(msg);
+ } else
+ this._currentConsoleGroup.addMessage(msg);
}
if (msg.type === WebInspector.ConsoleMessage.MessageType.Result || wasScrolledToBottom)
Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (180940 => 180941)
--- trunk/Source/WebInspectorUI/UserInterface/Main.html 2015-03-03 18:05:59 UTC (rev 180940)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html 2015-03-03 18:10:56 UTC (rev 180941)
@@ -348,6 +348,7 @@
<script src=""
<script src=""
<script src=""
+ <script src=""
<script src=""
<script src=""
<script src=""
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleGroup.js (180940 => 180941)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleGroup.js 2015-03-03 18:05:59 UTC (rev 180940)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleGroup.js 2015-03-03 18:10:56 UTC (rev 180941)
@@ -27,24 +27,11 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-WebInspector.ConsoleGroup = function(parentGroup, isNewSession)
+WebInspector.ConsoleGroup = function(parentGroup)
{
WebInspector.Object.call(this);
this.parentGroup = parentGroup;
-
- var element = document.createElement("div");
- element.className = "console-group";
- element.group = this;
- this.element = element;
-
- if (isNewSession)
- element.classList.add("new-session");
-
- var messagesElement = document.createElement("div");
- messagesElement.className = "console-group-messages";
- element.appendChild(messagesElement);
- this.messagesElement = messagesElement;
};
WebInspector.ConsoleGroup.prototype = {
@@ -52,29 +39,42 @@
// Public
- addMessage: function(msg)
+ render: function(message)
{
- var element = document.createElement("div");
- element.className = WebInspector.LogContentView.ItemWrapperStyleClassName;
+ var groupElement = document.createElement("div");
+ groupElement.className = "console-group";
+ groupElement.group = this;
+ this.element = groupElement;
- msg.decorateMessageElement(element);
+ var titleElement = message.toMessageElement();
+ titleElement.classList.add(WebInspector.LogContentView.ItemWrapperStyleClassName);
+ titleElement.addEventListener("click", this._titleClicked.bind(this));
+ titleElement.addEventListener("mousedown", this._titleMouseDown.bind(this));
+ if (groupElement && message.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed)
+ groupElement.classList.add("collapsed");
- if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup || msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) {
- this.messagesElement.parentNode.insertBefore(element, this.messagesElement);
- element.addEventListener("click", this._titleClicked.bind(this));
- element.addEventListener("mousedown", this._titleMouseDown.bind(this));
- var groupElement = element.enclosingNodeOrSelfWithClass("console-group");
- if (groupElement && msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed)
- groupElement.classList.add("collapsed");
- } else
- this.messagesElement.appendChild(element);
+ groupElement.appendChild(titleElement);
+
+ var messagesElement = document.createElement("div");
+ this._messagesElement = messagesElement;
+ messagesElement.className = "console-group-messages";
+ groupElement.appendChild(messagesElement);
+
+ return groupElement;
},
- hasMessages: function()
+ addMessage: function(message)
{
- return !!this.messagesElement.childNodes.length;
+ var element = message.toMessageElement();
+ element.classList.add(WebInspector.LogContentView.ItemWrapperStyleClassName);
+ this.append(element);
},
+ append: function(messageElement)
+ {
+ this._messagesElement.appendChild(messageElement);
+ },
+
// Private
_titleMouseDown: function(event)
Added: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleSession.js (0 => 180941)
--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleSession.js (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleSession.js 2015-03-03 18:10:56 UTC (rev 180941)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ConsoleSession = function()
+{
+ WebInspector.Object.call(this);
+
+ var element = document.createElement("div");
+ element.className = "console-session";
+ this.element = element;
+ this._messagesElement = element;
+};
+
+WebInspector.ConsoleSession.prototype = {
+ constructor: WebInspector.ConsoleSession,
+
+ addMessage: function(message)
+ {
+ var messageElement = message.toMessageElement();
+ messageElement.classList.add(WebInspector.LogContentView.ItemWrapperStyleClassName);
+ this._messagesElement.appendChild(messageElement);
+ },
+
+ append: function(messageElement)
+ {
+ this._messagesElement.appendChild(messageElement);
+ },
+
+ hasMessages: function()
+ {
+ return !!this._messagesElement.childNodes.length;
+ }
+};
+
+WebInspector.ConsoleSession.prototype.__proto__ = WebInspector.Object.prototype;
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.css (180940 => 180941)
--- trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.css 2015-03-03 18:05:59 UTC (rev 180940)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.css 2015-03-03 18:10:56 UTC (rev 180941)
@@ -54,10 +54,6 @@
border-top: 1px solid rgb(240, 240, 240);
}
-.console-group.new-session .console-group-messages .console-item:first-child {
- border-top: none;
-}
-
.console-item.selected::after {
position: absolute;
display: block;
@@ -171,7 +167,7 @@
position: relative;
}
-.console-group.new-session {
+.console-session + .console-session {
border-top: 3px dashed rgb(240, 240, 240);
}