| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 V8DebuggerAgentImpl_h | 5 #ifndef V8DebuggerAgentImpl_h |
| 6 #define V8DebuggerAgentImpl_h | 6 #define V8DebuggerAgentImpl_h |
| 7 | 7 |
| 8 #include "platform/inspector_protocol/Collections.h" | 8 #include "platform/inspector_protocol/Collections.h" |
| 9 #include "platform/inspector_protocol/String16.h" | 9 #include "platform/inspector_protocol/String16.h" |
| 10 #include "platform/v8_inspector/V8DebuggerImpl.h" | 10 #include "platform/v8_inspector/V8DebuggerImpl.h" |
| 11 #include "platform/v8_inspector/protocol/Debugger.h" | 11 #include "platform/v8_inspector/protocol/Debugger.h" |
| 12 | 12 |
| 13 #include <vector> |
| 14 |
| 13 namespace blink { | 15 namespace blink { |
| 14 | 16 |
| 15 class JavaScriptCallFrame; | 17 class JavaScriptCallFrame; |
| 16 class PromiseTracker; | 18 class PromiseTracker; |
| 17 class V8InspectorSessionImpl; | 19 class V8InspectorSessionImpl; |
| 18 class V8Regex; | 20 class V8Regex; |
| 19 class V8StackTraceImpl; | 21 class V8StackTraceImpl; |
| 20 | 22 |
| 21 namespace protocol { | 23 namespace protocol { |
| 22 class DictionaryValue; | 24 class DictionaryValue; |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 // Async call stacks implementation. | 143 // Async call stacks implementation. |
| 142 void asyncTaskScheduled(const String16& taskName, void* task, bool recurring
); | 144 void asyncTaskScheduled(const String16& taskName, void* task, bool recurring
); |
| 143 void asyncTaskCanceled(void* task); | 145 void asyncTaskCanceled(void* task); |
| 144 void asyncTaskStarted(void* task); | 146 void asyncTaskStarted(void* task); |
| 145 void asyncTaskFinished(void* task); | 147 void asyncTaskFinished(void* task); |
| 146 void allAsyncTasksCanceled(); | 148 void allAsyncTasksCanceled(); |
| 147 | 149 |
| 148 void reset(); | 150 void reset(); |
| 149 | 151 |
| 150 // Interface for V8DebuggerImpl | 152 // Interface for V8DebuggerImpl |
| 151 SkipPauseRequest didPause(v8::Local<v8::Context>, v8::Local<v8::Value> excep
tion, const protocol::Vector<String16>& hitBreakpoints, bool isPromiseRejection)
; | 153 SkipPauseRequest didPause(v8::Local<v8::Context>, v8::Local<v8::Value> excep
tion, const std::vector<String16>& hitBreakpoints, bool isPromiseRejection); |
| 152 void didContinue(); | 154 void didContinue(); |
| 153 void didParseSource(const V8DebuggerParsedScript&); | 155 void didParseSource(const V8DebuggerParsedScript&); |
| 154 bool v8AsyncTaskEventsEnabled() const; | 156 bool v8AsyncTaskEventsEnabled() const; |
| 155 void didReceiveV8AsyncTaskEvent(v8::Local<v8::Context>, const String16& even
tType, const String16& eventName, int id); | 157 void didReceiveV8AsyncTaskEvent(v8::Local<v8::Context>, const String16& even
tType, const String16& eventName, int id); |
| 156 void willExecuteScript(int scriptId); | 158 void willExecuteScript(int scriptId); |
| 157 void didExecuteScript(); | 159 void didExecuteScript(); |
| 158 | 160 |
| 159 v8::Isolate* isolate() { return m_isolate; } | 161 v8::Isolate* isolate() { return m_isolate; } |
| 160 int maxAsyncCallChainDepth() { return m_maxAsyncCallStackDepth; } | 162 int maxAsyncCallChainDepth() { return m_maxAsyncCallStackDepth; } |
| 161 V8StackTraceImpl* currentAsyncCallChain(); | 163 V8StackTraceImpl* currentAsyncCallChain(); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 184 bool isCurrentCallStackEmptyOrBlackboxed(); | 186 bool isCurrentCallStackEmptyOrBlackboxed(); |
| 185 bool isTopPausedCallFrameBlackboxed(); | 187 bool isTopPausedCallFrameBlackboxed(); |
| 186 bool isCallFrameWithUnknownScriptOrBlackboxed(JavaScriptCallFrame*); | 188 bool isCallFrameWithUnknownScriptOrBlackboxed(JavaScriptCallFrame*); |
| 187 | 189 |
| 188 void internalSetAsyncCallStackDepth(int); | 190 void internalSetAsyncCallStackDepth(int); |
| 189 void increaseCachedSkipStackGeneration(); | 191 void increaseCachedSkipStackGeneration(); |
| 190 | 192 |
| 191 bool setBlackboxPattern(ErrorString*, const String16& pattern); | 193 bool setBlackboxPattern(ErrorString*, const String16& pattern); |
| 192 | 194 |
| 193 using ScriptsMap = protocol::HashMap<String16, V8DebuggerScript>; | 195 using ScriptsMap = protocol::HashMap<String16, V8DebuggerScript>; |
| 194 using BreakpointIdToDebuggerBreakpointIdsMap = protocol::HashMap<String16, p
rotocol::Vector<String16>>; | 196 using BreakpointIdToDebuggerBreakpointIdsMap = protocol::HashMap<String16, s
td::vector<String16>>; |
| 195 using DebugServerBreakpointToBreakpointIdAndSourceMap = protocol::HashMap<St
ring16, std::pair<String16, BreakpointSource>>; | 197 using DebugServerBreakpointToBreakpointIdAndSourceMap = protocol::HashMap<St
ring16, std::pair<String16, BreakpointSource>>; |
| 196 using MuteBreakpoins = protocol::HashMap<String16, std::pair<String16, int>>
; | 198 using MuteBreakpoins = protocol::HashMap<String16, std::pair<String16, int>>
; |
| 197 | 199 |
| 198 enum DebuggerStep { | 200 enum DebuggerStep { |
| 199 NoStep = 0, | 201 NoStep = 0, |
| 200 StepInto, | 202 StepInto, |
| 201 StepOver, | 203 StepOver, |
| 202 StepOut | 204 StepOut |
| 203 }; | 205 }; |
| 204 | 206 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 224 | 226 |
| 225 int m_skippedStepFrameCount; | 227 int m_skippedStepFrameCount; |
| 226 int m_recursionLevelForStepOut; | 228 int m_recursionLevelForStepOut; |
| 227 int m_recursionLevelForStepFrame; | 229 int m_recursionLevelForStepFrame; |
| 228 bool m_skipAllPauses; | 230 bool m_skipAllPauses; |
| 229 | 231 |
| 230 using AsyncTaskToStackTrace = protocol::HashMap<void*, std::unique_ptr<V8Sta
ckTraceImpl>>; | 232 using AsyncTaskToStackTrace = protocol::HashMap<void*, std::unique_ptr<V8Sta
ckTraceImpl>>; |
| 231 AsyncTaskToStackTrace m_asyncTaskStacks; | 233 AsyncTaskToStackTrace m_asyncTaskStacks; |
| 232 protocol::HashSet<void*> m_recurringTasks; | 234 protocol::HashSet<void*> m_recurringTasks; |
| 233 int m_maxAsyncCallStackDepth; | 235 int m_maxAsyncCallStackDepth; |
| 234 protocol::Vector<void*> m_currentTasks; | 236 std::vector<void*> m_currentTasks; |
| 235 protocol::Vector<std::unique_ptr<V8StackTraceImpl>> m_currentStacks; | 237 std::vector<std::unique_ptr<V8StackTraceImpl>> m_currentStacks; |
| 236 std::unique_ptr<V8Regex> m_blackboxPattern; | 238 std::unique_ptr<V8Regex> m_blackboxPattern; |
| 237 protocol::HashMap<String16, protocol::Vector<std::pair<int, int>>> m_blackbo
xedPositions; | 239 protocol::HashMap<String16, std::vector<std::pair<int, int>>> m_blackboxedPo
sitions; |
| 238 }; | 240 }; |
| 239 | 241 |
| 240 } // namespace blink | 242 } // namespace blink |
| 241 | 243 |
| 242 | 244 |
| 243 #endif // V8DebuggerAgentImpl_h | 245 #endif // V8DebuggerAgentImpl_h |
| OLD | NEW |