summaryrefslogtreecommitdiffstats
path: root/WebCore/bridge/Bridge.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bridge/Bridge.h')
-rw-r--r--WebCore/bridge/Bridge.h110
1 files changed, 2 insertions, 108 deletions
diff --git a/WebCore/bridge/Bridge.h b/WebCore/bridge/Bridge.h
index 71c72c3..d92cd15 100644
--- a/WebCore/bridge/Bridge.h
+++ b/WebCore/bridge/Bridge.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2003, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright 2010, The Android Open Source Project
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -26,35 +27,12 @@
#ifndef Bridge_h
#define Bridge_h
-#include <runtime/JSString.h>
-#include <wtf/HashMap.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
+#include "BridgeJSC.h"
namespace JSC {
-class ArgList;
-class Identifier;
-class JSGlobalObject;
-class PropertyNameArray;
-class RuntimeObjectImp;
-
namespace Bindings {
-class Instance;
-class Method;
-class RootObject;
-
-typedef Vector<Method*> MethodList;
-
-class Field {
-public:
- virtual JSValue valueFromInstance(ExecState*, const Instance*) const = 0;
- virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const = 0;
-
- virtual ~Field() { }
-};
-
class Method : public Noncopyable {
public:
virtual int numParameters() const = 0;
@@ -62,90 +40,6 @@ public:
virtual ~Method() { }
};
-class Class : public Noncopyable {
-public:
- virtual MethodList methodsNamed(const Identifier&, Instance*) const = 0;
- virtual Field* fieldNamed(const Identifier&, Instance*) const = 0;
- virtual JSValue fallbackObject(ExecState*, Instance*, const Identifier&) { return jsUndefined(); }
-
- virtual ~Class() { }
-};
-
-typedef void (*KJSDidExecuteFunctionPtr)(ExecState*, JSObject* rootObject);
-
-class Instance : public RefCounted<Instance> {
-public:
- Instance(PassRefPtr<RootObject>);
-
- static void setDidExecuteFunction(KJSDidExecuteFunctionPtr func);
- static KJSDidExecuteFunctionPtr didExecuteFunction();
-
- // These functions are called before and after the main entry points into
- // the native implementations. They can be used to establish and cleanup
- // any needed state.
- void begin();
- void end();
-
- virtual Class* getClass() const = 0;
- RuntimeObjectImp* createRuntimeObject(ExecState*);
- void willInvalidateRuntimeObject();
- void willDestroyRuntimeObject();
-
- // Returns false if the value was not set successfully.
- virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValue) { return false; }
-
- virtual JSValue invokeMethod(ExecState*, const MethodList&, const ArgList& args) = 0;
-
- virtual bool supportsInvokeDefaultMethod() const { return false; }
- virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&) { return jsUndefined(); }
-
- virtual bool supportsConstruct() const { return false; }
- virtual JSValue invokeConstruct(ExecState*, const ArgList&) { return JSValue(); }
-
- virtual void getPropertyNames(ExecState*, PropertyNameArray&) { }
-
- virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const = 0;
-
- virtual JSValue valueOf(ExecState* exec) const = 0;
-
- RootObject* rootObject() const;
-
- virtual ~Instance();
-
- virtual bool getOwnPropertySlot(JSObject*, ExecState*, const Identifier&, PropertySlot&) { return false; }
- virtual bool getOwnPropertyDescriptor(JSObject*, ExecState*, const Identifier&, PropertyDescriptor&) { return false; }
- virtual void put(JSObject*, ExecState*, const Identifier&, JSValue, PutPropertySlot&) { }
-
-protected:
- virtual void virtualBegin() { }
- virtual void virtualEnd() { }
- virtual RuntimeObjectImp* newRuntimeObject(ExecState*);
-
- RefPtr<RootObject> m_rootObject;
-
-private:
- RuntimeObjectImp* m_runtimeObject;
-};
-
-class Array : public Noncopyable {
-public:
- Array(PassRefPtr<RootObject>);
- virtual ~Array();
-
- virtual void setValueAt(ExecState*, unsigned index, JSValue) const = 0;
- virtual JSValue valueAt(ExecState*, unsigned index) const = 0;
- virtual unsigned int getLength() const = 0;
-
-protected:
- RefPtr<RootObject> m_rootObject;
-};
-
-const char* signatureForParameters(const ArgList&);
-
-typedef HashMap<RefPtr<UString::Rep>, MethodList*> MethodListMap;
-typedef HashMap<RefPtr<UString::Rep>, Method*> MethodMap;
-typedef HashMap<RefPtr<UString::Rep>, Field*> FieldMap;
-
} // namespace Bindings
} // namespace JSC