summaryrefslogtreecommitdiffstats
path: root/dom/console/nsIConsoleAPIStorage.idl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/console/nsIConsoleAPIStorage.idl')
-rw-r--r--dom/console/nsIConsoleAPIStorage.idl65
1 files changed, 65 insertions, 0 deletions
diff --git a/dom/console/nsIConsoleAPIStorage.idl b/dom/console/nsIConsoleAPIStorage.idl
new file mode 100644
index 0000000000..ec3638c295
--- /dev/null
+++ b/dom/console/nsIConsoleAPIStorage.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+#include "nsIPrincipal.idl"
+
+[scriptable, uuid(9e32a7b6-c4d1-4d9a-87b9-1ef6b75c27a9)]
+interface nsIConsoleAPIStorage : nsISupports
+{
+ /**
+ * Get the events array by inner window ID or all events from all windows.
+ *
+ * @param string [aId]
+ * Optional, the inner window ID for which you want to get the array of
+ * cached events.
+ * @returns array
+ * The array of cached events for the given window. If no |aId| is
+ * given this function returns all of the cached events, from any
+ * window.
+ */
+ jsval getEvents([optional] in AString aId);
+
+ /**
+ * Adds a listener to be notified of log events.
+ *
+ * @param jsval [aListener]
+ * A JS listener which will be notified with the message object when
+ * a log event occurs.
+ * @param nsIPrincipal [aPrincipal]
+ * The principal of the listener - used to determine if we need to
+ * clone the message before forwarding it.
+ */
+ void addLogEventListener(in jsval aListener, in nsIPrincipal aPrincipal);
+
+ /**
+ * Removes a listener added with `addLogEventListener`.
+ *
+ * @param jsval [aListener]
+ * A JS listener which was added with `addLogEventListener`.
+ */
+ void removeLogEventListener(in jsval aListener);
+
+ /**
+ * Record an event associated with the given window ID.
+ *
+ * @param string aId
+ * The ID of the inner window for which the event occurred or "jsm" for
+ * messages logged from JavaScript modules..
+ * @param object aEvent
+ * A JavaScript object you want to store.
+ */
+ void recordEvent(in AString aId, in jsval aEvent);
+
+ /**
+ * Clear storage data for the given window.
+ *
+ * @param string [aId]
+ * Optional, the inner window ID for which you want to clear the
+ * messages. If this is not specified all of the cached messages are
+ * cleared, from all window objects.
+ */
+ void clearEvents([optional] in AString aId);
+};