Remove -webFrame and -globalObject from WebScriptDebugger
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2008 16:14:27 +0000 (16:14 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Mar 2008 16:14:27 +0000 (16:14 +0000)
WebCore:

        Export a header/symbol for WebKit

        Reviewed by Kevin M.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:

WebKit/mac:

        Remove -webFrame and -globalObject from WebScriptDebugger

        WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger

        Reviewed by Kevin M.

        * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
        parameter to the constructor.
        * WebView/WebCoreScriptDebuggerImp.mm:
        (toWebFrame): Added.
        (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
        (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
        WindowScriptObject ourselves instead of asking WebScriptDebugger for
        it.
        (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
        (WebCoreScriptDebuggerImp::returnEvent): Ditto.
        (WebCoreScriptDebuggerImp::exception): Ditto.
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
        WebScriptDebuggerImp's constructor.
        * WebView/WebScriptDebugDelegatePrivate.h: Removed
        -webFrame/-globalObject.

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

WebCore/ChangeLog
WebCore/WebCore.base.exp
WebCore/WebCore.xcodeproj/project.pbxproj
WebKit/mac/ChangeLog
WebKit/mac/WebView/WebCoreScriptDebuggerImp.h
WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm
WebKit/mac/WebView/WebScriptDebugDelegate.mm
WebKit/mac/WebView/WebScriptDebugDelegatePrivate.h

index 0fe6fe6ae0314d482720a4cc8f501c1df815ad1d..9119a5b4c3f74daba63304bcd4d104cf5c372a7c 100644 (file)
 
         * WebCore.base.exp:  Remove symbol that no longer exists from the exports file.
 
+2008-03-05  Adam Roben  <aroben@apple.com>
+
+        Export a header/symbol for WebKit
+
+        Reviewed by Kevin M.
+
+        * WebCore.base.exp:
+        * WebCore.xcodeproj/project.pbxproj:
+
 2008-03-05  Adam Roben  <aroben@apple.com>
 
         Move WebCoreScriptDebugger up to WebKit
index ab9bd9089b41fe8a9dc462d67f67f109e2e552b3..ea2629529b79dff78107d2176e603c3e3de90c65 100644 (file)
@@ -602,6 +602,7 @@ __ZNK7WebCore11HistoryItem6targetEv
 __ZNK7WebCore11HistoryItem8childrenEv
 __ZNK7WebCore11HistoryItem9urlStringEv
 __ZNK7WebCore11HistoryItem9viewStateEv
+__ZNK7WebCore11JSDOMWindow4implEv
 __ZNK7WebCore12EventHandler17eventMayStartDragERKNS_18PlatformMouseEventE
 __ZNK7WebCore12EventHandler20currentKeyboardEventEv
 __ZNK7WebCore12IconDatabase12databasePathEv
index accf6306a7c4070559503c4fda343ce1073d11a2..95a432a7a188a8824c34f17d1674b74c06a2d9ba 100644 (file)
@@ -41,7 +41,7 @@
                06E81EEC0AB5DA9700C87837 /* LocalCurrentGraphicsContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 06E81EEB0AB5DA9700C87837 /* LocalCurrentGraphicsContext.mm */; };
                0A4844990CA44CB200B7BD48 /* SoftLinking.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A4844980CA44CB200B7BD48 /* SoftLinking.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1402645E0AFDC19B005919E2 /* LoggingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1402645D0AFDC19B005919E2 /* LoggingMac.mm */; };
-               1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 1403B99509EB13AF00797C7F /* DOMWindow.h */; };
+               1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 1403B99509EB13AF00797C7F /* DOMWindow.h */; settings = {ATTRIBUTES = (Private, ); }; };
                1403B99809EB13AF00797C7F /* DOMWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1403B99609EB13AF00797C7F /* DOMWindow.cpp */; };
                1403BA0C09EB18C700797C7F /* JSDOMWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1403BA0B09EB18C700797C7F /* JSDOMWindow.cpp */; };
                1403BA0F09EB18F900797C7F /* JSDOMWindow.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 1403BA0E09EB18F800797C7F /* JSDOMWindow.h */; settings = {ATTRIBUTES = (Private, ); }; };
index 69c614df3e3dc7047e1e017bcde392c128514ad0..90b36d13d9bbc467e5daee0102b9e8e3e82ff760 100644 (file)
@@ -1,3 +1,28 @@
+2008-03-05  Adam Roben  <aroben@apple.com>
+
+        Remove -webFrame and -globalObject from WebScriptDebugger
+
+        WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
+
+        Reviewed by Kevin M.
+
+        * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
+        parameter to the constructor.
+        * WebView/WebCoreScriptDebuggerImp.mm:
+        (toWebFrame): Added.
+        (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
+        (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
+        WindowScriptObject ourselves instead of asking WebScriptDebugger for
+        it.
+        (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
+        (WebCoreScriptDebuggerImp::returnEvent): Ditto.
+        (WebCoreScriptDebuggerImp::exception): Ditto.
+        * WebView/WebScriptDebugDelegate.mm:
+        (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
+        WebScriptDebuggerImp's constructor.
+        * WebView/WebScriptDebugDelegatePrivate.h: Removed
+        -webFrame/-globalObject.
+
 2008-03-05  Adam Roben  <aroben@apple.com>
 
         Remove -enterFrame: and -leaveFrame from WebScriptDebugger
index fd40756da0c1af166ca28340d7994822962cbafc..8975758ba62c60a81088195805d68ec3532916ff 100644 (file)
@@ -45,13 +45,12 @@ namespace KJS {
 }
 
 @class WebScriptCallFrame;
-@class WebScriptDebugger;
 
 NSString *toNSString(const KJS::UString&);
 
 class WebCoreScriptDebuggerImp : public KJS::Debugger {
 public:
-    WebCoreScriptDebuggerImp(WebScriptDebugger*, KJS::JSGlobalObject*);
+    WebCoreScriptDebuggerImp(KJS::JSGlobalObject*);
 
     virtual bool sourceParsed(KJS::ExecState*, int sourceID, const KJS::UString& sourceURL, const KJS::UString& source, int lineNumber, int errorLine, const KJS::UString& errorMsg);
     virtual bool callEvent(KJS::ExecState*, int sourceID, int lineNumber, KJS::JSObject* function, const KJS::List& args);
@@ -60,7 +59,6 @@ public:
     virtual bool exception(KJS::ExecState*, int sourceID, int lineNumber, KJS::JSValue* exception);
 
 private:
-    WebScriptDebugger *m_debugger;
     bool m_callingDelegate;
     RetainPtr<WebScriptCallFrame> m_topCallFrame;
 };
index 5a86bd2bd689abfe2b23ca049d69fb2489f8d9c1..4cce739b73b9149b8291938eb8f3408a3af9736f 100644 (file)
 
 #include "WebFrameInternal.h"
 #include "WebViewInternal.h"
-#include "WebScriptDebugDelegatePrivate.h"
 #include "WebScriptDebugServerPrivate.h"
 #include <JavaScriptCore/JSGlobalObject.h>
+#include <WebCore/DOMWindow.h>
+#include <WebCore/Frame.h>
+#include <WebCore/JSDOMWindow.h>
 #include <WebCore/KURL.h>
 
 using namespace KJS;
@@ -62,9 +64,14 @@ static NSURL *toNSURL(const UString& s)
     return KURL(s);
 }
 
-WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp(WebScriptDebugger *debugger, JSGlobalObject* globalObject)
-    : m_debugger(debugger)
-    , m_callingDelegate(false)
+static WebFrame *toWebFrame(ExecState* state)
+{
+    JSDOMWindow* window = static_cast<JSDOMWindow*>(state->dynamicGlobalObject());
+    return kit(window->impl()->frame());
+}
+
+WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp(JSGlobalObject* globalObject)
+    : m_callingDelegate(false)
 {
     attach(globalObject);
     List emptyList;
@@ -82,7 +89,7 @@ bool WebCoreScriptDebuggerImp::sourceParsed(ExecState* state, int sourceID, cons
     NSString *nsSource = toNSString(source);
     NSURL *nsURL = toNSURL(url);
 
-    WebFrame *webFrame = [m_debugger webFrame];
+    WebFrame *webFrame = toWebFrame(state);
     WebView *webView = [webFrame webView];
     if (errorLine == -1) {
         [[webView _scriptDebugDelegateForwarder] webView:webView didParseSource:nsSource baseLineNumber:lineNumber fromURL:nsURL sourceId:sourceID forWebFrame:webFrame];
@@ -112,9 +119,10 @@ bool WebCoreScriptDebuggerImp::callEvent(ExecState* state, int sourceID, int lin
 
     m_callingDelegate = true;
 
-    m_topCallFrame.adoptNS([[WebScriptCallFrame alloc] _initWithGlobalObject:[m_debugger globalObject] caller:m_topCallFrame.get() state:state]);
+    WebFrame *webFrame = toWebFrame(state);
+
+    m_topCallFrame.adoptNS([[WebScriptCallFrame alloc] _initWithGlobalObject:core(webFrame)->windowScriptObject() caller:m_topCallFrame.get() state:state]);
 
-    WebFrame *webFrame = [m_debugger webFrame];
     WebView *webView = [webFrame webView];
     [[webView _scriptDebugDelegateForwarder] webView:webView didEnterCallFrame:m_topCallFrame.get() sourceId:sourceID line:lineNumber forWebFrame:webFrame];
     if ([WebScriptDebugServer listenerCount])
@@ -132,7 +140,7 @@ bool WebCoreScriptDebuggerImp::atStatement(ExecState* state, int sourceID, int l
 
     m_callingDelegate = true;
 
-    WebFrame *webFrame = [m_debugger webFrame];
+    WebFrame *webFrame = toWebFrame(state);
     WebView *webView = [webFrame webView];
     [[webView _scriptDebugDelegateForwarder] webView:webView willExecuteStatement:m_topCallFrame.get() sourceId:sourceID line:lineNumber forWebFrame:webFrame];
     if ([WebScriptDebugServer listenerCount])
@@ -150,7 +158,7 @@ bool WebCoreScriptDebuggerImp::returnEvent(ExecState* state, int sourceID, int l
 
     m_callingDelegate = true;
 
-    WebFrame *webFrame = [m_debugger webFrame];
+    WebFrame *webFrame = toWebFrame(state);
     WebView *webView = [webFrame webView];
     [[webView _scriptDebugDelegateForwarder] webView:webView willLeaveCallFrame:m_topCallFrame.get() sourceId:sourceID line:lineNumber forWebFrame:webFrame];
     if ([WebScriptDebugServer listenerCount])
@@ -170,7 +178,7 @@ bool WebCoreScriptDebuggerImp::exception(ExecState* state, int sourceID, int lin
 
     m_callingDelegate = true;
 
-    WebFrame *webFrame = [m_debugger webFrame];
+    WebFrame *webFrame = toWebFrame(state);
     WebView *webView = [webFrame webView];
     [[webView _scriptDebugDelegateForwarder] webView:webView exceptionWasRaised:m_topCallFrame.get() sourceId:sourceID line:lineNumber forWebFrame:webFrame];
     if ([WebScriptDebugServer listenerCount])
index 9bebcdacd58402f2f1acc0883d09261b3d489e72..195b0ae520e0cc481967cc720047b05c077df6b4 100644 (file)
@@ -41,6 +41,7 @@
 #import <JavaScriptCore/interpreter.h>
 #import <WebCore/Frame.h>
 #import <WebCore/WebScriptObjectPrivate.h>
+#import <WebCore/kjs_proxy.h>
 #import <WebCore/runtime_root.h>
 
 using namespace KJS;
@@ -63,7 +64,7 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
 {
     if ((self = [super init])) {
         _webFrame = webFrame;
-        _debugger = new WebCoreScriptDebuggerImp(self, [[self globalObject] _rootObject]->globalObject());
+        _debugger = new WebCoreScriptDebuggerImp(core(webFrame)->scriptProxy()->globalObject());
     }
     return self;
 }
@@ -74,16 +75,6 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
     [super dealloc];
 }
 
-- (WebFrame *)webFrame
-{
-    return _webFrame;
-}
-
-- (WebScriptObject *)globalObject
-{
-    return core(_webFrame)->windowScriptObject();
-}
-
 @end
 
 @interface WebScriptCallFramePrivate : NSObject {
index bfa16c444652a52c2f2b8c0cdca10e72dcebbf45..07a98982d49bbd1d31ac142ee6a7719a4a648432 100644 (file)
@@ -41,8 +41,5 @@ class WebCoreScriptDebuggerImp;
 }
 
 - (WebScriptDebugger *)initWithWebFrame:(WebFrame *)webFrame;
-- (WebFrame *)webFrame;
-
-- (WebScriptObject *)globalObject;                          // return the WebView's windowScriptObject
 
 @end