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 21 matching lines...) Expand all Loading... |
32 #include "core/dom/ContextFeatures.h" | 32 #include "core/dom/ContextFeatures.h" |
33 #include "core/dom/Document.h" | 33 #include "core/dom/Document.h" |
34 #include "platform/TraceEvent.h" | 34 #include "platform/TraceEvent.h" |
35 #include "wtf/UnusedParam.h" | 35 #include "wtf/UnusedParam.h" |
36 | 36 |
37 namespace WebCore { | 37 namespace WebCore { |
38 | 38 |
39 static void initializeScriptWrappableForInterface(TestSerializedScriptValueInter
face* object) | 39 static void initializeScriptWrappableForInterface(TestSerializedScriptValueInter
face* object) |
40 { | 40 { |
41 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) | 41 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) |
42 ScriptWrappable::setTypeInfoInObject(object, &V8TestSerializedScriptValu
eInterface::info); | 42 ScriptWrappable::setTypeInfoInObject(object, &V8TestSerializedScriptValu
eInterface::wrapperTypeInfo); |
43 else | 43 else |
44 ASSERT_NOT_REACHED(); | 44 ASSERT_NOT_REACHED(); |
45 } | 45 } |
46 | 46 |
47 } // namespace WebCore | 47 } // namespace WebCore |
48 | 48 |
49 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: | 49 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: |
50 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function | 50 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function |
51 // in the global namespace. | 51 // in the global namespace. |
52 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) | 52 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) |
53 void webCoreInitializeScriptWrappableForInterface(WebCore::TestSerializedScriptV
alueInterface* object) | 53 void webCoreInitializeScriptWrappableForInterface(WebCore::TestSerializedScriptV
alueInterface* object) |
54 { | 54 { |
55 WebCore::initializeScriptWrappableForInterface(object); | 55 WebCore::initializeScriptWrappableForInterface(object); |
56 } | 56 } |
57 | 57 |
58 namespace WebCore { | 58 namespace WebCore { |
59 WrapperTypeInfo V8TestSerializedScriptValueInterface::info = { V8TestSerializedS
criptValueInterface::GetTemplate, V8TestSerializedScriptValueInterface::derefObj
ect, 0, 0, 0, V8TestSerializedScriptValueInterface::installPerContextEnabledProt
otypeProperties, 0, WrapperTypeObjectPrototype }; | 59 WrapperTypeInfo V8TestSerializedScriptValueInterface::wrapperTypeInfo = { V8Test
SerializedScriptValueInterface::GetTemplate, V8TestSerializedScriptValueInterfac
e::derefObject, 0, 0, 0, V8TestSerializedScriptValueInterface::installPerContext
EnabledPrototypeProperties, 0, WrapperTypeObjectPrototype }; |
60 | 60 |
61 namespace TestSerializedScriptValueInterfaceV8Internal { | 61 namespace TestSerializedScriptValueInterfaceV8Internal { |
62 | 62 |
63 template <typename T> void V8_USE(T) { } | 63 template <typename T> void V8_USE(T) { } |
64 | 64 |
65 static void valueAttributeGetter(v8::Local<v8::String> name, const v8::PropertyC
allbackInfo<v8::Value>& info) | 65 static void valueAttributeGetter(v8::Local<v8::String> name, const v8::PropertyC
allbackInfo<v8::Value>& info) |
66 { | 66 { |
67 TestSerializedScriptValueInterface* imp = V8TestSerializedScriptValueInterfa
ce::toNative(info.Holder()); | 67 TestSerializedScriptValueInterface* imp = V8TestSerializedScriptValueInterfa
ce::toNative(info.Holder()); |
68 v8SetReturnValue(info, imp->value() ? imp->value()->deserialize() : v8::Hand
le<v8::Value>(v8::Null(info.GetIsolate()))); | 68 v8SetReturnValue(info, imp->value() ? imp->value()->deserialize() : v8::Hand
le<v8::Value>(v8::Null(info.GetIsolate()))); |
69 } | 69 } |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 UNUSED_PARAM(defaultSignature); | 249 UNUSED_PARAM(defaultSignature); |
250 | 250 |
251 // Custom toString template | 251 // Custom toString template |
252 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); | 252 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); |
253 return desc; | 253 return desc; |
254 } | 254 } |
255 | 255 |
256 v8::Handle<v8::FunctionTemplate> V8TestSerializedScriptValueInterface::GetTempla
te(v8::Isolate* isolate, WrapperWorldType currentWorldType) | 256 v8::Handle<v8::FunctionTemplate> V8TestSerializedScriptValueInterface::GetTempla
te(v8::Isolate* isolate, WrapperWorldType currentWorldType) |
257 { | 257 { |
258 V8PerIsolateData* data = V8PerIsolateData::from(isolate); | 258 V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
259 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&info); | 259 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&wrapperTypeInfo); |
260 if (result != data->templateMap(currentWorldType).end()) | 260 if (result != data->templateMap(currentWorldType).end()) |
261 return result->value.newLocal(isolate); | 261 return result->value.newLocal(isolate); |
262 | 262 |
263 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 263 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
264 v8::HandleScope handleScope(isolate); | 264 v8::HandleScope handleScope(isolate); |
265 v8::Handle<v8::FunctionTemplate> templ = | 265 v8::Handle<v8::FunctionTemplate> templ = |
266 ConfigureV8TestSerializedScriptValueInterfaceTemplate(data->rawTemplate(
&info, currentWorldType), isolate, currentWorldType); | 266 ConfigureV8TestSerializedScriptValueInterfaceTemplate(data->rawTemplate(
&wrapperTypeInfo, currentWorldType), isolate, currentWorldType); |
267 data->templateMap(currentWorldType).add(&info, UnsafePersistent<v8::Function
Template>(isolate, templ)); | 267 data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent<v
8::FunctionTemplate>(isolate, templ)); |
268 return handleScope.Close(templ); | 268 return handleScope.Close(templ); |
269 } | 269 } |
270 | 270 |
271 bool V8TestSerializedScriptValueInterface::HasInstance(v8::Handle<v8::Value> jsV
alue, v8::Isolate* isolate, WrapperWorldType currentWorldType) | 271 bool V8TestSerializedScriptValueInterface::HasInstance(v8::Handle<v8::Value> jsV
alue, v8::Isolate* isolate, WrapperWorldType currentWorldType) |
272 { | 272 { |
273 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, currentW
orldType); | 273 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, currentWorldType); |
274 } | 274 } |
275 | 275 |
276 bool V8TestSerializedScriptValueInterface::HasInstanceInAnyWorld(v8::Handle<v8::
Value> jsValue, v8::Isolate* isolate) | 276 bool V8TestSerializedScriptValueInterface::HasInstanceInAnyWorld(v8::Handle<v8::
Value> jsValue, v8::Isolate* isolate) |
277 { | 277 { |
278 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, MainWorl
d) | 278 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, MainWorld) |
279 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, Isolated
World) | 279 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, IsolatedWorld) |
280 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, WorkerWo
rld); | 280 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, WorkerWorld); |
281 } | 281 } |
282 | 282 |
283 v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::createWrapper(PassR
efPtr<TestSerializedScriptValueInterface> impl, v8::Handle<v8::Object> creationC
ontext, v8::Isolate* isolate) | 283 v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::createWrapper(PassR
efPtr<TestSerializedScriptValueInterface> impl, v8::Handle<v8::Object> creationC
ontext, v8::Isolate* isolate) |
284 { | 284 { |
285 ASSERT(impl); | 285 ASSERT(impl); |
286 ASSERT(!DOMDataStore::containsWrapper<V8TestSerializedScriptValueInterface>(
impl.get(), isolate)); | 286 ASSERT(!DOMDataStore::containsWrapper<V8TestSerializedScriptValueInterface>(
impl.get(), isolate)); |
287 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { | 287 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { |
288 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); | 288 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); |
289 // Might be a XXXConstructor::info instead of an XXX::info. These will b
oth have | 289 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper
TypeInfo. These will both have |
290 // the same object de-ref functions, though, so use that as the basis of
the check. | 290 // the same object de-ref functions, though, so use that as the basis of
the check. |
291 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== info.derefObjectFunction); | 291 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== wrapperTypeInfo.derefObjectFunction); |
292 } | 292 } |
293 | 293 |
294 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &info, toInternalPointer(impl.get()), isolate); | 294 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); |
295 if (UNLIKELY(wrapper.IsEmpty())) | 295 if (UNLIKELY(wrapper.IsEmpty())) |
296 return wrapper; | 296 return wrapper; |
297 | 297 |
298 installPerContextEnabledProperties(wrapper, impl.get(), isolate); | 298 installPerContextEnabledProperties(wrapper, impl.get(), isolate); |
299 V8DOMWrapper::associateObjectWithWrapper<V8TestSerializedScriptValueInterfac
e>(impl, &info, wrapper, isolate, WrapperConfiguration::Independent); | 299 V8DOMWrapper::associateObjectWithWrapper<V8TestSerializedScriptValueInterfac
e>(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent); |
300 return wrapper; | 300 return wrapper; |
301 } | 301 } |
302 | 302 |
303 void V8TestSerializedScriptValueInterface::derefObject(void* object) | 303 void V8TestSerializedScriptValueInterface::derefObject(void* object) |
304 { | 304 { |
305 fromInternalPointer(object)->deref(); | 305 fromInternalPointer(object)->deref(); |
306 } | 306 } |
307 | 307 |
308 } // namespace WebCore | 308 } // namespace WebCore |
309 | 309 |
310 #endif // ENABLE(Condition1) || ENABLE(Condition2) | 310 #endif // ENABLE(Condition1) || ENABLE(Condition2) |
OLD | NEW |