1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
14 class ExecutionContext;
16 // A proxy class to invoke functions implemented in bindings/modules
17 // from bindings/core.
20 static ModuleProxy& moduleProxy();
22 v8::Handle<v8::Object> wrapForEvent(Event*, v8::Handle<v8::Object>, v8::Isolate*);
23 void registerWrapForEvent(v8::Handle<v8::Object> (*wrapForEvent)(Event*, v8::Handle<v8::Object>, v8::Isolate*));
25 v8::Handle<v8::Value> toV8ForEventTarget(EventTarget*, v8::Handle<v8::Object>, v8::Isolate*);
26 void registerToV8ForEventTarget(v8::Handle<v8::Value> (*toV8ForEventTarget)(EventTarget*, v8::Handle<v8::Object>, v8::Isolate*));
28 void didLeaveScriptContextForRecursionScope(ExecutionContext&);
29 void registerDidLeaveScriptContextForRecursionScope(void (*didLeaveScriptContext)(ExecutionContext&));
32 ModuleProxy() : m_wrapForEvent(0) { }
34 v8::Handle<v8::Object> (*m_wrapForEvent)(Event*, v8::Handle<v8::Object>, v8::Isolate*);
35 v8::Handle<v8::Value> (*m_toV8ForEventTarget)(EventTarget*, v8::Handle<v8::Object>, v8::Isolate*);
36 void (*m_didLeaveScriptContextForRecursionScope)(ExecutionContext&);
41 #endif // ModuleProxy_h