Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDeb...
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2008 16:12:14 +0000 (16:12 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2008 16:12:14 +0000 (16:12 +0000)
        Reviewed by Kevin M.

        * WebView/WebCoreScriptDebugger.h:
          - Removed newFrameWithGlobalObject:caller:state: from
            WebScriptDebugger protocol
          - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
          - Removed _current ivar from WebCoreScriptDebugger
        * WebView/WebCoreScriptDebugger.mm:
        (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
        the delegate.
        (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptDebugger dealloc]): Added code to release _current.
        (-[WebScriptDebugger enterFrame:]): Added. Code came from
        WebCoreScriptDebugger.
        (-[WebScriptDebugger leaveFrame]): Ditto.
        * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/mac/ChangeLog
WebKit/mac/WebView/WebCoreScriptDebugger.h
WebKit/mac/WebView/WebCoreScriptDebugger.mm
WebKit/mac/WebView/WebScriptDebugDelegate.mm
WebKit/mac/WebView/WebScriptDebugDelegatePrivate.h

index c4fe08a21e022a29db8d0e720fe1cd0d760d5d2f..a9934a8122c1d9bee9e46260e14b47811b415860 100644 (file)
@@ -1,3 +1,25 @@
+2008-03-05  Adam Roben  <aroben@apple.com>
+
+        Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
+
+        Reviewed by Kevin M.
+
+        * WebView/WebCoreScriptDebugger.h:
+          - Removed newFrameWithGlobalObject:caller:state: from
+            WebScriptDebugger protocol
+          - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
+          - Removed _current ivar from WebCoreScriptDebugger
+        * WebView/WebCoreScriptDebugger.mm:
+        (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
+        the delegate.
+        (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
+        * WebView/WebScriptDebugDelegate.mm:
+        (-[WebScriptDebugger dealloc]): Added code to release _current.
+        (-[WebScriptDebugger enterFrame:]): Added. Code came from
+        WebCoreScriptDebugger.
+        (-[WebScriptDebugger leaveFrame]): Ditto.
+        * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
+
 2008-03-05  Adam Roben  <aroben@apple.com>
 
         Remove WebCoreScriptCallFrame
index 818302b149ef287e7f64f8193cea616f2ed17a4d..baf214af4ec950dfaca080cc0bc3de01ed150abd 100644 (file)
@@ -47,7 +47,8 @@ NSString *toNSString(const KJS::UString&);
 @protocol WebScriptDebugger
 
 - (WebScriptObject *)globalObject;                          // return the WebView's windowScriptObject
-- (WebScriptCallFrame *)newFrameWithGlobalObject:(WebScriptObject *)globalObj caller:(WebScriptCallFrame *)caller state:(KJS::ExecState*)state;
+- (WebScriptCallFrame *)enterFrame:(KJS::ExecState*)state;
+- (WebScriptCallFrame *)leaveFrame;
 
 // debugger callbacks
 - (void)parsedSource:(NSString *)source fromURL:(NSURL *)url sourceId:(int)sid startLine:(int)startLine errorLine:(int)errorLine errorMessage:(NSString *)errorMessage;
@@ -65,7 +66,6 @@ NSString *toNSString(const KJS::UString&);
 @private
     id<WebScriptDebugger>     _delegate;      // interface to WebKit (not retained)
     WebScriptObject          *_globalObj;     // the global object's proxy (not retained)
-    WebScriptCallFrame       *_current;       // top of stack
     WebCoreScriptDebuggerImp *_debugger;      // [KJS::Debugger]
 }
 
index f50614f807e1150de52377c37e4b43f3435db1bd..a77986daee7abb31b7bdeee330649f624961776d 100644 (file)
 using namespace KJS;
 using namespace WebCore;
 
-@interface WebCoreScriptDebugger (WebCoreScriptDebuggerInternal)
-
-- (WebScriptCallFrame *)_enterFrame:(ExecState *)state;
-- (WebScriptCallFrame *)_leaveFrame;
-
-@end
-
 // convert UString to NSString
 NSString *toNSString(const UString& s)
 {
@@ -83,7 +76,7 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
     // 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;
@@ -101,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;
         }
@@ -119,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;
@@ -164,7 +157,6 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
 
 - (void)dealloc
 {
-    [_current release];
     delete _debugger;
     [super dealloc];
 }
@@ -181,20 +173,3 @@ class WebCoreScriptDebuggerImp : public KJS::Debugger {
 }
 
 @end
-
-@implementation WebCoreScriptDebugger (WebCoreScriptDebuggerInternal)
-
-- (WebScriptCallFrame *)_enterFrame:(ExecState *)state;
-{
-    _current = [_delegate newFrameWithGlobalObject:_globalObj caller:_current state:state];
-    return _current;
-}
-
-- (WebScriptCallFrame *)_leaveFrame;
-{
-    WebScriptCallFrame *caller = [[_current caller] retain];
-    [_current release];
-    return _current = caller;
-}
-
-@end
index e8297322e19b629ce27b3de76c221991197cc842..0e48bf5ac8acdfffe7507386b49d768f6e06d9fb 100644 (file)
@@ -71,6 +71,7 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
 - (void)dealloc
 {
     [_debugger release];
+    [_current release];
     [super dealloc];
 }
 
@@ -79,9 +80,17 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
     return core(_webFrame)->windowScriptObject();
 }
 
-- (WebScriptCallFrame *)newFrameWithGlobalObject:(WebScriptObject *)globalObj caller:(WebScriptCallFrame *)caller state:(ExecState*)state
+- (WebScriptCallFrame *)enterFrame:(ExecState*)state;
 {
-    return [[WebScriptCallFrame alloc] _initWithGlobalObject:globalObj caller:caller state:state];
+    _current = [[WebScriptCallFrame alloc] _initWithGlobalObject:[self globalObject] caller:_current state:state];
+    return _current;
+}
+
+- (WebScriptCallFrame *)leaveFrame;
+{
+    WebScriptCallFrame *caller = [[_current caller] retain];
+    [_current release];
+    return _current = caller;
 }
 
 - (void)parsedSource:(NSString *)source fromURL:(NSURL *)url sourceId:(int)sid startLine:(int)startLine errorLine:(int)errorLine errorMessage:(NSString *)errorMessage
index 3a7002553d127e3068300d352c88e5f4cba0e79c..ad4661257659eddcf66d99ac9de2c1dc3e92f448 100644 (file)
@@ -34,6 +34,7 @@
 @private
     WebFrame               *_webFrame;
     WebCoreScriptDebugger  *_debugger;
+    WebScriptCallFrame     *_current;       // top of stack
 }
 
 - (WebScriptDebugger *)initWithWebFrame:(WebFrame *)webFrame;