Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / EventTracer.h
index a3ed4d9..81a7936 100644 (file)
 #define EventTracer_h
 
 #include "platform/PlatformExport.h"
+#include "wtf/RefCounted.h"
+#include "wtf/RefPtr.h"
+#include "wtf/text/WTFString.h"
+
 #include <stdint.h>
 
 // This will mark the trace event as disabled by default. The user will need
 // to explicitly enable the event.
 #define TRACE_DISABLED_BY_DEFAULT(name) "disabled-by-default-" name
 
-namespace WebCore {
+namespace blink {
 
 namespace TraceEvent {
 typedef uint64_t TraceEventHandle;
+
+class PLATFORM_EXPORT ConvertableToTraceFormat : public RefCounted<ConvertableToTraceFormat> {
+public:
+    virtual String asTraceFormat() const = 0;
+    virtual ~ConvertableToTraceFormat() { }
+};
+
 }
 
 // FIXME: Make these global variables thread-safe. Make a value update atomic.
@@ -56,13 +67,23 @@ public:
         const char* name,
         unsigned long long id,
         int numArgs,
-        const char** argNames,
-        const unsigned char* argTypes,
-        const unsigned long long* argValues,
+        const char* argNames[],
+        const unsigned char argTypes[],
+        const unsigned long long argValues[],
+        TraceEvent::ConvertableToTraceFormat*[],
+        unsigned char flags);
+    static TraceEvent::TraceEventHandle addTraceEvent(char phase,
+        const unsigned char* categoryEnabledFlag,
+        const char* name,
+        unsigned long long id,
+        int numArgs,
+        const char* argNames[],
+        const unsigned char argTypes[],
+        const unsigned long long argValues[],
         unsigned char flags);
-    static void updateTraceEventDuration(TraceEvent::TraceEventHandle);
+    static void updateTraceEventDuration(const unsigned char* categoryEnabledFlag, const char* name, TraceEvent::TraceEventHandle);
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // EventTracer_h