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 V8DebuggerAgent_h | 5 #ifndef V8DebuggerAgent_h |
6 #define V8DebuggerAgent_h | 6 #define V8DebuggerAgent_h |
7 | 7 |
8 #include "bindings/core/v8/ScriptState.h" | 8 #include "bindings/core/v8/ScriptState.h" |
9 #include "bindings/core/v8/ScriptValue.h" | 9 #include "bindings/core/v8/ScriptValue.h" |
10 #include "core/CoreExport.h" | 10 #include "core/CoreExport.h" |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 // PromiseTracker::Listener | 163 // PromiseTracker::Listener |
164 void didUpdatePromise(InspectorFrontend::Debugger::EventType::Enum, PassRefP
tr<TypeBuilder::Debugger::PromiseDetails>) final; | 164 void didUpdatePromise(InspectorFrontend::Debugger::EventType::Enum, PassRefP
tr<TypeBuilder::Debugger::PromiseDetails>) final; |
165 | 165 |
166 InjectedScript injectedScriptForEval(ErrorString*, const int* executionConte
xtId); | 166 InjectedScript injectedScriptForEval(ErrorString*, const int* executionConte
xtId); |
167 InjectedScriptManager* injectedScriptManager() { return m_injectedScriptMana
ger; } | 167 InjectedScriptManager* injectedScriptManager() { return m_injectedScriptMana
ger; } |
168 void reset(); | 168 void reset(); |
169 | 169 |
170 private: | 170 private: |
171 bool checkEnabled(ErrorString*); | 171 bool checkEnabled(ErrorString*); |
172 void enable(); | 172 void enable(); |
173 void disable(); | |
174 | 173 |
175 SkipPauseRequest didPause(v8::Local<v8::Context>, v8::Local<v8::Object> call
Frames, v8::Local<v8::Value> exception, const Vector<String>& hitBreakpoints, bo
ol isPromiseRejection) final; | 174 SkipPauseRequest didPause(v8::Local<v8::Context>, v8::Local<v8::Object> call
Frames, v8::Local<v8::Value> exception, const Vector<String>& hitBreakpoints, bo
ol isPromiseRejection) final; |
176 void didContinue() final; | 175 void didContinue() final; |
177 | 176 |
178 SkipPauseRequest shouldSkipExceptionPause(); | 177 SkipPauseRequest shouldSkipExceptionPause(); |
179 SkipPauseRequest shouldSkipStepPause(); | 178 SkipPauseRequest shouldSkipStepPause(); |
180 | 179 |
181 void schedulePauseOnNextStatementIfSteppingInto(); | 180 void schedulePauseOnNextStatementIfSteppingInto(); |
182 | 181 |
183 PassRefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CallFrame>> currentCall
Frames(); | 182 PassRefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CallFrame>> currentCall
Frames(); |
184 PassRefPtr<TypeBuilder::Debugger::StackTrace> currentAsyncStackTrace(); | 183 PassRefPtr<TypeBuilder::Debugger::StackTrace> currentAsyncStackTrace(); |
185 bool callStackForId(ErrorString*, const RemoteCallFrameId&, v8::Local<v8::Ob
ject>* callStack, bool* isAsync); | 184 bool callStackForId(ErrorString*, const RemoteCallFrameId&, v8::Local<v8::Ob
ject>* callStack, bool* isAsync); |
186 | 185 |
187 void clearCurrentAsyncOperation(); | 186 void clearCurrentAsyncOperation(); |
188 void resetAsyncCallTracker(); | 187 void resetAsyncCallTracker(); |
189 | 188 |
190 void changeJavaScriptRecursionLevel(int step); | 189 void changeJavaScriptRecursionLevel(int step); |
191 | 190 |
192 void didParseSource(const ParsedScript&) final; | 191 void didParseSource(const ParsedScript&) final; |
193 bool v8AsyncTaskEventsEnabled() const final; | 192 bool v8AsyncTaskEventsEnabled() const final; |
194 void didReceiveV8AsyncTaskEvent(v8::Local<v8::Context>, const String& eventT
ype, const String& eventName, int id) final; | 193 void didReceiveV8AsyncTaskEvent(v8::Local<v8::Context>, const String& eventT
ype, const String& eventName, int id) final; |
195 bool v8PromiseEventsEnabled() const final; | 194 bool v8PromiseEventsEnabled() const final; |
196 void didReceiveV8PromiseEvent(v8::Local<v8::Context>, v8::Local<v8::Object>
promise, v8::Local<v8::Value> parentPromise, int status) final; | 195 void didReceiveV8PromiseEvent(v8::Local<v8::Context>, v8::Local<v8::Object>
promise, v8::Local<v8::Value> parentPromise, int status) final; |
197 | 196 |
198 void setPauseOnExceptionsImpl(ErrorString*, int); | 197 void setPauseOnExceptionsImpl(ErrorString*, int); |
199 | 198 |
200 PassRefPtr<TypeBuilder::Debugger::Location> resolveBreakpoint(const String&
breakpointId, const String& scriptId, const ScriptBreakpoint&, BreakpointSource)
; | 199 PassRefPtr<TypeBuilder::Debugger::Location> resolveBreakpoint(const String&
breakpointId, const String& scriptId, const ScriptBreakpoint&, BreakpointSource)
; |
201 void removeBreakpoint(const String& breakpointId); | 200 void removeBreakpoint(const String& breakpointId); |
202 void clear(); | |
203 void clearStepIntoAsync(); | 201 void clearStepIntoAsync(); |
204 bool assertPaused(ErrorString*); | 202 bool assertPaused(ErrorString*); |
205 void clearBreakDetails(); | 203 void clearBreakDetails(); |
206 | 204 |
207 String sourceMapURLForScript(const Script&, CompileResult); | 205 String sourceMapURLForScript(const Script&, CompileResult); |
208 | 206 |
209 bool isCallStackEmptyOrBlackboxed(); | 207 bool isCallStackEmptyOrBlackboxed(); |
210 bool isTopCallFrameBlackboxed(); | 208 bool isTopCallFrameBlackboxed(); |
211 bool isCallFrameWithUnknownScriptOrBlackboxed(PassRefPtr<JavaScriptCallFrame
>); | 209 bool isCallFrameWithUnknownScriptOrBlackboxed(PassRefPtr<JavaScriptCallFrame
>); |
212 PromiseTracker& promiseTracker() const { return *m_promiseTracker; } | |
213 | 210 |
214 void internalSetAsyncCallStackDepth(int); | 211 void internalSetAsyncCallStackDepth(int); |
215 void increaseCachedSkipStackGeneration(); | 212 void increaseCachedSkipStackGeneration(); |
216 PassRefPtr<TypeBuilder::Debugger::ExceptionDetails> createExceptionDetails(v
8::Isolate*, v8::Local<v8::Message>); | 213 PassRefPtr<TypeBuilder::Debugger::ExceptionDetails> createExceptionDetails(v
8::Isolate*, v8::Local<v8::Message>); |
217 | 214 |
218 typedef HashMap<String, Script> ScriptsMap; | 215 typedef HashMap<String, Script> ScriptsMap; |
219 typedef HashMap<String, Vector<String>> BreakpointIdToDebuggerBreakpointIdsM
ap; | 216 typedef HashMap<String, Vector<String>> BreakpointIdToDebuggerBreakpointIdsM
ap; |
220 typedef HashMap<String, std::pair<String, BreakpointSource>> DebugServerBrea
kpointToBreakpointIdAndSourceMap; | 217 typedef HashMap<String, std::pair<String, BreakpointSource>> DebugServerBrea
kpointToBreakpointIdAndSourceMap; |
221 | 218 |
222 enum DebuggerStep { | 219 enum DebuggerStep { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 int m_currentAsyncOperationId; | 269 int m_currentAsyncOperationId; |
273 bool m_pendingTraceAsyncOperationCompleted; | 270 bool m_pendingTraceAsyncOperationCompleted; |
274 bool m_startingStepIntoAsync; | 271 bool m_startingStepIntoAsync; |
275 V8GlobalValueMap<String, v8::Script, v8::kNotWeak> m_compiledScripts; | 272 V8GlobalValueMap<String, v8::Script, v8::kNotWeak> m_compiledScripts; |
276 }; | 273 }; |
277 | 274 |
278 } // namespace blink | 275 } // namespace blink |
279 | 276 |
280 | 277 |
281 #endif // V8DebuggerAgent_h | 278 #endif // V8DebuggerAgent_h |
OLD | NEW |