OLD | NEW |
1 /* | 1 /* |
2 This file is part of the Blink open source project. | 2 This file is part of the Blink open source project. |
3 This file has been auto-generated by CodeGeneratorV8.pm. DO NOT MODIFY! | 3 This file has been auto-generated by CodeGeneratorV8.pm. DO NOT MODIFY! |
4 | 4 |
5 This library is free software; you can redistribute it and/or | 5 This library is free software; you can redistribute it and/or |
6 modify it under the terms of the GNU Library General Public | 6 modify it under the terms of the GNU Library General Public |
7 License as published by the Free Software Foundation; either | 7 License as published by the Free Software Foundation; either |
8 version 2 of the License, or (at your option) any later version. | 8 version 2 of the License, or (at your option) any later version. |
9 | 9 |
10 This library is distributed in the hope that it will be useful, | 10 This library is distributed in the hope that it will be useful, |
(...skipping 19 matching lines...) Expand all Loading... |
30 #include "core/dom/ContextFeatures.h" | 30 #include "core/dom/ContextFeatures.h" |
31 #include "core/dom/Document.h" | 31 #include "core/dom/Document.h" |
32 #include "platform/TraceEvent.h" | 32 #include "platform/TraceEvent.h" |
33 #include "wtf/UnusedParam.h" | 33 #include "wtf/UnusedParam.h" |
34 | 34 |
35 namespace WebCore { | 35 namespace WebCore { |
36 | 36 |
37 static void initializeScriptWrappableForInterface(TestEvent* object) | 37 static void initializeScriptWrappableForInterface(TestEvent* object) |
38 { | 38 { |
39 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) | 39 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) |
40 ScriptWrappable::setTypeInfoInObject(object, &V8TestEvent::info); | 40 ScriptWrappable::setTypeInfoInObject(object, &V8TestEvent::wrapperTypeIn
fo); |
41 else | 41 else |
42 ASSERT_NOT_REACHED(); | 42 ASSERT_NOT_REACHED(); |
43 } | 43 } |
44 | 44 |
45 } // namespace WebCore | 45 } // namespace WebCore |
46 | 46 |
47 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: | 47 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: |
48 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function | 48 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function |
49 // in the global namespace. | 49 // in the global namespace. |
50 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) | 50 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) |
51 void webCoreInitializeScriptWrappableForInterface(WebCore::TestEvent* object) | 51 void webCoreInitializeScriptWrappableForInterface(WebCore::TestEvent* object) |
52 { | 52 { |
53 WebCore::initializeScriptWrappableForInterface(object); | 53 WebCore::initializeScriptWrappableForInterface(object); |
54 } | 54 } |
55 | 55 |
56 namespace WebCore { | 56 namespace WebCore { |
57 WrapperTypeInfo V8TestEvent::info = { V8TestEvent::GetTemplate, V8TestEvent::der
efObject, 0, 0, 0, V8TestEvent::installPerContextEnabledPrototypeProperties, &V8
Event::info, WrapperTypeObjectPrototype }; | 57 WrapperTypeInfo V8TestEvent::wrapperTypeInfo = { V8TestEvent::GetTemplate, V8Tes
tEvent::derefObject, 0, 0, 0, V8TestEvent::installPerContextEnabledPrototypeProp
erties, &V8Event::wrapperTypeInfo, WrapperTypeObjectPrototype }; |
58 | 58 |
59 namespace TestEventV8Internal { | 59 namespace TestEventV8Internal { |
60 | 60 |
61 template <typename T> void V8_USE(T) { } | 61 template <typename T> void V8_USE(T) { } |
62 | 62 |
63 } // namespace TestEventV8Internal | 63 } // namespace TestEventV8Internal |
64 | 64 |
65 static v8::Handle<v8::FunctionTemplate> ConfigureV8TestEventTemplate(v8::Handle<
v8::FunctionTemplate> desc, v8::Isolate* isolate, WrapperWorldType currentWorldT
ype) | 65 static v8::Handle<v8::FunctionTemplate> ConfigureV8TestEventTemplate(v8::Handle<
v8::FunctionTemplate> desc, v8::Isolate* isolate, WrapperWorldType currentWorldT
ype) |
66 { | 66 { |
67 desc->ReadOnlyPrototype(); | 67 desc->ReadOnlyPrototype(); |
68 | 68 |
69 v8::Local<v8::Signature> defaultSignature; | 69 v8::Local<v8::Signature> defaultSignature; |
70 defaultSignature = V8DOMConfiguration::installDOMClassTemplate(desc, "TestEv
ent", V8Event::GetTemplate(isolate, currentWorldType), V8TestEvent::internalFiel
dCount, | 70 defaultSignature = V8DOMConfiguration::installDOMClassTemplate(desc, "TestEv
ent", V8Event::GetTemplate(isolate, currentWorldType), V8TestEvent::internalFiel
dCount, |
71 0, 0, | 71 0, 0, |
72 0, 0, isolate, currentWorldType); | 72 0, 0, isolate, currentWorldType); |
73 UNUSED_PARAM(defaultSignature); | 73 UNUSED_PARAM(defaultSignature); |
74 | 74 |
75 // Custom toString template | 75 // Custom toString template |
76 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); | 76 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); |
77 return desc; | 77 return desc; |
78 } | 78 } |
79 | 79 |
80 v8::Handle<v8::FunctionTemplate> V8TestEvent::GetTemplate(v8::Isolate* isolate,
WrapperWorldType currentWorldType) | 80 v8::Handle<v8::FunctionTemplate> V8TestEvent::GetTemplate(v8::Isolate* isolate,
WrapperWorldType currentWorldType) |
81 { | 81 { |
82 V8PerIsolateData* data = V8PerIsolateData::from(isolate); | 82 V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
83 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&info); | 83 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&wrapperTypeInfo); |
84 if (result != data->templateMap(currentWorldType).end()) | 84 if (result != data->templateMap(currentWorldType).end()) |
85 return result->value.newLocal(isolate); | 85 return result->value.newLocal(isolate); |
86 | 86 |
87 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 87 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
88 v8::HandleScope handleScope(isolate); | 88 v8::HandleScope handleScope(isolate); |
89 v8::Handle<v8::FunctionTemplate> templ = | 89 v8::Handle<v8::FunctionTemplate> templ = |
90 ConfigureV8TestEventTemplate(data->rawTemplate(&info, currentWorldType),
isolate, currentWorldType); | 90 ConfigureV8TestEventTemplate(data->rawTemplate(&wrapperTypeInfo, current
WorldType), isolate, currentWorldType); |
91 data->templateMap(currentWorldType).add(&info, UnsafePersistent<v8::Function
Template>(isolate, templ)); | 91 data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent<v
8::FunctionTemplate>(isolate, templ)); |
92 return handleScope.Close(templ); | 92 return handleScope.Close(templ); |
93 } | 93 } |
94 | 94 |
95 bool V8TestEvent::HasInstance(v8::Handle<v8::Value> jsValue, v8::Isolate* isolat
e, WrapperWorldType currentWorldType) | 95 bool V8TestEvent::HasInstance(v8::Handle<v8::Value> jsValue, v8::Isolate* isolat
e, WrapperWorldType currentWorldType) |
96 { | 96 { |
97 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, currentW
orldType); | 97 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, currentWorldType); |
98 } | 98 } |
99 | 99 |
100 bool V8TestEvent::HasInstanceInAnyWorld(v8::Handle<v8::Value> jsValue, v8::Isola
te* isolate) | 100 bool V8TestEvent::HasInstanceInAnyWorld(v8::Handle<v8::Value> jsValue, v8::Isola
te* isolate) |
101 { | 101 { |
102 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, MainWorl
d) | 102 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, MainWorld) |
103 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, Isolated
World) | 103 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, IsolatedWorld) |
104 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, WorkerWo
rld); | 104 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, WorkerWorld); |
105 } | 105 } |
106 | 106 |
107 v8::Handle<v8::Object> V8TestEvent::createWrapper(PassRefPtr<TestEvent> impl, v8
::Handle<v8::Object> creationContext, v8::Isolate* isolate) | 107 v8::Handle<v8::Object> V8TestEvent::createWrapper(PassRefPtr<TestEvent> impl, v8
::Handle<v8::Object> creationContext, v8::Isolate* isolate) |
108 { | 108 { |
109 ASSERT(impl); | 109 ASSERT(impl); |
110 ASSERT(!DOMDataStore::containsWrapper<V8TestEvent>(impl.get(), isolate)); | 110 ASSERT(!DOMDataStore::containsWrapper<V8TestEvent>(impl.get(), isolate)); |
111 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { | 111 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { |
112 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); | 112 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); |
113 // Might be a XXXConstructor::info instead of an XXX::info. These will b
oth have | 113 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper
TypeInfo. These will both have |
114 // the same object de-ref functions, though, so use that as the basis of
the check. | 114 // the same object de-ref functions, though, so use that as the basis of
the check. |
115 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== info.derefObjectFunction); | 115 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== wrapperTypeInfo.derefObjectFunction); |
116 } | 116 } |
117 | 117 |
118 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &info, toInternalPointer(impl.get()), isolate); | 118 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); |
119 if (UNLIKELY(wrapper.IsEmpty())) | 119 if (UNLIKELY(wrapper.IsEmpty())) |
120 return wrapper; | 120 return wrapper; |
121 | 121 |
122 installPerContextEnabledProperties(wrapper, impl.get(), isolate); | 122 installPerContextEnabledProperties(wrapper, impl.get(), isolate); |
123 V8DOMWrapper::associateObjectWithWrapper<V8TestEvent>(impl, &info, wrapper,
isolate, WrapperConfiguration::Independent); | 123 V8DOMWrapper::associateObjectWithWrapper<V8TestEvent>(impl, &wrapperTypeInfo
, wrapper, isolate, WrapperConfiguration::Independent); |
124 return wrapper; | 124 return wrapper; |
125 } | 125 } |
126 | 126 |
127 void V8TestEvent::derefObject(void* object) | 127 void V8TestEvent::derefObject(void* object) |
128 { | 128 { |
129 fromInternalPointer(object)->deref(); | 129 fromInternalPointer(object)->deref(); |
130 } | 130 } |
131 | 131 |
132 } // namespace WebCore | 132 } // namespace WebCore |
OLD | NEW |