OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "bindings/core/v8/ModuleProxy.h" | 6 #include "bindings/core/v8/ModuleProxy.h" |
7 | 7 |
8 #include "bindings/core/v8/V8Binding.h" | 8 #include "wtf/StdLibExtras.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
12 ModuleProxy& ModuleProxy::moduleProxy() | 12 ModuleProxy& ModuleProxy::moduleProxy() |
13 { | 13 { |
14 DEFINE_STATIC_LOCAL(ModuleProxy, moduleProxy, ()); | 14 DEFINE_STATIC_LOCAL(ModuleProxy, moduleProxy, ()); |
15 return moduleProxy; | 15 return moduleProxy; |
16 } | 16 } |
17 | 17 |
18 v8::Handle<v8::Object> ModuleProxy::wrapForEvent(Event* event, v8::Handle<v8::Ob
ject> creationContext, v8::Isolate* isolate) | |
19 { | |
20 RELEASE_ASSERT(m_wrapForEvent); | |
21 return (*m_wrapForEvent)(event, creationContext, isolate); | |
22 } | |
23 | |
24 void ModuleProxy::registerWrapForEvent(v8::Handle<v8::Object> (*wrapForEvent)(Ev
ent*, v8::Handle<v8::Object>, v8::Isolate*)) | |
25 { | |
26 m_wrapForEvent = wrapForEvent; | |
27 } | |
28 | |
29 v8::Handle<v8::Value> ModuleProxy::toV8ForEventTarget(EventTarget* eventTarget,
v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) | |
30 { | |
31 RELEASE_ASSERT(m_toV8ForEventTarget); | |
32 return (*m_toV8ForEventTarget)(eventTarget, creationContext, isolate); | |
33 } | |
34 | |
35 void ModuleProxy::registerToV8ForEventTarget(v8::Handle<v8::Value> (*toV8ForEven
tTarget)(EventTarget*, v8::Handle<v8::Object>, v8::Isolate*)) | |
36 { | |
37 m_toV8ForEventTarget = toV8ForEventTarget; | |
38 } | |
39 | |
40 void ModuleProxy::didLeaveScriptContextForRecursionScope(ExecutionContext& execu
tionContext) | 18 void ModuleProxy::didLeaveScriptContextForRecursionScope(ExecutionContext& execu
tionContext) |
41 { | 19 { |
42 RELEASE_ASSERT(m_didLeaveScriptContextForRecursionScope); | 20 RELEASE_ASSERT(m_didLeaveScriptContextForRecursionScope); |
43 (*m_didLeaveScriptContextForRecursionScope)(executionContext); | 21 (*m_didLeaveScriptContextForRecursionScope)(executionContext); |
44 } | 22 } |
45 | 23 |
46 void ModuleProxy::registerDidLeaveScriptContextForRecursionScope(void (*didLeave
ScriptContext)(ExecutionContext&)) | 24 void ModuleProxy::registerDidLeaveScriptContextForRecursionScope(void (*didLeave
ScriptContext)(ExecutionContext&)) |
47 { | 25 { |
48 m_didLeaveScriptContextForRecursionScope = didLeaveScriptContext; | 26 m_didLeaveScriptContextForRecursionScope = didLeaveScriptContext; |
49 } | 27 } |
50 | 28 |
51 } // namespace blink | 29 } // namespace blink |
OLD | NEW |