Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Unified Diff: third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js

Issue 2970313002: DevTools: do not clear console when preserving log (Closed)
Patch Set: Move conditions into one place Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js b/third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js
index ad35836ac61d2c33e12da8ba71ac39b209caff1e..749e7f6b82309fb16cc6e59759516049652e1330 100644
--- a/third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js
@@ -45,6 +45,23 @@ ConsoleModel.ConsoleModel = class extends Common.Object {
SDK.targetManager.observeTargets(this);
}
+ /**
+ * @param {!ConsoleModel.ConsoleMessage} message
+ * @return {boolean}
+ */
+ static canMessageClearConsole(message) {
+ if (Common.moduleSetting('preserveConsoleLog').get() ||
luoe 2017/07/06 22:16:00 ConsoleModel is the only place that knows that pre
pfeldman 2017/07/12 21:17:28 As you prefer.
+ message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI ||
+ message.type !== ConsoleModel.ConsoleMessage.MessageType.Clear)
+ return false;
+ var runtimeModel = message.runtimeModel();
+ var executionContext = runtimeModel.executionContext(message.executionContextId);
pfeldman 2017/07/12 21:17:28 when executionContext.isDefault === false, we shou
luoe 2017/07/13 00:42:03 Done.
+ var resourceTreeModel = runtimeModel.target().model(SDK.ResourceTreeModel);
+ var frame = resourceTreeModel && executionContext && executionContext.frameId &&
pfeldman 2017/07/12 21:17:28 If there is no resourceTreeModel, we should allow
luoe 2017/07/13 00:42:03 Done.
+ resourceTreeModel.frameForId(executionContext.frameId);
+ return !!(frame && frame.isMainFrame());
+ }
+
/**
* @override
* @param {!SDK.Target} target
@@ -160,8 +177,7 @@ ConsoleModel.ConsoleModel = class extends Common.Object {
if (msg.source === ConsoleModel.ConsoleMessage.MessageSource.Worker && SDK.targetManager.targetById(msg.workerId))
return;
- if (msg.source === ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI &&
- msg.type === ConsoleModel.ConsoleMessage.MessageType.Clear)
+ if (ConsoleModel.ConsoleModel.canMessageClearConsole(msg))
this._clear();
this._messages.push(msg);

Powered by Google App Engine
This is Rietveld 408576698