Chromium Code Reviews| Index: Source/bindings/v8/ScriptDebugServer.h | 
| diff --git a/Source/bindings/v8/ScriptDebugServer.h b/Source/bindings/v8/ScriptDebugServer.h | 
| index 3eac298301676ed8131b9171724dcd2a229eb7c8..451599dff5d13d0cb0353dfa6ffa3214ad6b9688 100644 | 
| --- a/Source/bindings/v8/ScriptDebugServer.h | 
| +++ b/Source/bindings/v8/ScriptDebugServer.h | 
| @@ -48,41 +48,77 @@ namespace WebCore { | 
| class ScriptState; | 
| class ScriptController; | 
| class ScriptDebugListener; | 
| -class ScriptObject; | 
| class ScriptSourceCode; | 
| class ScriptValue; | 
| +class StackTrace; | 
| +class ActivationFrame; | 
| class JavaScriptCallFrame; | 
| -class ScriptDebugServer { | 
| - WTF_MAKE_NONCOPYABLE(ScriptDebugServer); | 
| +class ScriptDebugServerBase { | 
| 
 
vsm
2014/06/03 14:24:49
move to common?
 
 | 
| public: | 
| 
 
vsm
2014/06/03 14:24:49
I think you need a virtual destructor on this clas
 
 | 
| - String setBreakpoint(const String& sourceID, const ScriptBreakpoint&, int* actualLineNumber, int* actualColumnNumber, bool interstatementLocation); | 
| - void removeBreakpoint(const String& breakpointId); | 
| - void clearBreakpoints(); | 
| - void setBreakpointsActivated(bool activated); | 
| + virtual String setBreakpoint(const String& sourceID, const ScriptBreakpoint&, int* actualLineNumber, int* actualColumnNumber, bool interstatementLocation) = 0; | 
| + virtual void removeBreakpoint(const String& breakpointId) = 0; | 
| + virtual void clearBreakpoints() = 0; | 
| + virtual void setBreakpointsActivated(bool) = 0; | 
| enum PauseOnExceptionsState { | 
| DontPauseOnExceptions, | 
| PauseOnAllExceptions, | 
| PauseOnUncaughtExceptions | 
| }; | 
| - PauseOnExceptionsState pauseOnExceptionsState(); | 
| - void setPauseOnExceptionsState(PauseOnExceptionsState pauseOnExceptionsState); | 
| - | 
| - void setPauseOnNextStatement(bool pause); | 
| - bool canBreakProgram(); | 
| - void breakProgram(); | 
| - void continueProgram(); | 
| - void stepIntoStatement(); | 
| - void stepOverStatement(const ScriptValue& frame); | 
| - void stepOutOfFunction(const ScriptValue& frame); | 
| + virtual PauseOnExceptionsState pauseOnExceptionsState() = 0; | 
| + virtual void setPauseOnExceptionsState(PauseOnExceptionsState) = 0; | 
| + | 
| + virtual void setPauseOnNextStatement(bool) = 0; | 
| + virtual bool canBreakProgram() = 0; | 
| + virtual void breakProgram() = 0; | 
| + virtual void continueProgram() = 0; | 
| + virtual void stepIntoStatement() = 0; | 
| + virtual void stepOverStatement(const ActivationFrame&) = 0; | 
| + virtual void stepOutOfFunction(const ActivationFrame&) = 0; | 
| + | 
| + virtual bool setScriptSource(const String& sourceID, const String& newContent, bool preview, String* error, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>&, StackTrace* newCallFrames, RefPtr<JSONObject>& result) = 0; | 
| + | 
| + virtual StackTrace currentCallFrames() = 0; | 
| + virtual StackTrace currentCallFramesForAsyncStack() = 0; | 
| + | 
| + virtual bool isPaused() = 0; | 
| + virtual bool runningNestedMessageLoop() = 0; | 
| + | 
| + virtual void compileScript(ScriptState*, const String& expression, const String& sourceURL, String* scriptId, String* exceptionMessage) { }; | 
| + virtual void clearCompiledScripts() = 0; | 
| + virtual void runScript(ScriptState*, const String& scriptId, ScriptValue* result, bool* wasThrown, String* exceptionMessage) = 0; | 
| + virtual void setPreprocessorSource(const String&) { }; | 
| + // FIXMEDART: refactor this method to not be V8 specific. | 
| + virtual void preprocessBeforeCompile(const v8::Debug::EventDetails&) { } | 
| + virtual PassOwnPtr<ScriptSourceCode> preprocess(LocalFrame*, const ScriptSourceCode&) = 0; | 
| + virtual String preprocessEventListener(LocalFrame*, const String& source, const String& url, const String& functionName) = 0; | 
| - bool setScriptSource(const String& sourceID, const String& newContent, bool preview, String* error, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>&, ScriptValue* newCallFrames, RefPtr<JSONObject>* result); | 
| - ScriptValue currentCallFrames(); | 
| - ScriptValue currentCallFramesForAsyncStack(); | 
| + virtual void muteWarningsAndDeprecations() { } | 
| + virtual void unmuteWarningsAndDeprecations() { } | 
| +}; | 
| - // FIXMEDART: moved to public to dispatch Dart debug events. | 
| - void handleV8DebugEvent(const v8::Debug::EventDetails& eventDetails); | 
| +class ScriptDebugServer : public ScriptDebugServerBase { | 
| 
 
vsm
2014/06/03 14:24:49
Rename to V8ScriptDebugServer?
 
 | 
| + WTF_MAKE_NONCOPYABLE(ScriptDebugServer); | 
| +public: | 
| + virtual String setBreakpoint(const String& sourceID, const ScriptBreakpoint&, int* actualLineNumber, int* actualColumnNumber, bool interstatementLocation); | 
| + virtual void removeBreakpoint(const String& breakpointId); | 
| + virtual void clearBreakpoints(); | 
| + virtual void setBreakpointsActivated(bool); | 
| + virtual void setPauseOnNextStatement(bool); | 
| + virtual bool canBreakProgram(); | 
| + virtual void breakProgram(); | 
| + virtual void continueProgram(); | 
| + virtual void stepIntoStatement(); | 
| + virtual void stepOverStatement(const ActivationFrame&); | 
| + virtual void stepOutOfFunction(const ActivationFrame&); | 
| + | 
| + virtual PauseOnExceptionsState pauseOnExceptionsState(); | 
| + virtual void setPauseOnExceptionsState(PauseOnExceptionsState); | 
| + | 
| + virtual bool setScriptSource(const String& sourceID, const String& newContent, bool preview, String* error, RefPtr<TypeBuilder::Debugger::SetScriptSourceError>&, StackTrace* newCallFrames, RefPtr<JSONObject>& result); | 
| + virtual StackTrace currentCallFrames(); | 
| + virtual StackTrace currentCallFramesForAsyncStack(); | 
| class Task { | 
| public: | 
| @@ -92,7 +128,7 @@ public: | 
| static void interruptAndRun(PassOwnPtr<Task>, v8::Isolate*); | 
| void runPendingTasks(); | 
| - bool isPaused(); | 
| + virtual bool isPaused(); | 
| bool runningNestedMessageLoop() { return m_runningNestedMessageLoop; } | 
| v8::Local<v8::Value> functionScopes(v8::Handle<v8::Function>); | 
| @@ -103,14 +139,9 @@ public: | 
| virtual void compileScript(ScriptState*, const String& expression, const String& sourceURL, String* scriptId, String* exceptionMessage); | 
| virtual void clearCompiledScripts(); | 
| virtual void runScript(ScriptState*, const String& scriptId, ScriptValue* result, bool* wasThrown, String* exceptionMessage); | 
| - virtual void setPreprocessorSource(const String&) { } | 
| - virtual void preprocessBeforeCompile(const v8::Debug::EventDetails&) { } | 
| virtual PassOwnPtr<ScriptSourceCode> preprocess(LocalFrame*, const ScriptSourceCode&); | 
| virtual String preprocessEventListener(LocalFrame*, const String& source, const String& url, const String& functionName); | 
| - virtual void muteWarningsAndDeprecations() { } | 
| - virtual void unmuteWarningsAndDeprecations() { } | 
| - | 
| protected: | 
| explicit ScriptDebugServer(v8::Isolate*); | 
| virtual ~ScriptDebugServer(); | 
| @@ -123,7 +154,8 @@ protected: | 
| void handleProgramBreak(v8::Handle<v8::Object> executionState, v8::Handle<v8::Value> exception, v8::Handle<v8::Array> hitBreakpoints); | 
| void handleProgramBreak(const v8::Debug::EventDetails&, v8::Handle<v8::Value> exception, v8::Handle<v8::Array> hitBreakpointNumbers); | 
| - static void v8DebugEventCallback(const v8::Debug::EventDetails& eventDetails); | 
| + void handleV8DebugEvent(const v8::Debug::EventDetails&); | 
| + static void v8DebugEventCallback(const v8::Debug::EventDetails&); | 
| void dispatchDidParseSource(ScriptDebugListener* listener, v8::Handle<v8::Object> sourceObject); | 
| @@ -145,7 +177,7 @@ private: | 
| NoScopes // Should be the last option. | 
| }; | 
| - ScriptValue currentCallFramesInner(ScopeInfoDetails); | 
| + StackTrace currentCallFramesInner(ScopeInfoDetails); | 
| void stepCommandWithFrame(const char* functionName, const ScriptValue& frame); | 
| PassRefPtr<JavaScriptCallFrame> wrapCallFrames(v8::Handle<v8::Object> executionState, int maximumLimit, ScopeInfoDetails); |