Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / child / shared_worker_devtools_agent.h
blob2d6a732a3300e900e0ac1bfe43c09725c0203784
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_CHILD_SHARED_WORKER_DEVTOOLS_AGENT_H_
6 #define CONTENT_CHILD_SHARED_WORKER_DEVTOOLS_AGENT_H_
8 #include <string>
10 #include "base/basictypes.h"
12 namespace IPC {
13 class Message;
16 namespace blink {
17 class WebSharedWorker;
18 class WebString;
21 namespace content {
23 class SharedWorkerDevToolsAgent {
24 public:
25 SharedWorkerDevToolsAgent(int route_id, blink::WebSharedWorker*);
26 ~SharedWorkerDevToolsAgent();
28 // Called on the Worker thread.
29 bool OnMessageReceived(const IPC::Message& message);
30 void SendDevToolsMessage(int call_id,
31 const blink::WebString& message,
32 const blink::WebString& post_state);
34 private:
35 void OnAttach(const std::string& host_id);
36 void OnReattach(const std::string& host_id, const std::string& state);
37 void OnDetach();
38 void OnDispatchOnInspectorBackend(const std::string& message);
40 bool Send(IPC::Message* message);
41 const int route_id_;
42 blink::WebSharedWorker* webworker_;
44 DISALLOW_COPY_AND_ASSIGN(SharedWorkerDevToolsAgent);
47 } // namespace content
49 #endif // CONTENT_CHILD_SHARED_WORKER_DEVTOOLS_AGENT_H_