summaryrefslogtreecommitdiffstats
path: root/ppapi/api
diff options
context:
space:
mode:
authorelijahtaylor@chromium.org <elijahtaylor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-28 18:46:24 +0000
committerelijahtaylor@chromium.org <elijahtaylor@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-28 18:46:24 +0000
commit9e10e04469b019f854ac6d3606819354e671b6c9 (patch)
treeacc97eee82f1376cb981ed11132c2cc1a13e0453 /ppapi/api
parent99162f6565bb19ce54cb4b1f188b1d06bcaade3c (diff)
downloadchromium_src-9e10e04469b019f854ac6d3606819354e671b6c9.zip
chromium_src-9e10e04469b019f854ac6d3606819354e671b6c9.tar.gz
chromium_src-9e10e04469b019f854ac6d3606819354e671b6c9.tar.bz2
Reland: Add trace event Pepper API
This facilitates adding trace data to chrome://tracing from plugins. - broke out trace_event.h into trace_event.h/trace_event_internal.h for easier transplanting to plugin code by eliminating dependence on base/. - inlined trace_event.cc methods (4 total) so the trace_event_internal implementation is contained in headers. - added new PPB_TraceEvent_Dev interface (implemented entirely on the plugin side) BUG=93839 TEST=base_unittests, manual for plugin testing Review URL: https://chromiumcodereview.appspot.com/12047066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179171 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/api')
-rw-r--r--ppapi/api/dev/ppb_trace_event_dev.idl50
1 files changed, 50 insertions, 0 deletions
diff --git a/ppapi/api/dev/ppb_trace_event_dev.idl b/ppapi/api/dev/ppb_trace_event_dev.idl
new file mode 100644
index 0000000..ff01dea
--- /dev/null
+++ b/ppapi/api/dev/ppb_trace_event_dev.idl
@@ -0,0 +1,50 @@
+/* Copyright (c) 2012 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.
+ */
+
+/**
+ * This file defines the <code>PPB_Trace_Event</code> interface. It is meant
+ * to be used in plugins as the API that trace macros from trace_event.h use.
+ */
+
+label Chrome {
+ M25 = 0.1
+};
+
+interface PPB_Trace_Event_Dev {
+ /**
+ * Gets a pointer to a character for identifying a category name in the
+ * tracing system as well as for being able to early exit in client-side
+ * tracing code.
+ *
+ * NB: This mem_t return value should technically be const, but return values
+ * for Pepper IDL of mem_t type are not const. The same is true for the arg
+ * |category_enabled| for AddTraceEvent.
+ */
+ mem_t GetCategoryEnabled([in] cstr_t category_name);
+
+ /**
+ * Adds a trace event to the platform tracing system. This function call is
+ * usually the result of a TRACE_* macro from trace_event.h when tracing and
+ * the category of the particular trace are enabled. It is not advisable to
+ * call this function on its own; it is really only meant to be used by the
+ * trace macros.
+ */
+ void AddTraceEvent(
+ [in] int8_t phase,
+ [in] mem_t category_enabled,
+ [in] cstr_t name,
+ [in] uint64_t id,
+ [in] uint32_t num_args,
+ [in, size_as=num_args] str_t[] arg_names,
+ [in, size_as=num_args] uint8_t[] arg_types,
+ [in, size_as=num_args] uint64_t[] arg_values,
+ [in] uint8_t flags);
+
+ /**
+ * Sets the thread name of the calling thread in the tracing system so it will
+ * show up properly in chrome://tracing.
+ */
+ void SetThreadName([in] cstr_t thread_name);
+};