• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2014 The Chromium Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6 
7 #ifndef InspectorTracingAgent_h
8 #define InspectorTracingAgent_h
9 
10 #include "core/InspectorFrontend.h"
11 #include "core/inspector/InspectorBaseAgent.h"
12 #include "wtf/PassOwnPtr.h"
13 #include "wtf/text/WTFString.h"
14 
15 namespace WebCore {
16 
17 class InspectorClient;
18 
19 class InspectorTracingAgent FINAL
20     : public InspectorBaseAgent<InspectorTracingAgent>
21     , public InspectorBackendDispatcher::TracingCommandHandler {
22     WTF_MAKE_NONCOPYABLE(InspectorTracingAgent);
23 public:
create(InspectorClient * client)24     static PassOwnPtr<InspectorTracingAgent> create(InspectorClient* client)
25     {
26         return adoptPtr(new InspectorTracingAgent(client));
27     }
28 
29     // Base agent methods.
30     virtual void restore() OVERRIDE;
31 
32     // Protocol method implementations.
33     virtual void start(ErrorString*, const String& categoryFilter, const String&, const double*, String* sessionId) OVERRIDE;
34 
35     // Methods for other agents to use.
36     void setLayerTreeId(int);
37 
38 private:
39     explicit InspectorTracingAgent(InspectorClient*);
40 
41     void emitMetadataEvents();
42     String sessionId();
43 
44     int m_layerTreeId;
45     InspectorClient* m_client;
46 };
47 
48 }
49 
50 #endif // InspectorTracingAgent_h
51