Index: Source/WebCore/bindings/v8/ScriptController.h |
diff --git a/Source/WebCore/bindings/v8/ScriptController.h b/Source/WebCore/bindings/v8/ScriptController.h |
index 0d9938f8f49e8b7d3b8e9529c41cdade4eb417e7..0d9ad66d8faaa1e530a5beeef6b7876f1e4403f2 100644 |
--- a/Source/WebCore/bindings/v8/ScriptController.h |
+++ b/Source/WebCore/bindings/v8/ScriptController.h |
@@ -62,6 +62,16 @@ class HTMLPlugInElement; |
class ScriptSourceCode; |
class Widget; |
+class AbstractController : public RefCounted<AbstractController> { |
+public: |
+ virtual ~AbstractController() {} |
+ |
+ virtual bool isScriptTypeSupported(const String& mimeType) = 0; |
+ virtual void evaluate(const ScriptSourceCode&) = 0; |
+ virtual void bindToWindowObject(Frame*, const String& key, NPObject*) = 0; |
+ virtual void clearWindowShell() = 0; |
+}; |
+ |
class ScriptController { |
public: |
ScriptController(Frame*); |
@@ -188,6 +198,9 @@ public: |
void evaluateInWorld(const ScriptSourceCode&, DOMWrapperWorld*); |
static void getAllWorlds(Vector<DOMWrapperWorld*>& worlds); |
+ bool isScriptTypeSupported(const String& mimeType); |
+ AbstractController* controller(const String& name); |
+ |
private: |
Frame* m_frame; |
const String* m_sourceURL; |
@@ -196,6 +209,9 @@ private: |
bool m_paused; |
+ typedef HashMap<String, RefPtr<AbstractController> > ControllerMap; |
+ ControllerMap m_controllers; |
+ |
OwnPtr<V8Proxy> m_proxy; |
typedef HashMap<Widget*, NPObject*> PluginObjectMap; |
#if PLATFORM(QT) |