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 24 matching lines...) Expand all Loading... |
35 #include "platform/TraceEvent.h" | 35 #include "platform/TraceEvent.h" |
36 #include "wtf/GetPtr.h" | 36 #include "wtf/GetPtr.h" |
37 #include "wtf/RefPtr.h" | 37 #include "wtf/RefPtr.h" |
38 #include "wtf/UnusedParam.h" | 38 #include "wtf/UnusedParam.h" |
39 | 39 |
40 namespace WebCore { | 40 namespace WebCore { |
41 | 41 |
42 static void initializeScriptWrappableForInterface(TestEventTarget* object) | 42 static void initializeScriptWrappableForInterface(TestEventTarget* object) |
43 { | 43 { |
44 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) | 44 if (ScriptWrappable::wrapperCanBeStoredInObject(object)) |
45 ScriptWrappable::setTypeInfoInObject(object, &V8TestEventTarget::info); | 45 ScriptWrappable::setTypeInfoInObject(object, &V8TestEventTarget::wrapper
TypeInfo); |
46 else | 46 else |
47 ASSERT_NOT_REACHED(); | 47 ASSERT_NOT_REACHED(); |
48 } | 48 } |
49 | 49 |
50 } // namespace WebCore | 50 } // namespace WebCore |
51 | 51 |
52 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: | 52 // In ScriptWrappable::init, the use of a local function declaration has an issu
e on Windows: |
53 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function | 53 // the local declaration does not pick up the surrounding namespace. Therefore,
we provide this function |
54 // in the global namespace. | 54 // in the global namespace. |
55 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) | 55 // (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/fe
edback/details/664619/the-namespace-of-local-function-declarations-in-c) |
56 void webCoreInitializeScriptWrappableForInterface(WebCore::TestEventTarget* obje
ct) | 56 void webCoreInitializeScriptWrappableForInterface(WebCore::TestEventTarget* obje
ct) |
57 { | 57 { |
58 WebCore::initializeScriptWrappableForInterface(object); | 58 WebCore::initializeScriptWrappableForInterface(object); |
59 } | 59 } |
60 | 60 |
61 namespace WebCore { | 61 namespace WebCore { |
62 WrapperTypeInfo V8TestEventTarget::info = { V8TestEventTarget::GetTemplate, V8Te
stEventTarget::derefObject, 0, V8TestEventTarget::toEventTarget, 0, V8TestEventT
arget::installPerContextEnabledPrototypeProperties, &V8EventTarget::info, Wrappe
rTypeObjectPrototype }; | 62 WrapperTypeInfo V8TestEventTarget::wrapperTypeInfo = { V8TestEventTarget::GetTem
plate, V8TestEventTarget::derefObject, 0, V8TestEventTarget::toEventTarget, 0, V
8TestEventTarget::installPerContextEnabledPrototypeProperties, &V8EventTarget::w
rapperTypeInfo, WrapperTypeObjectPrototype }; |
63 | 63 |
64 namespace TestEventTargetV8Internal { | 64 namespace TestEventTargetV8Internal { |
65 | 65 |
66 template <typename T> void V8_USE(T) { } | 66 template <typename T> void V8_USE(T) { } |
67 | 67 |
68 static void itemMethod(const v8::FunctionCallbackInfo<v8::Value>& args) | 68 static void itemMethod(const v8::FunctionCallbackInfo<v8::Value>& args) |
69 { | 69 { |
70 if (UNLIKELY(args.Length() < 1)) { | 70 if (UNLIKELY(args.Length() < 1)) { |
71 throwTypeError(ExceptionMessages::failedToExecute("item", "TestEventTarg
et", ExceptionMessages::notEnoughArguments(1, args.Length())), args.GetIsolate()
); | 71 throwTypeError(ExceptionMessages::failedToExecute("item", "TestEventTarg
et", ExceptionMessages::notEnoughArguments(1, args.Length())), args.GetIsolate()
); |
72 return; | 72 return; |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 desc->InstanceTemplate()->MarkAsUndetectable(); | 288 desc->InstanceTemplate()->MarkAsUndetectable(); |
289 | 289 |
290 // Custom toString template | 290 // Custom toString template |
291 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); | 291 desc->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::current()->to
StringTemplate()); |
292 return desc; | 292 return desc; |
293 } | 293 } |
294 | 294 |
295 v8::Handle<v8::FunctionTemplate> V8TestEventTarget::GetTemplate(v8::Isolate* iso
late, WrapperWorldType currentWorldType) | 295 v8::Handle<v8::FunctionTemplate> V8TestEventTarget::GetTemplate(v8::Isolate* iso
late, WrapperWorldType currentWorldType) |
296 { | 296 { |
297 V8PerIsolateData* data = V8PerIsolateData::from(isolate); | 297 V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
298 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&info); | 298 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWo
rldType).find(&wrapperTypeInfo); |
299 if (result != data->templateMap(currentWorldType).end()) | 299 if (result != data->templateMap(currentWorldType).end()) |
300 return result->value.newLocal(isolate); | 300 return result->value.newLocal(isolate); |
301 | 301 |
302 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 302 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
303 v8::HandleScope handleScope(isolate); | 303 v8::HandleScope handleScope(isolate); |
304 v8::Handle<v8::FunctionTemplate> templ = | 304 v8::Handle<v8::FunctionTemplate> templ = |
305 ConfigureV8TestEventTargetTemplate(data->rawTemplate(&info, currentWorld
Type), isolate, currentWorldType); | 305 ConfigureV8TestEventTargetTemplate(data->rawTemplate(&wrapperTypeInfo, c
urrentWorldType), isolate, currentWorldType); |
306 data->templateMap(currentWorldType).add(&info, UnsafePersistent<v8::Function
Template>(isolate, templ)); | 306 data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent<v
8::FunctionTemplate>(isolate, templ)); |
307 return handleScope.Close(templ); | 307 return handleScope.Close(templ); |
308 } | 308 } |
309 | 309 |
310 bool V8TestEventTarget::HasInstance(v8::Handle<v8::Value> jsValue, v8::Isolate*
isolate, WrapperWorldType currentWorldType) | 310 bool V8TestEventTarget::HasInstance(v8::Handle<v8::Value> jsValue, v8::Isolate*
isolate, WrapperWorldType currentWorldType) |
311 { | 311 { |
312 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, currentW
orldType); | 312 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, currentWorldType); |
313 } | 313 } |
314 | 314 |
315 bool V8TestEventTarget::HasInstanceInAnyWorld(v8::Handle<v8::Value> jsValue, v8:
:Isolate* isolate) | 315 bool V8TestEventTarget::HasInstanceInAnyWorld(v8::Handle<v8::Value> jsValue, v8:
:Isolate* isolate) |
316 { | 316 { |
317 return V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, MainWorl
d) | 317 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, MainWorld) |
318 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, Isolated
World) | 318 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, IsolatedWorld) |
319 || V8PerIsolateData::from(isolate)->hasInstance(&info, jsValue, WorkerWo
rld); | 319 || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValu
e, WorkerWorld); |
320 } | 320 } |
321 | 321 |
322 EventTarget* V8TestEventTarget::toEventTarget(v8::Handle<v8::Object> object) | 322 EventTarget* V8TestEventTarget::toEventTarget(v8::Handle<v8::Object> object) |
323 { | 323 { |
324 return toNative(object); | 324 return toNative(object); |
325 } | 325 } |
326 | 326 |
327 v8::Handle<v8::Object> V8TestEventTarget::createWrapper(PassRefPtr<TestEventTarg
et> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) | 327 v8::Handle<v8::Object> V8TestEventTarget::createWrapper(PassRefPtr<TestEventTarg
et> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) |
328 { | 328 { |
329 ASSERT(impl); | 329 ASSERT(impl); |
330 ASSERT(!DOMDataStore::containsWrapper<V8TestEventTarget>(impl.get(), isolate
)); | 330 ASSERT(!DOMDataStore::containsWrapper<V8TestEventTarget>(impl.get(), isolate
)); |
331 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { | 331 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { |
332 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); | 332 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObje
ct(impl.get()); |
333 // Might be a XXXConstructor::info instead of an XXX::info. These will b
oth have | 333 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper
TypeInfo. These will both have |
334 // the same object de-ref functions, though, so use that as the basis of
the check. | 334 // the same object de-ref functions, though, so use that as the basis of
the check. |
335 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== info.derefObjectFunction); | 335 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction
== wrapperTypeInfo.derefObjectFunction); |
336 } | 336 } |
337 | 337 |
338 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &info, toInternalPointer(impl.get()), isolate); | 338 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext
, &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); |
339 if (UNLIKELY(wrapper.IsEmpty())) | 339 if (UNLIKELY(wrapper.IsEmpty())) |
340 return wrapper; | 340 return wrapper; |
341 | 341 |
342 installPerContextEnabledProperties(wrapper, impl.get(), isolate); | 342 installPerContextEnabledProperties(wrapper, impl.get(), isolate); |
343 V8DOMWrapper::associateObjectWithWrapper<V8TestEventTarget>(impl, &info, wra
pper, isolate, WrapperConfiguration::Independent); | 343 V8DOMWrapper::associateObjectWithWrapper<V8TestEventTarget>(impl, &wrapperTy
peInfo, wrapper, isolate, WrapperConfiguration::Independent); |
344 return wrapper; | 344 return wrapper; |
345 } | 345 } |
346 | 346 |
347 void V8TestEventTarget::derefObject(void* object) | 347 void V8TestEventTarget::derefObject(void* object) |
348 { | 348 { |
349 fromInternalPointer(object)->deref(); | 349 fromInternalPointer(object)->deref(); |
350 } | 350 } |
351 | 351 |
352 } // namespace WebCore | 352 } // namespace WebCore |
OLD | NEW |