[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.18-1-697-g2f78b87
hyatt at apple.com
hyatt at apple.com
Wed Jan 20 22:29:16 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 95da964eb5aae9679de760ce71ae91eaa645f6e2
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 19 17:53:23 2010 +0000
WebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
Reviewed by Adam Roben.
* WebView/WebScriptWorld.h:
* WebView/WebScriptWorld.mm:
(+[WebScriptWorld scriptWorldForGlobalContext:]):
WebKit/win: Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.
Reviewed by Adam Roben.
* Interfaces/IWebScriptWorld.idl:
* WebScriptWorld.cpp:
(WebScriptWorld::scriptWorldForGlobalContext):
* WebScriptWorld.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index e1065bb..65bc486 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,13 @@
+2010-01-19 Dave Hyatt <hyatt at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
+
+ * WebView/WebScriptWorld.h:
+ * WebView/WebScriptWorld.mm:
+ (+[WebScriptWorld scriptWorldForGlobalContext:]):
+
2010-01-19 Steve Block <steveblock at google.com>
Unreviewed build fix.
diff --git a/WebKit/mac/WebView/WebScriptWorld.h b/WebKit/mac/WebView/WebScriptWorld.h
index 9204975..7059b76 100644
--- a/WebKit/mac/WebView/WebScriptWorld.h
+++ b/WebKit/mac/WebView/WebScriptWorld.h
@@ -22,6 +22,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+typedef struct OpaqueJSContext* JSGlobalContextRef;
+
@class WebScriptWorldPrivate;
@interface WebScriptWorld : NSObject {
@@ -31,4 +33,7 @@
+ (WebScriptWorld *)standardWorld;
+ (WebScriptWorld *)world;
+
++ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)globalContext;
+
@end
diff --git a/WebKit/mac/WebView/WebScriptWorld.mm b/WebKit/mac/WebView/WebScriptWorld.mm
index 0310701..7dab1b3 100644
--- a/WebKit/mac/WebView/WebScriptWorld.mm
+++ b/WebKit/mac/WebView/WebScriptWorld.mm
@@ -27,6 +27,8 @@
#import "WebScriptWorldInternal.h"
#import <WebCore/JSDOMBinding.h>
#import <WebCore/ScriptController.h>
+#import <JavaScriptCore/APICast.h>
+
#import <wtf/RefPtr.h>
using namespace WebCore;
@@ -94,6 +96,11 @@ static WorldMap& allWorlds()
return [[[self alloc] init] autorelease];
}
++ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)context
+{
+ return [self findOrCreateWorld:currentWorld(toJS(context))];
+}
+
@end
@implementation WebScriptWorld (WebInternal)
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index e6636ac..96cc7d8 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,14 @@
+2010-01-19 Dave Hyatt <hyatt at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.
+
+ * Interfaces/IWebScriptWorld.idl:
+ * WebScriptWorld.cpp:
+ (WebScriptWorld::scriptWorldForGlobalContext):
+ * WebScriptWorld.h:
+
2010-01-18 Adam Roben <aroben at apple.com>
Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme
diff --git a/WebKit/win/Interfaces/IWebScriptWorld.idl b/WebKit/win/Interfaces/IWebScriptWorld.idl
index 255255c..1c79199 100644
--- a/WebKit/win/Interfaces/IWebScriptWorld.idl
+++ b/WebKit/win/Interfaces/IWebScriptWorld.idl
@@ -25,6 +25,7 @@
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
import "ocidl.idl";
+import "JavaScriptCoreAPITypes.idl";
#endif
[
@@ -35,4 +36,5 @@ import "ocidl.idl";
]
interface IWebScriptWorld : IUnknown {
HRESULT standardWorld([out, retval] IWebScriptWorld**);
+ HRESULT scriptWorldForGlobalContext([in] JSGlobalContextRef, [out, retval] IWebScriptWorld**);
}
diff --git a/WebKit/win/WebScriptWorld.cpp b/WebKit/win/WebScriptWorld.cpp
index 03eede7..17e2ea2 100644
--- a/WebKit/win/WebScriptWorld.cpp
+++ b/WebKit/win/WebScriptWorld.cpp
@@ -128,3 +128,10 @@ HRESULT WebScriptWorld::standardWorld(IWebScriptWorld** outWorld)
(*outWorld)->AddRef();
return S_OK;
}
+
+HRESULT WebScriptWorld::scriptWorldForGlobalContext(JSGlobalContextRef context, IWebScriptWorld** outWorld)
+{
+ if (!outWorld)
+ return E_POINTER;
+ return findOrCreateWorld(currentWorld(toJS(context))).copyRefTo(outWorld);
+}
diff --git a/WebKit/win/WebScriptWorld.h b/WebKit/win/WebScriptWorld.h
index b800225..dc7e9db 100644
--- a/WebKit/win/WebScriptWorld.h
+++ b/WebKit/win/WebScriptWorld.h
@@ -51,6 +51,7 @@ private:
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
virtual HRESULT STDMETHODCALLTYPE standardWorld(IWebScriptWorld**);
+ virtual HRESULT STDMETHODCALLTYPE scriptWorldForGlobalContext(JSGlobalContextRef, IWebScriptWorld**);
ULONG m_refCount;
RefPtr<WebCore::DOMWrapperWorld> m_world;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list