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

Unified Diff: Source/devtools/front_end/common/MessageSink.js

Issue 298333003: DevTools: Implement console message logging through an extension (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove duplicate logging Created 6 years, 7 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: Source/devtools/front_end/common/MessageSink.js
diff --git a/Source/devtools/front_end/common/MessageSink.js b/Source/devtools/front_end/common/MessageSink.js
new file mode 100644
index 0000000000000000000000000000000000000000..6d6bf4eedf1938e4de71c6b89e66ec503ad40a58
--- /dev/null
+++ b/Source/devtools/front_end/common/MessageSink.js
@@ -0,0 +1,79 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @constructor
+ * @extends {WebInspector.Object}
+ */
+WebInspector.MessageSink = function()
+{
+ /** @type {!Array.<!WebInspector.MessageSink.Message>} */
+ this._messages = [];
+}
+
+/**
+ * @enum {string}
+ */
+WebInspector.MessageSink.Events = {
+ MessageAdded: "messageAdded"
+}
+
+/**
+ * @enum {string}
+ */
+WebInspector.MessageSink.MessageLevel = {
+ Log: "log",
+ Warning: "warning",
+ Error: "error"
+}
+
+/**
+ * @constructor
+ * @param {string} text
+ * @param {!WebInspector.MessageSink.MessageLevel} level
+ * @param {number} timestamp
+ * @param {boolean} show
+ */
+WebInspector.MessageSink.Message = function(text, level, timestamp, show)
+{
+ this.text = text;
+ this.level = level;
+ this.timestamp = (typeof timestamp === "number") ? timestamp : Date.now();
+ this.show = show;
+}
+
+WebInspector.MessageSink.prototype = {
+ /**
+ * @param {string} text
+ * @param {!WebInspector.MessageSink.MessageLevel=} level
+ * @param {boolean=} show
+ */
+ addMessage: function(text, level, show)
+ {
+ var message = new WebInspector.MessageSink.Message(text, level || WebInspector.MessageSink.MessageLevel.Log, Date.now(), show || false);
+ this._messages.push(message);
+ this.dispatchEventToListeners(WebInspector.MessageSink.Events.MessageAdded, message);
+ },
+
+ /**
+ * @param {string} text
+ * @param {boolean=} show
+ */
+ addErrorMessage: function(text, show)
+ {
+ this.addMessage(text, WebInspector.MessageSink.MessageLevel.Error, show);
+ },
+
+ /**
+ * @return {!Array.<!WebInspector.MessageSink.Message>}
+ */
+ messages: function()
+ {
+ return this._messages;
+ },
+
+ __proto__: WebInspector.Object.prototype
+}
+
+WebInspector.messageSink = new WebInspector.MessageSink();
« no previous file with comments | « Source/devtools/front_end/InspectorFrontendHostStub.js ('k') | Source/devtools/front_end/common/Settings.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698