Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Unified Diff: third_party/WebKit/Source/core/inspector/v8/V8DebuggerAgent.h

Issue 1367623006: DevTools: extract V8DebuggerAgent interface, move it under .../inspector/v8 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/inspector/v8/V8DebuggerAgent.h
diff --git a/third_party/WebKit/Source/core/inspector/v8/V8DebuggerAgent.h b/third_party/WebKit/Source/core/inspector/v8/V8DebuggerAgent.h
new file mode 100644
index 0000000000000000000000000000000000000000..6d94d8100a8c5c8fd3786b086c245706c3786b10
--- /dev/null
+++ b/third_party/WebKit/Source/core/inspector/v8/V8DebuggerAgent.h
@@ -0,0 +1,130 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef V8DebuggerAgent_h
+#define V8DebuggerAgent_h
+
+#include "core/CoreExport.h"
+#include "core/InspectorFrontend.h"
+#include "wtf/Forward.h"
+#include "wtf/PassRefPtr.h"
+
+namespace blink {
+
+class InjectedScript;
+class InjectedScriptManager;
+class InspectorState;
+class JSONObject;
+class RemoteCallFrameId;
+class ScriptAsyncCallStack;
+class V8Debugger;
+
+typedef String ErrorString;
+
+class CORE_EXPORT V8DebuggerAgent {
+public:
+ class CORE_EXPORT Client {
+ public:
+ virtual ~Client() { }
+ virtual void debuggerAgentEnabled() = 0;
+ virtual void debuggerAgentDisabled() = 0;
+ virtual void muteConsole() = 0;
+ virtual void unmuteConsole() = 0;
+ virtual InjectedScript defaultInjectedScript() = 0;
+
+ virtual void asyncCallTrackingStateChanged(bool tracking) = 0;
+ virtual void resetAsyncOperations() = 0;
+ };
+
+ // FIXME: remove this enum from public interface once InjectedScriptHost is moved to the implementation.
+ enum BreakpointSource {
+ UserBreakpointSource,
+ DebugCommandBreakpointSource,
+ MonitorCommandBreakpointSource
+ };
+
+ static const char backtraceObjectGroup[];
+
+ // FIXME: injected script management should be an implementation details. This method should only accept client.
+ static PassOwnPtr<V8DebuggerAgent> create(InjectedScriptManager*, V8Debugger*, V8DebuggerAgent::Client*, int contextGroupId);
+ virtual ~V8DebuggerAgent() { }
+
+ // Protocol methods.
+ virtual void enable(ErrorString*) = 0;
+ virtual void disable(ErrorString*) = 0;
+ virtual void setBreakpointsActive(ErrorString*, bool in_active) = 0;
+ virtual void setSkipAllPauses(ErrorString*, bool in_skipped) = 0;
+ virtual void setBreakpointByUrl(ErrorString*, int in_lineNumber, const String* in_url, const String* in_urlRegex, const int* in_columnNumber, const String* in_condition, TypeBuilder::Debugger::BreakpointId* out_breakpointId, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::Location>>& out_locations) = 0;
+ virtual void setBreakpoint(ErrorString*, const RefPtr<JSONObject>& in_location, const String* in_condition, TypeBuilder::Debugger::BreakpointId* out_breakpointId, RefPtr<TypeBuilder::Debugger::Location>& out_actualLocation) = 0;
+ virtual void removeBreakpoint(ErrorString*, const String& in_breakpointId) = 0;
+ virtual void continueToLocation(ErrorString*, const RefPtr<JSONObject>& in_location, const bool* in_interstatementLocation) = 0;
+ virtual void stepOver(ErrorString*) = 0;
+ virtual void stepInto(ErrorString*) = 0;
+ virtual void stepOut(ErrorString*) = 0;
+ virtual void pause(ErrorString*) = 0;
+ virtual void resume(ErrorString*) = 0;
+ virtual void stepIntoAsync(ErrorString*) = 0;
+ virtual void searchInContent(ErrorString*, const String& in_scriptId, const String& in_query, const bool* in_caseSensitive, const bool* in_isRegex, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::SearchMatch>>& out_result) = 0;
+ virtual void canSetScriptSource(ErrorString*, bool* out_result) = 0;
+ virtual void setScriptSource(ErrorString*, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>& errorData, const String& in_scriptId, const String& in_scriptSource, const bool* in_preview, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CallFrame>>& opt_out_callFrames, TypeBuilder::OptOutput<bool>* opt_out_stackChanged, RefPtr<TypeBuilder::Debugger::StackTrace>& opt_out_asyncStackTrace) = 0;
+ virtual void restartFrame(ErrorString*, const String& in_callFrameId, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CallFrame>>& out_callFrames, RefPtr<TypeBuilder::Debugger::StackTrace>& opt_out_asyncStackTrace) = 0;
+ virtual void getScriptSource(ErrorString*, const String& in_scriptId, String* out_scriptSource) = 0;
+ virtual void getFunctionDetails(ErrorString*, const String& in_functionId, RefPtr<TypeBuilder::Debugger::FunctionDetails>& out_details) = 0;
+ virtual void getGeneratorObjectDetails(ErrorString*, const String& in_objectId, RefPtr<TypeBuilder::Debugger::GeneratorObjectDetails>& out_details) = 0;
+ virtual void getCollectionEntries(ErrorString*, const String& in_objectId, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CollectionEntry>>& out_entries) = 0;
+ virtual void setPauseOnExceptions(ErrorString*, const String& in_state) = 0;
+ virtual void evaluateOnCallFrame(ErrorString*, const String& in_callFrameId, const String& in_expression, const String* in_objectGroup, const bool* in_includeCommandLineAPI, const bool* in_doNotPauseOnExceptionsAndMuteConsole, const bool* in_returnByValue, const bool* in_generatePreview, RefPtr<TypeBuilder::Runtime::RemoteObject>& out_result, TypeBuilder::OptOutput<bool>* opt_out_wasThrown, RefPtr<TypeBuilder::Debugger::ExceptionDetails>& opt_out_exceptionDetails) = 0;
+ virtual void compileScript(ErrorString*, const String& in_expression, const String& in_sourceURL, bool in_persistScript, const int* in_executionContextId, TypeBuilder::OptOutput<TypeBuilder::Debugger::ScriptId>* opt_out_scriptId, RefPtr<TypeBuilder::Debugger::ExceptionDetails>& opt_out_exceptionDetails) = 0;
+ virtual void runScript(ErrorString*, const String& in_scriptId, const int* in_executionContextId, const String* in_objectGroup, const bool* in_doNotPauseOnExceptionsAndMuteConsole, RefPtr<TypeBuilder::Runtime::RemoteObject>& out_result, RefPtr<TypeBuilder::Debugger::ExceptionDetails>& opt_out_exceptionDetails) = 0;
+ virtual void setVariableValue(ErrorString*, int in_scopeNumber, const String& in_variableName, const RefPtr<JSONObject>& in_newValue, const String* in_callFrameId, const String* in_functionObjectId) = 0;
+ virtual void getStepInPositions(ErrorString*, const String& in_callFrameId, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::Location>>& opt_out_stepInPositions) = 0;
+ virtual void getBacktrace(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Debugger::CallFrame>>& out_callFrames, RefPtr<TypeBuilder::Debugger::StackTrace>& opt_out_asyncStackTrace) = 0;
+ virtual void skipStackFrames(ErrorString*, const String* in_script, const bool* in_skipContentScripts) = 0;
+ virtual void setAsyncCallStackDepth(ErrorString*, int in_maxDepth) = 0;
+ virtual void enablePromiseTracker(ErrorString*, const bool* in_captureStacks) = 0;
+ virtual void disablePromiseTracker(ErrorString*) = 0;
+ virtual void getPromiseById(ErrorString*, int in_promiseId, const String* in_objectGroup, RefPtr<TypeBuilder::Runtime::RemoteObject>& out_promise) = 0;
+ virtual void flushAsyncOperationEvents(ErrorString*) = 0;
+ virtual void setAsyncOperationBreakpoint(ErrorString*, int in_operationId) = 0;
+ virtual void removeAsyncOperationBreakpoint(ErrorString*, int in_operationId) = 0;
+
+ // State management methods.
+ virtual void setInspectorState(InspectorState*) = 0;
+ virtual void setFrontend(InspectorFrontend::Debugger*) = 0;
+ virtual void clearFrontend() = 0;
+ virtual void restore() = 0;
+
+ // API for the embedder to report native activities.
+ virtual void schedulePauseOnNextStatement(InspectorFrontend::Debugger::Reason::Enum breakReason, PassRefPtr<JSONObject> data) = 0;
+ virtual void cancelPauseOnNextStatement() = 0;
+ virtual bool canBreakProgram() = 0;
+ virtual void breakProgram(InspectorFrontend::Debugger::Reason::Enum breakReason, PassRefPtr<JSONObject> data) = 0;
+ virtual void willExecuteScript(int scriptId) = 0;
+ virtual void didExecuteScript() = 0;
+ virtual void reset() = 0;
+
+ virtual bool isPaused() = 0;
+ virtual bool enabled() = 0;
+ virtual V8Debugger& debugger() = 0;
+
+ virtual void setBreakpoint(const String& scriptId, int lineNumber, int columnNumber, BreakpointSource, const String& condition = String()) = 0;
+ virtual void removeBreakpoint(const String& scriptId, int lineNumber, int columnNumber, BreakpointSource) = 0;
+
+ // Async call stacks implementation
+ virtual PassRefPtrWillBeRawPtr<ScriptAsyncCallStack> currentAsyncStackTraceForConsole() = 0;
+ static const int unknownAsyncOperationId;
+ virtual int traceAsyncOperationStarting(const String& description) = 0;
+ virtual void traceAsyncCallbackStarting(int operationId) = 0;
+ virtual void traceAsyncCallbackCompleted() = 0;
+ virtual void traceAsyncOperationCompleted(int operationId) = 0;
+ virtual bool trackingAsyncCalls() const = 0;
+
+ virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0;
+ virtual InjectedScriptManager* injectedScriptManager() = 0;
+};
+
+} // namespace blink
+
+
+#endif // V8DebuggerAgent_h

Powered by Google App Engine
This is Rietveld 408576698