Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDeb...
[WebKit-https.git] / WebKit / mac / WebView / WebCoreScriptDebugger.mm
index a96277c62474e86c5ad1032377054c13ec2be1e7..a77986daee7abb31b7bdeee330649f624961776d 100644 (file)
@@ -32,6 +32,7 @@
 
 #import "WebCoreScriptDebugger.h"
 
+#import "WebScriptDebugDelegate.h"
 #import <JavaScriptCore/ExecState.h>
 #import <JavaScriptCore/JSGlobalObject.h>
 #import <JavaScriptCore/debugger.h>
 using namespace KJS;
 using namespace WebCore;
 
-@interface WebCoreScriptDebugger (WebCoreScriptDebuggerInternal)
-
-- (WebCoreScriptCallFrame *)_enterFrame:(ExecState *)state;
-- (WebCoreScriptCallFrame *)_leaveFrame;
-
-@end
-
-@interface WebCoreScriptCallFrame (WebCoreScriptDebuggerInternal)
-
-- (WebCoreScriptCallFrame *)_initWithGlobalObject:(WebScriptObject *)globalObj caller:(WebCoreScriptCallFrame *)caller state:(ExecState *)state;
-- (void)_setWrapper:(id)wrapper;
-
-@end
-
 // convert UString to NSString
 NSString *toNSString(const UString& s)
 {
@@ -83,13 +70,13 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
   private:
     WebCoreScriptDebugger  *_objc;      // our ObjC half
     bool                    _nested;    // true => this is a nested call
-    WebCoreScriptCallFrame *_current;   // top stack frame (copy of same field from ObjC side)
+    WebScriptCallFrame *_current;   // top stack frame (copy of same field from ObjC side)
 
   public:
     // constructor
     WebCoreScriptDebuggerImp(WebCoreScriptDebugger *objc, JSGlobalObject* globalObject) : _objc(objc) {
         _nested = true;
-        _current = [_objc _enterFrame:globalObject->globalExec()];
+        _current = [[_objc delegate] enterFrame:globalObject->globalExec()];
         attach(globalObject);
         [[_objc delegate] enteredFrame:_current sourceId:-1 line:-1];
         _nested = false;
@@ -107,7 +94,7 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
     virtual bool callEvent(ExecState *state, int sid, int lineno, JSObject *func, const List &args) {
         if (!_nested) {
             _nested = true;
-            _current = [_objc _enterFrame:state];
+            _current = [[_objc delegate] enterFrame:state];
             [[_objc delegate] enteredFrame:_current sourceId:sid line:lineno];
             _nested = false;
         }
@@ -125,7 +112,7 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
         if (!_nested) {
             _nested = true;
             [[_objc delegate] leavingFrame:_current sourceId:sid line:lineno];
-            _current = [_objc _leaveFrame];
+            _current = [[_objc delegate] leaveFrame];
             _nested = false;
         }
         return true;
@@ -170,7 +157,6 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
 
 - (void)dealloc
 {
-    [_current release];
     delete _debugger;
     [super dealloc];
 }
@@ -187,99 +173,3 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
 }
 
 @end
-
-@implementation WebCoreScriptDebugger (WebCoreScriptDebuggerInternal)
-
-- (WebCoreScriptCallFrame *)_enterFrame:(ExecState *)state;
-{
-    WebCoreScriptCallFrame *callee = [[WebCoreScriptCallFrame alloc] _initWithGlobalObject:_globalObj caller:_current state:state];
-    [callee _setWrapper:[_delegate newWrapperForFrame:callee]];
-    return _current = callee;
-}
-
-- (WebCoreScriptCallFrame *)_leaveFrame;
-{
-    WebCoreScriptCallFrame *caller = [[_current caller] retain];
-    [_current release];
-    return _current = caller;
-}
-
-@end
-
-// WebCoreScriptCallFrame
-//
-// One of these is created to represent each stack frame.  Additionally, there is a "global"
-// frame to represent the outermost scope.  This global frame is always the last frame in
-// the chain of callers.
-//
-// The delegate can assign a "wrapper" to each frame object so it can relay calls through its
-// own exported interface.  This class is private to WebCore (and the delegate).
-
-@implementation WebCoreScriptCallFrame (WebCoreScriptDebuggerInternal)
-
-- (WebCoreScriptCallFrame *)_initWithGlobalObject:(WebScriptObject *)globalObj caller:(WebCoreScriptCallFrame *)caller state:(ExecState *)state
-{
-    if ((self = [super init])) {
-        _globalObj = globalObj;
-        _caller    = caller;    // (already retained)
-        _state     = state;
-    }
-    return self;
-}
-
-- (void)_setWrapper:(id)wrapper
-{
-    _wrapper = wrapper;     // (already retained)
-}
-
-@end
-
-@implementation WebCoreScriptCallFrame
-
-- (id)_convertValueToObjcValue:(JSValue *)value
-{
-    if (!value)
-        return nil;
-
-    if (value == [_globalObj _imp])
-        return _globalObj;
-
-    Bindings::RootObject* root1 = [_globalObj _originRootObject];
-    if (!root1)
-        return nil;
-
-    Bindings::RootObject* root2 = [_globalObj _rootObject];
-    if (!root2)
-        return nil;
-
-    return [WebScriptObject _convertValueToObjcValue:value originRootObject:root1 rootObject:root2];
-}
-
-- (void)dealloc
-{
-    [_wrapper release];
-    [_caller release];
-    [super dealloc];
-}
-
-- (id)wrapper
-{
-    return _wrapper;
-}
-
-- (WebScriptObject *)globalObject
-{
-    return _globalObj;
-}
-
-- (WebCoreScriptCallFrame *)caller
-{
-    return _caller;
-}
-
-- (ExecState*)state
-{
-    return _state;
-}
-
-@end