OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ThreadDebugger_h | 5 #ifndef ThreadDebugger_h |
6 #define ThreadDebugger_h | 6 #define ThreadDebugger_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "platform/v8_inspector/public/V8Debugger.h" | 9 #include "platform/v8_inspector/public/V8Debugger.h" |
10 #include "platform/v8_inspector/public/V8DebuggerClient.h" | 10 #include "platform/v8_inspector/public/V8DebuggerClient.h" |
11 #include "wtf/Forward.h" | 11 #include "wtf/Forward.h" |
12 | 12 |
13 #include <v8.h> | 13 #include <v8.h> |
14 | 14 |
15 namespace blink { | 15 namespace blink { |
16 | 16 |
| 17 class ConsoleMessage; |
17 class WorkerThread; | 18 class WorkerThread; |
18 | 19 |
19 class CORE_EXPORT ThreadDebugger : public V8DebuggerClient { | 20 class CORE_EXPORT ThreadDebugger : public V8DebuggerClient { |
20 WTF_MAKE_NONCOPYABLE(ThreadDebugger); | 21 WTF_MAKE_NONCOPYABLE(ThreadDebugger); |
21 public: | 22 public: |
22 explicit ThreadDebugger(v8::Isolate*); | 23 explicit ThreadDebugger(v8::Isolate*); |
23 ~ThreadDebugger() override; | 24 ~ThreadDebugger() override; |
24 | 25 |
25 // V8DebuggerClient implementation. | 26 // V8DebuggerClient implementation. |
26 void eventListeners(v8::Local<v8::Value>, V8EventListenerInfoList&) override
; | 27 void eventListeners(v8::Local<v8::Value>, V8EventListenerInfoList&) override
; |
27 String16 valueSubtype(v8::Local<v8::Value>) override; | 28 String16 valueSubtype(v8::Local<v8::Value>) override; |
28 bool formatAccessorsAsProperties(v8::Local<v8::Value>) override; | 29 bool formatAccessorsAsProperties(v8::Local<v8::Value>) override; |
29 bool isExecutionAllowed() override; | 30 bool isExecutionAllowed() override; |
30 double currentTimeMS() override; | 31 double currentTimeMS() override; |
| 32 void reportMessageToConsole(v8::Local<v8::Context>, MessageType, MessageLeve
l, const String16& message, const v8::FunctionCallbackInfo<v8::Value>* arguments
, unsigned skipArgumentCount, int maxStackSize) final; |
| 33 void consoleTime(const String16& title) override; |
| 34 void consoleTimeEnd(const String16& title) override; |
| 35 void consoleTimeStamp(const String16& title) override; |
31 | 36 |
32 V8Debugger* debugger() const { return m_debugger.get(); } | 37 V8Debugger* debugger() const { return m_debugger.get(); } |
33 virtual bool isWorker() { return true; } | 38 virtual bool isWorker() { return true; } |
| 39 protected: |
| 40 virtual void reportMessageToConsole(v8::Local<v8::Context>, ConsoleMessage*)
= 0; |
34 | 41 |
35 protected: | |
36 v8::Isolate* m_isolate; | 42 v8::Isolate* m_isolate; |
37 OwnPtr<V8Debugger> m_debugger; | 43 OwnPtr<V8Debugger> m_debugger; |
38 }; | 44 }; |
39 | 45 |
40 } // namespace blink | 46 } // namespace blink |
41 | 47 |
42 #endif // ThreadDebugger_h | 48 #endif // ThreadDebugger_h |
OLD | NEW |