<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[185213] trunk/Source/WebInspectorUI</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/185213">185213</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-06-04 13:15:14 -0700 (Thu, 04 Jun 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Web Inspector: Activity Viewer does not update on "Clear Log on reload"
https://bugs.webkit.org/show_bug.cgi?id=145466
Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-06-04
Reviewed by Joseph Pecoraro.
1. Isolate logic within LogManager and remove hacks/logic from all other files
2. Within LogManager: Differentiate "messagesCleared" calls
a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
b) that happen on page reload and install "clear/keep-on-page-reload" logic
c) that happen on frame navigated, console.clear() or clear()
3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"
For step 2b and 2c it is important to delay the handling and wait until
"_mainResourceDidChange" has determined whether a page reload happened or
not.
* UserInterface/Base/Main.js:
(WebInspector.loaded):
Store "clear-log-on-reload" setting globally.
* UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager):
* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard): Deleted.
* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
(WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
(WebInspector.ObjectTreeView): Deleted.
Remove deleted events.
* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
(WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
Remove delegate function call and call LogManager directly.
* UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager):
(WebInspector.LogManager.prototype.messagesCleared):
(WebInspector.LogManager.prototype._delayedMessagesCleared):
(WebInspector.LogManager.prototype.requestClearMessages):
(WebInspector.LogManager.prototype._mainResourceDidChange):
Isolate "clear log" logic, especially clear/keep-log-on-reload logic.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._handleContextMenuEvent):
(WebInspector.LogContentView.prototype._logCleared):
(WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
(WebInspector.LogContentView.prototype._clearLog):
(WebInspector.LogContentView.prototype.didClearMessages): Deleted.
(WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
(WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
(WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
Make it a consumer of LogManager and remove special hacks. Simplify code.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceBaseMainjs">trunk/Source/WebInspectorUI/UserInterface/Base/Main.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersIssueManagerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/IssueManager.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersJavaScriptLogViewControllerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptLogViewController.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersLogManagerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/LogManager.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsDefaultDashboardjs">trunk/Source/WebInspectorUI/UserInterface/Models/DefaultDashboard.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLogContentViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -1,3 +1,61 @@
</span><ins>+2015-06-04 Tobias Reiss <tobi+webkit@basecode.de>
+
+ Web Inspector: Activity Viewer does not update on "Clear Log on reload"
+ https://bugs.webkit.org/show_bug.cgi?id=145466
+
+ Reviewed by Joseph Pecoraro.
+
+ 1. Isolate logic within LogManager and remove hacks/logic from all other files
+ 2. Within LogManager: Differentiate "messagesCleared" calls
+ a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
+ b) that happen on page reload and install "clear/keep-on-page-reload" logic
+ c) that happen on frame navigated, console.clear() or clear()
+ 3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"
+
+ For step 2b and 2c it is important to delay the handling and wait until
+ "_mainResourceDidChange" has determined whether a page reload happened or
+ not.
+
+ * UserInterface/Base/Main.js:
+ (WebInspector.loaded):
+ Store "clear-log-on-reload" setting globally.
+
+ * UserInterface/Controllers/IssueManager.js:
+ (WebInspector.IssueManager):
+ * UserInterface/Models/DefaultDashboard.js:
+ (WebInspector.DefaultDashboard): Deleted.
+ * UserInterface/Views/ObjectTreeView.js:
+ (WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
+ (WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
+ (WebInspector.ObjectTreeView): Deleted.
+ Remove deleted events.
+
+ * UserInterface/Controllers/JavaScriptLogViewController.js:
+ (WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
+ (WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
+ Remove delegate function call and call LogManager directly.
+
+ * UserInterface/Controllers/LogManager.js:
+ (WebInspector.LogManager):
+ (WebInspector.LogManager.prototype.messagesCleared):
+ (WebInspector.LogManager.prototype._delayedMessagesCleared):
+ (WebInspector.LogManager.prototype.requestClearMessages):
+ (WebInspector.LogManager.prototype._mainResourceDidChange):
+ Isolate "clear log" logic, especially clear/keep-log-on-reload logic.
+
+ * UserInterface/Views/LogContentView.js:
+ (WebInspector.LogContentView):
+ (WebInspector.LogContentView.prototype._sessionStarted):
+ (WebInspector.LogContentView.prototype._handleContextMenuEvent):
+ (WebInspector.LogContentView.prototype._logCleared):
+ (WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
+ (WebInspector.LogContentView.prototype._clearLog):
+ (WebInspector.LogContentView.prototype.didClearMessages): Deleted.
+ (WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
+ (WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
+ (WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
+ Make it a consumer of LogManager and remove special hacks. Simplify code.
+
</ins><span class="cx"> 2015-06-03 Devin Rousso <drousso@apple.com>
</span><span class="cx">
</span><span class="cx"> Web Inspector: if a known CSS property has an unsupported value, only strikethrough the value
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceBaseMainjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -151,6 +151,7 @@
</span><span class="cx">
</span><span class="cx"> this.showShadowDOMSetting = new WebInspector.Setting("show-shadow-dom", false);
</span><span class="cx"> this.showReplayInterfaceSetting = new WebInspector.Setting("show-web-replay", false);
</span><ins>+ this.clearLogOnReload = new WebInspector.Setting("clear-log-on-reload", true);
</ins><span class="cx">
</span><span class="cx"> this.showJavaScriptTypeInformationSetting = new WebInspector.Setting("show-javascript-type-information", false);
</span><span class="cx"> if (this.showJavaScriptTypeInformationSetting.value && window.RuntimeAgent && RuntimeAgent.enableTypeProfiler)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersIssueManagerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/IssueManager.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/IssueManager.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/IssueManager.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> super();
</span><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><del>- WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._activeLogCleared, this);
</del><ins>+ WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._logCleared, this);
</ins><span class="cx">
</span><span class="cx"> this.initialize();
</span><span class="cx"> }
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">
</span><span class="cx"> // Private
</span><span class="cx">
</span><del>- _activeLogCleared(event)
</del><ins>+ _logCleared(event)
</ins><span class="cx"> {
</span><span class="cx"> this.initialize();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersJavaScriptLogViewControllerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptLogViewController.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptLogViewController.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptLogViewController.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -85,9 +85,6 @@
</span><span class="cx"> this.startNewSession(true);
</span><span class="cx">
</span><span class="cx"> this.prompt.focus();
</span><del>-
- if (this.delegate && typeof this.delegate.didClearMessages === "function")
- this.delegate.didClearMessages();
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> startNewSession(clearPreviousSessions)
</span><span class="lines">@@ -244,7 +241,7 @@
</span><span class="cx">
</span><span class="cx"> _handleClearShortcut()
</span><span class="cx"> {
</span><del>- this.clear();
</del><ins>+ WebInspector.logManager.requestClearMessages();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> _handleFindShortcut()
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersLogManagerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/LogManager.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/LogManager.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/LogManager.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx"> * Copyright (C) 2013 Apple Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2015 Tobias Reiss <tobi+webkit@basecode.de>
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -29,6 +30,9 @@
</span><span class="cx"> {
</span><span class="cx"> super();
</span><span class="cx">
</span><ins>+ this._clearMessagesRequested = false;
+ this._isPageReload = false;
+
</ins><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.MainResourceDidChange, this._mainResourceDidChange, this);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -53,16 +57,31 @@
</span><span class="cx">
</span><span class="cx"> WebInspector.ConsoleCommandResultMessage.clearMaximumSavedResultIndex();
</span><span class="cx">
</span><del>- // We don't want to clear messages on reloads. We can't determine that easily right now.
- // FIXME: <rdar://problem/13767079> Console.messagesCleared should include a reason
- this._shouldClearMessages = true;
- setTimeout(function() {
- if (this._shouldClearMessages)
- this.dispatchEventToListeners(WebInspector.LogManager.Event.ActiveLogCleared);
- delete this._shouldClearMessages;
- }.bind(this), 0);
</del><ins>+ if (this._clearMessagesRequested) {
+ // Frontend requested "clear console" and Backend successfully completed the request.
+ this._clearMessagesRequested = false;
+ this.dispatchEventToListeners(WebInspector.LogManager.Event.Cleared);
+ } else {
+ // Received an unrequested clear console event.
+ // This could be for a navigation or other reasons (like console.clear()).
+ // If this was a reload, we may not want to dispatch WebInspector.LogManager.Event.Cleared.
+ // To detect if this is a reload we wait a turn and check if there was a main resource change reload.
+ setTimeout(this._delayedMessagesCleared.bind(this), 0);
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+ _delayedMessagesCleared()
+ {
+ if (this._isPageReload) {
+ this._isPageReload = false;
+ if (WebInspector.clearLogOnReload.value)
+ this.dispatchEventToListeners(WebInspector.LogManager.Event.Cleared);
+ } else {
+ // A frame navigated, console.clear() or command line clear() happened.
+ this.dispatchEventToListeners(WebInspector.LogManager.Event.Cleared);
+ }
+ }
+
</ins><span class="cx"> messageRepeatCountUpdated(count)
</span><span class="cx"> {
</span><span class="cx"> // Called from WebInspector.ConsoleObserver.
</span><span class="lines">@@ -72,6 +91,8 @@
</span><span class="cx">
</span><span class="cx"> requestClearMessages()
</span><span class="cx"> {
</span><ins>+ this._clearMessagesRequested = true;
+
</ins><span class="cx"> ConsoleAgent.clearMessages();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -84,16 +105,13 @@
</span><span class="cx"> if (!event.target.isMainFrame())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- var oldMainResource = event.data.oldMainResource;
- var newMainResource = event.target.mainResource;
- if (oldMainResource.url !== newMainResource.url)
- this.dispatchEventToListeners(WebInspector.LogManager.Event.Cleared);
- else
</del><ins>+ if (event.data.oldMainResource.url === event.target.mainResource.url) {
+ this._isPageReload = true;
</ins><span class="cx"> this.dispatchEventToListeners(WebInspector.LogManager.Event.SessionStarted);
</span><ins>+ } else
+ this._isPageReload = false;
</ins><span class="cx">
</span><span class="cx"> WebInspector.ConsoleCommandResultMessage.clearMaximumSavedResultIndex();
</span><del>-
- delete this._shouldClearMessages;
</del><span class="cx"> }
</span><span class="cx"> };
</span><span class="cx">
</span><span class="lines">@@ -101,6 +119,5 @@
</span><span class="cx"> SessionStarted: "log-manager-session-was-started",
</span><span class="cx"> Cleared: "log-manager-cleared",
</span><span class="cx"> MessageAdded: "log-manager-message-added",
</span><del>- ActiveLogCleared: "log-manager-current-log-cleared",
</del><span class="cx"> PreviousMessageRepeatCountUpdated: "log-manager-previous-message-repeat-count-updated"
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsDefaultDashboardjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/DefaultDashboard.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/DefaultDashboard.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/DefaultDashboard.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> // Necessary events required to track console messages.
</span><span class="cx"> var logManager = WebInspector.logManager;
</span><span class="cx"> logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._consoleWasCleared, this);
</span><del>- logManager.addEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._consoleWasCleared, this);
</del><span class="cx"> logManager.addEventListener(WebInspector.LogManager.Event.MessageAdded, this._consoleMessageAdded, this);
</span><span class="cx"> logManager.addEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, this._consoleMessageWasRepeated, this);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLogContentViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -71,19 +71,16 @@
</span><span class="cx"> this._clearLogNavigationItem = new WebInspector.ButtonNavigationItem("clear-log", WebInspector.UIString("Clear log (%s or %s)").format(this._logViewController.messagesClearKeyboardShortcut.displayName, this._logViewController.messagesAlternateClearKeyboardShortcut.displayName), "Images/NavigationItemTrash.svg", 15, 15);
</span><span class="cx"> this._clearLogNavigationItem.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._clearLog, this);
</span><span class="cx">
</span><del>- this._clearLogOnReloadSetting = new WebInspector.Setting("clear-log-on-reload", true);
-
</del><span class="cx"> var toolTip = WebInspector.UIString("Show console tab");
</span><span class="cx"> this._showConsoleTabNavigationItem = new WebInspector.ButtonNavigationItem("show-tab", toolTip, "Images/SplitToggleUp.svg", 16, 16);
</span><span class="cx"> this._showConsoleTabNavigationItem.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._showConsoleTab, this);
</span><span class="cx">
</span><span class="cx"> this.messagesElement.addEventListener("contextmenu", this._handleContextMenuEvent.bind(this), false);
</span><span class="cx">
</span><del>- WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._sessionsCleared, this);
</del><span class="cx"> WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.SessionStarted, this._sessionStarted, this);
</span><span class="cx"> WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.MessageAdded, this._messageAdded, this);
</span><span class="cx"> WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, this._previousMessageRepeatCountUpdated, this);
</span><del>- WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._activeLogCleared, this);
</del><ins>+ WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._logCleared, this);
</ins><span class="cx">
</span><span class="cx"> WebInspector.Frame.addEventListener(WebInspector.Frame.Event.ProvisionalLoadStarted, this._provisionalLoadStarted, this);
</span><span class="cx"> };
</span><span class="lines">@@ -152,13 +149,6 @@
</span><span class="cx"> return this.messagesElement.classList.contains(WebInspector.LogContentView.SearchInProgressStyleClassName);
</span><span class="cx"> },
</span><span class="cx">
</span><del>- didClearMessages: function()
- {
- if (this._ignoreDidClearMessages)
- return;
- WebInspector.logManager.requestClearMessages();
- },
-
</del><span class="cx"> didAppendConsoleMessageView: function(messageView)
</span><span class="cx"> {
</span><span class="cx"> console.assert(messageView instanceof WebInspector.ConsoleMessageView || messageView instanceof WebInspector.ConsoleCommandView);
</span><span class="lines">@@ -318,17 +308,9 @@
</span><span class="cx"> return data;
</span><span class="cx"> },
</span><span class="cx">
</span><del>- _sessionsCleared: function(event)
- {
- this._ignoreDidClearMessages = true;
- this._logViewController.clear();
- this._ignoreDidClearMessages = false;
- },
-
</del><span class="cx"> _sessionStarted: function(event)
</span><span class="cx"> {
</span><del>- if (this._clearLogOnReloadSetting.value) {
- this._clearLogIgnoringClearMessages();
</del><ins>+ if (WebInspector.clearLogOnReload.value) {
</ins><span class="cx"> this._reappendProvisionalMessages();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -369,7 +351,7 @@
</span><span class="cx"> contextMenu.appendItem(WebInspector.UIString("Clear Log"), this._clearLog.bind(this));
</span><span class="cx"> contextMenu.appendSeparator();
</span><span class="cx">
</span><del>- var clearLogOnReloadUIString = this._clearLogOnReloadSetting.value ? WebInspector.UIString("Keep Log on Reload") : WebInspector.UIString("Clear Log on Reload");
</del><ins>+ var clearLogOnReloadUIString = WebInspector.clearLogOnReload.value ? WebInspector.UIString("Keep Log on Reload") : WebInspector.UIString("Clear Log on Reload");
</ins><span class="cx">
</span><span class="cx"> contextMenu.appendItem(clearLogOnReloadUIString, this._toggleClearLogOnReloadSetting.bind(this));
</span><span class="cx">
</span><span class="lines">@@ -649,21 +631,11 @@
</span><span class="cx"> });
</span><span class="cx"> },
</span><span class="cx">
</span><del>- _activeLogCleared: function(event)
</del><ins>+ _logCleared: function(event)
</ins><span class="cx"> {
</span><del>- this._ignoreDidClearMessages = true;
</del><span class="cx"> this._logViewController.clear();
</span><del>- this._ignoreDidClearMessages = false;
</del><span class="cx"> },
</span><span class="cx">
</span><del>- // FIXME: <https://webkit.org/b/145466> Web Inspector: Activity Viewer does not update on "Clear Log on reload"
- _clearLogIgnoringClearMessages: function()
- {
- this._ignoreDidClearMessages = true;
- this._logViewController.clear();
- this._ignoreDidClearMessages = false;
- },
-
</del><span class="cx"> _showConsoleTab: function()
</span><span class="cx"> {
</span><span class="cx"> WebInspector.showConsoleTab();
</span><span class="lines">@@ -671,12 +643,12 @@
</span><span class="cx">
</span><span class="cx"> _toggleClearLogOnReloadSetting: function()
</span><span class="cx"> {
</span><del>- this._clearLogOnReloadSetting.value = !this._clearLogOnReloadSetting.value;
</del><ins>+ WebInspector.clearLogOnReload.value = !WebInspector.clearLogOnReload.value;
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> _clearLog: function()
</span><span class="cx"> {
</span><del>- this._logViewController.clear();
</del><ins>+ WebInspector.logManager.requestClearMessages();
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> _scopeBarSelectionDidChange: function(event)
</span><span class="lines">@@ -976,7 +948,7 @@
</span><span class="cx"> _clearProvisionalState: function()
</span><span class="cx"> {
</span><span class="cx"> this._startedProvisionalLoad = false;
</span><del>- this._provisionalMessages = [];
</del><ins>+ this._provisionalMessages = [];
</ins><span class="cx"> }
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js (185212 => 185213)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js        2015-06-04 19:37:26 UTC (rev 185212)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js        2015-06-04 20:15:14 UTC (rev 185213)
</span><span class="lines">@@ -336,7 +336,6 @@
</span><span class="cx">
</span><span class="cx"> if (this._inConsole) {
</span><span class="cx"> WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._untrackWeakEntries, this);
</span><del>- WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._untrackWeakEntries, this);
</del><span class="cx"> WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.SessionStarted, this._untrackWeakEntries, this);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -355,7 +354,6 @@
</span><span class="cx">
</span><span class="cx"> if (this._inConsole) {
</span><span class="cx"> WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.Cleared, this._untrackWeakEntries, this);
</span><del>- WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._untrackWeakEntries, this);
</del><span class="cx"> WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.SessionStarted, this._untrackWeakEntries, this);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>