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.
5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
8 #include "V8TestObjectPython.h"
10 #include "HTMLNames.h"
11 #include "RuntimeEnabledFeatures.h"
13 #include "V8Document.h"
14 #include "V8DocumentFragment.h"
15 #include "V8DocumentType.h"
16 #include "V8Element.h"
17 #include "V8EventTarget.h"
18 #include "V8HTMLCollection.h"
19 #include "V8HTMLElement.h"
21 #include "V8NodeFilter.h"
22 #include "V8ShadowRoot.h"
23 #include "V8TestCallbackInterface.h"
24 #include "V8TestInterface.h"
25 #include "V8TestInterfaceEmpty.h"
26 #include "V8TestInterfacePython.h"
27 #include "V8TestInterfaceWillBeGarbageCollected.h"
28 #include "V8TestNode.h"
29 #include "V8TestObjectA.h"
31 #include "V8XPathNSResolver.h"
32 #include "bindings/v8/BindingSecurity.h"
33 #include "bindings/v8/Dictionary.h"
34 #include "bindings/v8/ExceptionState.h"
35 #include "bindings/v8/ScriptCallStackFactory.h"
36 #include "bindings/v8/ScriptPromise.h"
37 #include "bindings/v8/ScriptState.h"
38 #include "bindings/v8/ScriptValue.h"
39 #include "bindings/v8/SerializedScriptValue.h"
40 #include "bindings/v8/V8AbstractEventListener.h"
41 #include "bindings/v8/V8DOMActivityLogger.h"
42 #include "bindings/v8/V8DOMConfiguration.h"
43 #include "bindings/v8/V8EventListenerList.h"
44 #include "bindings/v8/V8HiddenValue.h"
45 #include "bindings/v8/V8ObjectConstructor.h"
46 #include "bindings/v8/custom/V8ArrayBufferCustom.h"
47 #include "bindings/v8/custom/V8ArrayBufferViewCustom.h"
48 #include "bindings/v8/custom/V8Float32ArrayCustom.h"
49 #include "bindings/v8/custom/V8Int32ArrayCustom.h"
50 #include "bindings/v8/custom/V8Uint8ArrayCustom.h"
51 #include "core/css/MediaQueryListListener.h"
52 #include "core/dom/ContextFeatures.h"
53 #include "core/dom/Document.h"
54 #include "core/dom/custom/CustomElementCallbackDispatcher.h"
55 #include "core/frame/DOMWindow.h"
56 #include "core/frame/UseCounter.h"
57 #include "core/inspector/ScriptArguments.h"
58 #include "platform/TraceEvent.h"
59 #include "wtf/GetPtr.h"
60 #include "wtf/RefPtr.h"
64 static void initializeScriptWrappableForInterface(TestObjectPython* object)
66 if (ScriptWrappable::wrapperCanBeStoredInObject(object))
67 ScriptWrappable::setTypeInfoInObject(object, &V8TestObjectPython::wrapperTypeInfo);
72 } // namespace WebCore
74 void webCoreInitializeScriptWrappableForInterface(WebCore::TestObjectPython* object)
76 WebCore::initializeScriptWrappableForInterface(object);
80 const WrapperTypeInfo V8TestObjectPython::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestObjectPython::domTemplate, V8TestObjectPython::derefObject, 0, 0, 0, V8TestObjectPython::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype, false };
82 namespace TestObjectPythonV8Internal {
84 template <typename T> void V8_USE(T) { }
86 static void readonlyStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
88 v8::Handle<v8::Object> holder = info.Holder();
89 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
90 v8SetReturnValueString(info, impl->readonlyStringAttribute(), info.GetIsolate());
93 static void readonlyStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
95 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
96 TestObjectPythonV8Internal::readonlyStringAttributeAttributeGetter(info);
97 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
100 static void readonlyTestInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
102 v8::Handle<v8::Object> holder = info.Holder();
103 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
104 RefPtr<TestInterfaceEmpty> result(impl->readonlyTestInterfaceEmptyAttribute());
105 if (result && DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceEmpty>(info.GetReturnValue(), result.get()))
107 v8::Handle<v8::Value> wrapper = toV8(result.get(), holder, info.GetIsolate());
108 if (!wrapper.IsEmpty()) {
109 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "readonlyTestInterfaceEmptyAttribute"), wrapper);
110 v8SetReturnValue(info, wrapper);
114 static void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
116 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
117 TestObjectPythonV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetter(info);
118 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
121 static void readonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
123 v8::Handle<v8::Object> holder = info.Holder();
124 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
125 v8SetReturnValueInt(info, impl->readonlyLongAttribute());
128 static void readonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
130 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
131 TestObjectPythonV8Internal::readonlyLongAttributeAttributeGetter(info);
132 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
135 static void dateAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
137 v8::Handle<v8::Object> holder = info.Holder();
138 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
139 v8SetReturnValue(info, v8DateOrNull(impl->dateAttribute(), info.GetIsolate()));
142 static void dateAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
144 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
145 TestObjectPythonV8Internal::dateAttributeAttributeGetter(info);
146 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
149 static void dateAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
151 v8::Handle<v8::Object> holder = info.Holder();
152 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
153 V8TRYCATCH_VOID(double, cppValue, toCoreDate(v8Value));
154 impl->setDateAttribute(cppValue);
157 static void dateAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
159 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
160 TestObjectPythonV8Internal::dateAttributeAttributeSetter(v8Value, info);
161 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
164 static void stringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
166 v8::Handle<v8::Object> holder = info.Holder();
167 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
168 v8SetReturnValueString(info, impl->stringAttribute(), info.GetIsolate());
171 static void stringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
173 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
174 TestObjectPythonV8Internal::stringAttributeAttributeGetter(info);
175 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
178 static void stringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
180 v8::Handle<v8::Object> holder = info.Holder();
181 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
182 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
183 impl->setStringAttribute(cppValue);
186 static void stringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
188 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
189 TestObjectPythonV8Internal::stringAttributeAttributeSetter(v8Value, info);
190 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
193 static void readonlyDOMTimeStampAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
195 v8::Handle<v8::Object> holder = info.Holder();
196 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
197 v8SetReturnValue(info, static_cast<double>(impl->readonlyDOMTimeStampAttribute()));
200 static void readonlyDOMTimeStampAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
202 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
203 TestObjectPythonV8Internal::readonlyDOMTimeStampAttributeAttributeGetter(info);
204 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
207 static void booleanAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
209 v8::Handle<v8::Object> holder = info.Holder();
210 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
211 v8SetReturnValueBool(info, impl->booleanAttribute());
214 static void booleanAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
216 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
217 TestObjectPythonV8Internal::booleanAttributeAttributeGetter(info);
218 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
221 static void booleanAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
223 v8::Handle<v8::Object> holder = info.Holder();
224 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
225 V8TRYCATCH_VOID(bool, cppValue, v8Value->BooleanValue());
226 impl->setBooleanAttribute(cppValue);
229 static void booleanAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
231 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
232 TestObjectPythonV8Internal::booleanAttributeAttributeSetter(v8Value, info);
233 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
236 static void byteAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
238 v8::Handle<v8::Object> holder = info.Holder();
239 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
240 v8SetReturnValueInt(info, impl->byteAttribute());
243 static void byteAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
245 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
246 TestObjectPythonV8Internal::byteAttributeAttributeGetter(info);
247 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
250 static void byteAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
252 v8::Handle<v8::Object> holder = info.Holder();
253 ExceptionState exceptionState(ExceptionState::SetterContext, "byteAttribute", "TestObjectPython", holder, info.GetIsolate());
254 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
255 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt8(v8Value, exceptionState), exceptionState);
256 impl->setByteAttribute(cppValue);
259 static void byteAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
261 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
262 TestObjectPythonV8Internal::byteAttributeAttributeSetter(v8Value, info);
263 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
266 static void doubleAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
268 v8::Handle<v8::Object> holder = info.Holder();
269 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
270 v8SetReturnValue(info, impl->doubleAttribute());
273 static void doubleAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
275 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
276 TestObjectPythonV8Internal::doubleAttributeAttributeGetter(info);
277 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
280 static void doubleAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
282 v8::Handle<v8::Object> holder = info.Holder();
283 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
284 V8TRYCATCH_VOID(double, cppValue, static_cast<double>(v8Value->NumberValue()));
285 impl->setDoubleAttribute(cppValue);
288 static void doubleAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
290 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
291 TestObjectPythonV8Internal::doubleAttributeAttributeSetter(v8Value, info);
292 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
295 static void floatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
297 v8::Handle<v8::Object> holder = info.Holder();
298 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
299 v8SetReturnValue(info, impl->floatAttribute());
302 static void floatAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
304 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
305 TestObjectPythonV8Internal::floatAttributeAttributeGetter(info);
306 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
309 static void floatAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
311 v8::Handle<v8::Object> holder = info.Holder();
312 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
313 V8TRYCATCH_VOID(float, cppValue, static_cast<float>(v8Value->NumberValue()));
314 impl->setFloatAttribute(cppValue);
317 static void floatAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
319 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
320 TestObjectPythonV8Internal::floatAttributeAttributeSetter(v8Value, info);
321 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
324 static void longAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
326 v8::Handle<v8::Object> holder = info.Holder();
327 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
328 v8SetReturnValueInt(info, impl->longAttribute());
331 static void longAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
333 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
334 TestObjectPythonV8Internal::longAttributeAttributeGetter(info);
335 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
338 static void longAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
340 v8::Handle<v8::Object> holder = info.Holder();
341 ExceptionState exceptionState(ExceptionState::SetterContext, "longAttribute", "TestObjectPython", holder, info.GetIsolate());
342 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
343 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
344 impl->setLongAttribute(cppValue);
347 static void longAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
349 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
350 TestObjectPythonV8Internal::longAttributeAttributeSetter(v8Value, info);
351 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
354 static void longLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
356 v8::Handle<v8::Object> holder = info.Holder();
357 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
358 v8SetReturnValue(info, static_cast<double>(impl->longLongAttribute()));
361 static void longLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
363 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
364 TestObjectPythonV8Internal::longLongAttributeAttributeGetter(info);
365 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
368 static void longLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
370 v8::Handle<v8::Object> holder = info.Holder();
371 ExceptionState exceptionState(ExceptionState::SetterContext, "longLongAttribute", "TestObjectPython", holder, info.GetIsolate());
372 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
373 V8TRYCATCH_EXCEPTION_VOID(long long, cppValue, toInt64(v8Value, exceptionState), exceptionState);
374 impl->setLongLongAttribute(cppValue);
377 static void longLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
379 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
380 TestObjectPythonV8Internal::longLongAttributeAttributeSetter(v8Value, info);
381 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
384 static void octetAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
386 v8::Handle<v8::Object> holder = info.Holder();
387 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
388 v8SetReturnValueUnsigned(info, impl->octetAttribute());
391 static void octetAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
393 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
394 TestObjectPythonV8Internal::octetAttributeAttributeGetter(info);
395 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
398 static void octetAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
400 v8::Handle<v8::Object> holder = info.Holder();
401 ExceptionState exceptionState(ExceptionState::SetterContext, "octetAttribute", "TestObjectPython", holder, info.GetIsolate());
402 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
403 V8TRYCATCH_EXCEPTION_VOID(unsigned, cppValue, toUInt8(v8Value, exceptionState), exceptionState);
404 impl->setOctetAttribute(cppValue);
407 static void octetAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
409 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
410 TestObjectPythonV8Internal::octetAttributeAttributeSetter(v8Value, info);
411 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
414 static void shortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
416 v8::Handle<v8::Object> holder = info.Holder();
417 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
418 v8SetReturnValueInt(info, impl->shortAttribute());
421 static void shortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
423 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
424 TestObjectPythonV8Internal::shortAttributeAttributeGetter(info);
425 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
428 static void shortAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
430 v8::Handle<v8::Object> holder = info.Holder();
431 ExceptionState exceptionState(ExceptionState::SetterContext, "shortAttribute", "TestObjectPython", holder, info.GetIsolate());
432 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
433 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt16(v8Value, exceptionState), exceptionState);
434 impl->setShortAttribute(cppValue);
437 static void shortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
439 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
440 TestObjectPythonV8Internal::shortAttributeAttributeSetter(v8Value, info);
441 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
444 static void unsignedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
446 v8::Handle<v8::Object> holder = info.Holder();
447 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
448 v8SetReturnValueUnsigned(info, impl->unsignedLongAttribute());
451 static void unsignedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
453 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
454 TestObjectPythonV8Internal::unsignedLongAttributeAttributeGetter(info);
455 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
458 static void unsignedLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
460 v8::Handle<v8::Object> holder = info.Holder();
461 ExceptionState exceptionState(ExceptionState::SetterContext, "unsignedLongAttribute", "TestObjectPython", holder, info.GetIsolate());
462 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
463 V8TRYCATCH_EXCEPTION_VOID(unsigned, cppValue, toUInt32(v8Value, exceptionState), exceptionState);
464 impl->setUnsignedLongAttribute(cppValue);
467 static void unsignedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
469 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
470 TestObjectPythonV8Internal::unsignedLongAttributeAttributeSetter(v8Value, info);
471 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
474 static void unsignedLongLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
476 v8::Handle<v8::Object> holder = info.Holder();
477 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
478 v8SetReturnValue(info, static_cast<double>(impl->unsignedLongLongAttribute()));
481 static void unsignedLongLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
483 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
484 TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeGetter(info);
485 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
488 static void unsignedLongLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
490 v8::Handle<v8::Object> holder = info.Holder();
491 ExceptionState exceptionState(ExceptionState::SetterContext, "unsignedLongLongAttribute", "TestObjectPython", holder, info.GetIsolate());
492 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
493 V8TRYCATCH_EXCEPTION_VOID(unsigned long long, cppValue, toUInt64(v8Value, exceptionState), exceptionState);
494 impl->setUnsignedLongLongAttribute(cppValue);
497 static void unsignedLongLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
499 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
500 TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeSetter(v8Value, info);
501 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
504 static void unsignedShortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
506 v8::Handle<v8::Object> holder = info.Holder();
507 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
508 v8SetReturnValueUnsigned(info, impl->unsignedShortAttribute());
511 static void unsignedShortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
513 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
514 TestObjectPythonV8Internal::unsignedShortAttributeAttributeGetter(info);
515 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
518 static void unsignedShortAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
520 v8::Handle<v8::Object> holder = info.Holder();
521 ExceptionState exceptionState(ExceptionState::SetterContext, "unsignedShortAttribute", "TestObjectPython", holder, info.GetIsolate());
522 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
523 V8TRYCATCH_EXCEPTION_VOID(unsigned, cppValue, toUInt16(v8Value, exceptionState), exceptionState);
524 impl->setUnsignedShortAttribute(cppValue);
527 static void unsignedShortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
529 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
530 TestObjectPythonV8Internal::unsignedShortAttributeAttributeSetter(v8Value, info);
531 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
534 static void testInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
536 v8::Handle<v8::Object> holder = info.Holder();
537 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
538 v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceEmptyAttribute()), impl);
541 static void testInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
543 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
544 TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeGetter(info);
545 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
548 static void testInterfaceEmptyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
550 v8::Handle<v8::Object> holder = info.Holder();
551 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
552 V8TRYCATCH_VOID(TestInterfaceEmpty*, cppValue, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
553 impl->setTestInterfaceEmptyAttribute(WTF::getPtr(cppValue));
556 static void testInterfaceEmptyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
558 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
559 TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeSetter(v8Value, info);
560 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
563 static void testObjectPythonAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
565 v8::Handle<v8::Object> holder = info.Holder();
566 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
567 v8SetReturnValueFast(info, WTF::getPtr(impl->testObjectPythonAttribute()), impl);
570 static void testObjectPythonAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
572 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
573 TestObjectPythonV8Internal::testObjectPythonAttributeAttributeGetter(info);
574 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
577 static void testObjectPythonAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
579 v8::Handle<v8::Object> holder = info.Holder();
580 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
581 V8TRYCATCH_VOID(TestObjectPython*, cppValue, V8TestObjectPython::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
582 impl->setTestObjectPythonAttribute(WTF::getPtr(cppValue));
585 static void testObjectPythonAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
587 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
588 TestObjectPythonV8Internal::testObjectPythonAttributeAttributeSetter(v8Value, info);
589 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
592 static void voidCallbackFunctionAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
594 v8::Handle<v8::Object> holder = info.Holder();
595 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
596 v8SetReturnValue(info, impl->voidCallbackFunctionAttribute().v8Value());
599 static void voidCallbackFunctionAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
601 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
602 TestObjectPythonV8Internal::voidCallbackFunctionAttributeAttributeGetter(info);
603 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
606 static void voidCallbackFunctionAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
608 v8::Handle<v8::Object> holder = info.Holder();
609 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
610 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
611 impl->setVoidCallbackFunctionAttribute(cppValue);
614 static void voidCallbackFunctionAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
616 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
617 TestObjectPythonV8Internal::voidCallbackFunctionAttributeAttributeSetter(v8Value, info);
618 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
621 static void anyCallbackFunctionOptionalAnyArgAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
623 v8::Handle<v8::Object> holder = info.Holder();
624 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
625 v8SetReturnValue(info, impl->anyCallbackFunctionOptionalAnyArgAttribute().v8Value());
628 static void anyCallbackFunctionOptionalAnyArgAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
630 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
631 TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeGetter(info);
632 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
635 static void anyCallbackFunctionOptionalAnyArgAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
637 v8::Handle<v8::Object> holder = info.Holder();
638 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
639 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
640 impl->setAnyCallbackFunctionOptionalAnyArgAttribute(cppValue);
643 static void anyCallbackFunctionOptionalAnyArgAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
645 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
646 TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeSetter(v8Value, info);
647 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
650 static void cssAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
652 v8::Handle<v8::Object> holder = info.Holder();
653 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
654 v8SetReturnValueInt(info, impl->cssAttribute());
657 static void cssAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
659 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
660 TestObjectPythonV8Internal::cssAttributeAttributeGetter(info);
661 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
664 static void cssAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
666 v8::Handle<v8::Object> holder = info.Holder();
667 ExceptionState exceptionState(ExceptionState::SetterContext, "cssAttribute", "TestObjectPython", holder, info.GetIsolate());
668 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
669 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
670 impl->setCSSAttribute(cppValue);
673 static void cssAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
675 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
676 TestObjectPythonV8Internal::cssAttributeAttributeSetter(v8Value, info);
677 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
680 static void imeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
682 v8::Handle<v8::Object> holder = info.Holder();
683 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
684 v8SetReturnValueInt(info, impl->imeAttribute());
687 static void imeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
689 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
690 TestObjectPythonV8Internal::imeAttributeAttributeGetter(info);
691 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
694 static void imeAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
696 v8::Handle<v8::Object> holder = info.Holder();
697 ExceptionState exceptionState(ExceptionState::SetterContext, "imeAttribute", "TestObjectPython", holder, info.GetIsolate());
698 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
699 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
700 impl->setIMEAttribute(cppValue);
703 static void imeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
705 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
706 TestObjectPythonV8Internal::imeAttributeAttributeSetter(v8Value, info);
707 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
710 static void svgAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
712 v8::Handle<v8::Object> holder = info.Holder();
713 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
714 v8SetReturnValueInt(info, impl->svgAttribute());
717 static void svgAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
719 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
720 TestObjectPythonV8Internal::svgAttributeAttributeGetter(info);
721 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
724 static void svgAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
726 v8::Handle<v8::Object> holder = info.Holder();
727 ExceptionState exceptionState(ExceptionState::SetterContext, "svgAttribute", "TestObjectPython", holder, info.GetIsolate());
728 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
729 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
730 impl->setSVGAttribute(cppValue);
733 static void svgAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
735 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
736 TestObjectPythonV8Internal::svgAttributeAttributeSetter(v8Value, info);
737 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
740 static void xmlAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
742 v8::Handle<v8::Object> holder = info.Holder();
743 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
744 v8SetReturnValueInt(info, impl->xmlAttribute());
747 static void xmlAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
749 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
750 TestObjectPythonV8Internal::xmlAttributeAttributeGetter(info);
751 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
754 static void xmlAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
756 v8::Handle<v8::Object> holder = info.Holder();
757 ExceptionState exceptionState(ExceptionState::SetterContext, "xmlAttribute", "TestObjectPython", holder, info.GetIsolate());
758 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
759 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
760 impl->setXMLAttribute(cppValue);
763 static void xmlAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
765 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
766 TestObjectPythonV8Internal::xmlAttributeAttributeSetter(v8Value, info);
767 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
770 static void nodeFilterAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
772 v8::Handle<v8::Object> holder = info.Holder();
773 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
774 v8SetReturnValueFast(info, WTF::getPtr(impl->nodeFilterAttribute()), impl);
777 static void nodeFilterAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
779 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
780 TestObjectPythonV8Internal::nodeFilterAttributeAttributeGetter(info);
781 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
784 static void nodeFilterAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
786 v8::Handle<v8::Object> holder = info.Holder();
787 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
788 V8TRYCATCH_VOID(RefPtr<NodeFilter>, cppValue, toNodeFilter(v8Value, info.GetIsolate()));
789 impl->setNodeFilterAttribute(WTF::getPtr(cppValue));
792 static void nodeFilterAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
794 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
795 TestObjectPythonV8Internal::nodeFilterAttributeAttributeSetter(v8Value, info);
796 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
799 static void serializedScriptValueAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
801 v8::Handle<v8::Object> holder = info.Holder();
802 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
803 v8SetReturnValue(info, impl->serializedScriptValueAttribute() ? impl->serializedScriptValueAttribute()->deserialize() : v8::Handle<v8::Value>(v8::Null(info.GetIsolate())));
806 static void serializedScriptValueAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
808 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
809 TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeGetter(info);
810 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
813 static void serializedScriptValueAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
815 v8::Handle<v8::Object> holder = info.Holder();
816 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
817 V8TRYCATCH_VOID(RefPtr<SerializedScriptValue>, cppValue, SerializedScriptValue::create(v8Value, info.GetIsolate()));
818 impl->setSerializedScriptValueAttribute(WTF::getPtr(cppValue));
821 static void serializedScriptValueAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
823 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
824 TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeSetter(v8Value, info);
825 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
828 static void anyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
830 v8::Handle<v8::Object> holder = info.Holder();
831 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
832 v8SetReturnValue(info, impl->anyAttribute().v8Value());
835 static void anyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
837 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
838 TestObjectPythonV8Internal::anyAttributeAttributeGetter(info);
839 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
842 static void anyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
844 v8::Handle<v8::Object> holder = info.Holder();
845 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
846 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
847 impl->setAnyAttribute(cppValue);
850 static void anyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
852 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
853 TestObjectPythonV8Internal::anyAttributeAttributeSetter(v8Value, info);
854 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
857 static void promiseAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
859 v8::Handle<v8::Object> holder = info.Holder();
860 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
861 v8SetReturnValue(info, impl->promiseAttribute().v8Value());
864 static void promiseAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
866 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
867 TestObjectPythonV8Internal::promiseAttributeAttributeGetter(info);
868 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
871 static void promiseAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
873 v8::Handle<v8::Object> holder = info.Holder();
874 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
875 V8TRYCATCH_VOID(ScriptPromise, cppValue, ScriptPromise(v8Value, info.GetIsolate()));
876 impl->setPromiseAttribute(cppValue);
879 static void promiseAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
881 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
882 TestObjectPythonV8Internal::promiseAttributeAttributeSetter(v8Value, info);
883 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
886 static void windowAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
888 v8::Handle<v8::Object> holder = info.Holder();
889 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
890 v8SetReturnValueFast(info, WTF::getPtr(impl->windowAttribute()), impl);
893 static void windowAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
895 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
896 TestObjectPythonV8Internal::windowAttributeAttributeGetter(info);
897 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
900 static void windowAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
902 v8::Handle<v8::Object> holder = info.Holder();
903 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
904 V8TRYCATCH_VOID(DOMWindow*, cppValue, toDOMWindow(v8Value, info.GetIsolate()));
905 impl->setWindowAttribute(WTF::getPtr(cppValue));
908 static void windowAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
910 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
911 TestObjectPythonV8Internal::windowAttributeAttributeSetter(v8Value, info);
912 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
915 static void documentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
917 v8::Handle<v8::Object> holder = info.Holder();
918 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
919 v8SetReturnValueFast(info, WTF::getPtr(impl->documentAttribute()), impl);
922 static void documentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
924 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
925 TestObjectPythonV8Internal::documentAttributeAttributeGetter(info);
926 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
929 static void documentAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
931 v8::Handle<v8::Object> holder = info.Holder();
932 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
933 V8TRYCATCH_VOID(Document*, cppValue, V8Document::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
934 impl->setDocumentAttribute(WTF::getPtr(cppValue));
937 static void documentAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
939 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
940 TestObjectPythonV8Internal::documentAttributeAttributeSetter(v8Value, info);
941 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
944 static void documentFragmentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
946 v8::Handle<v8::Object> holder = info.Holder();
947 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
948 v8SetReturnValueFast(info, WTF::getPtr(impl->documentFragmentAttribute()), impl);
951 static void documentFragmentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
953 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
954 TestObjectPythonV8Internal::documentFragmentAttributeAttributeGetter(info);
955 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
958 static void documentFragmentAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
960 v8::Handle<v8::Object> holder = info.Holder();
961 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
962 V8TRYCATCH_VOID(DocumentFragment*, cppValue, V8DocumentFragment::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
963 impl->setDocumentFragmentAttribute(WTF::getPtr(cppValue));
966 static void documentFragmentAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
968 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
969 TestObjectPythonV8Internal::documentFragmentAttributeAttributeSetter(v8Value, info);
970 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
973 static void documentTypeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
975 v8::Handle<v8::Object> holder = info.Holder();
976 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
977 v8SetReturnValueFast(info, WTF::getPtr(impl->documentTypeAttribute()), impl);
980 static void documentTypeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
982 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
983 TestObjectPythonV8Internal::documentTypeAttributeAttributeGetter(info);
984 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
987 static void documentTypeAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
989 v8::Handle<v8::Object> holder = info.Holder();
990 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
991 V8TRYCATCH_VOID(DocumentType*, cppValue, V8DocumentType::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
992 impl->setDocumentTypeAttribute(WTF::getPtr(cppValue));
995 static void documentTypeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
997 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
998 TestObjectPythonV8Internal::documentTypeAttributeAttributeSetter(v8Value, info);
999 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1002 static void elementAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1004 v8::Handle<v8::Object> holder = info.Holder();
1005 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1006 v8SetReturnValueFast(info, WTF::getPtr(impl->elementAttribute()), impl);
1009 static void elementAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1011 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1012 TestObjectPythonV8Internal::elementAttributeAttributeGetter(info);
1013 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1016 static void elementAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1018 v8::Handle<v8::Object> holder = info.Holder();
1019 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1020 V8TRYCATCH_VOID(Element*, cppValue, V8Element::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
1021 impl->setElementAttribute(WTF::getPtr(cppValue));
1024 static void elementAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1026 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1027 TestObjectPythonV8Internal::elementAttributeAttributeSetter(v8Value, info);
1028 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1031 static void nodeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1033 v8::Handle<v8::Object> holder = info.Holder();
1034 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1035 v8SetReturnValueFast(info, WTF::getPtr(impl->nodeAttribute()), impl);
1038 static void nodeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1040 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1041 TestObjectPythonV8Internal::nodeAttributeAttributeGetter(info);
1042 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1045 static void nodeAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1047 v8::Handle<v8::Object> holder = info.Holder();
1048 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1049 V8TRYCATCH_VOID(Node*, cppValue, V8Node::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
1050 impl->setNodeAttribute(WTF::getPtr(cppValue));
1053 static void nodeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1055 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1056 TestObjectPythonV8Internal::nodeAttributeAttributeSetter(v8Value, info);
1057 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1060 static void shadowRootAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1062 v8::Handle<v8::Object> holder = info.Holder();
1063 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1064 v8SetReturnValueFast(info, WTF::getPtr(impl->shadowRootAttribute()), impl);
1067 static void shadowRootAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1069 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1070 TestObjectPythonV8Internal::shadowRootAttributeAttributeGetter(info);
1071 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1074 static void shadowRootAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1076 v8::Handle<v8::Object> holder = info.Holder();
1077 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1078 V8TRYCATCH_VOID(ShadowRoot*, cppValue, V8ShadowRoot::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
1079 impl->setShadowRootAttribute(WTF::getPtr(cppValue));
1082 static void shadowRootAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1084 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1085 TestObjectPythonV8Internal::shadowRootAttributeAttributeSetter(v8Value, info);
1086 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1089 static void arrayBufferAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1091 v8::Handle<v8::Object> holder = info.Holder();
1092 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1093 v8SetReturnValueFast(info, WTF::getPtr(impl->arrayBufferAttribute()), impl);
1096 static void arrayBufferAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1098 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1099 TestObjectPythonV8Internal::arrayBufferAttributeAttributeGetter(info);
1100 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1103 static void arrayBufferAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1105 v8::Handle<v8::Object> holder = info.Holder();
1106 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1107 V8TRYCATCH_VOID(ArrayBuffer*, cppValue, v8Value->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast(v8Value)) : 0);
1108 impl->setArrayBufferAttribute(WTF::getPtr(cppValue));
1111 static void arrayBufferAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1113 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1114 TestObjectPythonV8Internal::arrayBufferAttributeAttributeSetter(v8Value, info);
1115 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1118 static void float32ArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1120 v8::Handle<v8::Object> holder = info.Holder();
1121 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1122 v8SetReturnValueFast(info, WTF::getPtr(impl->float32ArrayAttribute()), impl);
1125 static void float32ArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1127 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1128 TestObjectPythonV8Internal::float32ArrayAttributeAttributeGetter(info);
1129 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1132 static void float32ArrayAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1134 v8::Handle<v8::Object> holder = info.Holder();
1135 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1136 V8TRYCATCH_VOID(Float32Array*, cppValue, v8Value->IsFloat32Array() ? V8Float32Array::toNative(v8::Handle<v8::Float32Array>::Cast(v8Value)) : 0);
1137 impl->setFloat32ArrayAttribute(WTF::getPtr(cppValue));
1140 static void float32ArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1142 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1143 TestObjectPythonV8Internal::float32ArrayAttributeAttributeSetter(v8Value, info);
1144 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1147 static void uint8ArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1149 v8::Handle<v8::Object> holder = info.Holder();
1150 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1151 v8SetReturnValueFast(info, WTF::getPtr(impl->uint8ArrayAttribute()), impl);
1154 static void uint8ArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1156 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1157 TestObjectPythonV8Internal::uint8ArrayAttributeAttributeGetter(info);
1158 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1161 static void uint8ArrayAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1163 v8::Handle<v8::Object> holder = info.Holder();
1164 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1165 V8TRYCATCH_VOID(Uint8Array*, cppValue, v8Value->IsUint8Array() ? V8Uint8Array::toNative(v8::Handle<v8::Uint8Array>::Cast(v8Value)) : 0);
1166 impl->setUint8ArrayAttribute(WTF::getPtr(cppValue));
1169 static void uint8ArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1171 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1172 TestObjectPythonV8Internal::uint8ArrayAttributeAttributeSetter(v8Value, info);
1173 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1176 static void selfAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1178 v8::Handle<v8::Object> holder = info.Holder();
1179 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1180 v8SetReturnValueFast(info, WTF::getPtr(impl->self()), impl);
1183 static void selfAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1185 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1186 TestObjectPythonV8Internal::selfAttributeGetter(info);
1187 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1190 static void readonlyEventTargetAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1192 v8::Handle<v8::Object> holder = info.Holder();
1193 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1194 v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyEventTargetAttribute()), impl);
1197 static void readonlyEventTargetAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1199 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1200 TestObjectPythonV8Internal::readonlyEventTargetAttributeAttributeGetter(info);
1201 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1204 static void readonlyEventTargetOrNullAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1206 v8::Handle<v8::Object> holder = info.Holder();
1207 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1208 bool isNull = false;
1209 RefPtr<EventTarget> v8Value = impl->readonlyEventTargetOrNullAttribute(isNull);
1211 v8SetReturnValueNull(info);
1214 v8SetReturnValueFast(info, WTF::getPtr(v8Value.release()), impl);
1217 static void readonlyEventTargetOrNullAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1219 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1220 TestObjectPythonV8Internal::readonlyEventTargetOrNullAttributeAttributeGetter(info);
1221 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1224 static void readonlyWindowAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1226 v8::Handle<v8::Object> holder = info.Holder();
1227 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1228 v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyWindowAttribute()), impl);
1231 static void readonlyWindowAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1233 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1234 TestObjectPythonV8Internal::readonlyWindowAttributeAttributeGetter(info);
1235 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1238 static void htmlCollectionAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1240 v8::Handle<v8::Object> holder = info.Holder();
1241 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1242 v8SetReturnValueFast(info, WTF::getPtr(impl->htmlCollectionAttribute()), impl);
1245 static void htmlCollectionAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1247 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1248 TestObjectPythonV8Internal::htmlCollectionAttributeAttributeGetter(info);
1249 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1252 static void htmlElementAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1254 v8::Handle<v8::Object> holder = info.Holder();
1255 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1256 v8SetReturnValueFast(info, WTF::getPtr(impl->htmlElementAttribute()), impl);
1259 static void htmlElementAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1261 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1262 TestObjectPythonV8Internal::htmlElementAttributeAttributeGetter(info);
1263 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1266 static void stringArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1268 v8::Handle<v8::Object> holder = info.Holder();
1269 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1270 v8SetReturnValue(info, v8Array(impl->stringArrayAttribute(), info.GetIsolate()));
1273 static void stringArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1275 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1276 TestObjectPythonV8Internal::stringArrayAttributeAttributeGetter(info);
1277 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1280 static void stringArrayAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1282 v8::Handle<v8::Object> holder = info.Holder();
1283 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1284 V8TRYCATCH_VOID(Vector<String>, cppValue, toNativeArray<String>(v8Value, 0, info.GetIsolate()));
1285 impl->setStringArrayAttribute(cppValue);
1288 static void stringArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1290 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1291 TestObjectPythonV8Internal::stringArrayAttributeAttributeSetter(v8Value, info);
1292 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1295 static void testInterfaceEmptyArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1297 v8::Handle<v8::Object> holder = info.Holder();
1298 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1299 v8SetReturnValue(info, v8Array(impl->testInterfaceEmptyArrayAttribute(), info.GetIsolate()));
1302 static void testInterfaceEmptyArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1304 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1305 TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeGetter(info);
1306 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1309 static void testInterfaceEmptyArrayAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1311 v8::Handle<v8::Object> holder = info.Holder();
1312 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1313 V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, cppValue, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(v8Value, 0, info.GetIsolate())));
1314 impl->setTestInterfaceEmptyArrayAttribute(cppValue);
1317 static void testInterfaceEmptyArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1319 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1320 TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeSetter(v8Value, info);
1321 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1324 static void floatArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1326 v8::Handle<v8::Object> holder = info.Holder();
1327 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1328 v8SetReturnValue(info, v8Array(impl->floatArrayAttribute(), info.GetIsolate()));
1331 static void floatArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1333 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1334 TestObjectPythonV8Internal::floatArrayAttributeAttributeGetter(info);
1335 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1338 static void floatArrayAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1340 v8::Handle<v8::Object> holder = info.Holder();
1341 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1342 V8TRYCATCH_VOID(Vector<float>, cppValue, toNativeArray<float>(v8Value, 0, info.GetIsolate()));
1343 impl->setFloatArrayAttribute(cppValue);
1346 static void floatArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1348 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1349 TestObjectPythonV8Internal::floatArrayAttributeAttributeSetter(v8Value, info);
1350 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1353 static void stringOrNullAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1355 v8::Handle<v8::Object> holder = info.Holder();
1356 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1357 bool isNull = false;
1358 String v8Value = impl->stringOrNullAttribute(isNull);
1360 v8SetReturnValueNull(info);
1363 v8SetReturnValueString(info, v8Value, info.GetIsolate());
1366 static void stringOrNullAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1368 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1369 TestObjectPythonV8Internal::stringOrNullAttributeAttributeGetter(info);
1370 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1373 static void stringOrNullAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1375 v8::Handle<v8::Object> holder = info.Holder();
1376 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1377 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
1378 impl->setStringOrNullAttribute(cppValue);
1381 static void stringOrNullAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1383 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1384 TestObjectPythonV8Internal::stringOrNullAttributeAttributeSetter(v8Value, info);
1385 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1388 static void longOrNullAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1390 v8::Handle<v8::Object> holder = info.Holder();
1391 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1392 bool isNull = false;
1393 int v8Value = impl->longOrNullAttribute(isNull);
1395 v8SetReturnValueNull(info);
1398 v8SetReturnValueInt(info, v8Value);
1401 static void longOrNullAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1403 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1404 TestObjectPythonV8Internal::longOrNullAttributeAttributeGetter(info);
1405 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1408 static void longOrNullAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1410 v8::Handle<v8::Object> holder = info.Holder();
1411 ExceptionState exceptionState(ExceptionState::SetterContext, "longOrNullAttribute", "TestObjectPython", holder, info.GetIsolate());
1412 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1413 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1414 impl->setLongOrNullAttribute(cppValue);
1417 static void longOrNullAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1419 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1420 TestObjectPythonV8Internal::longOrNullAttributeAttributeSetter(v8Value, info);
1421 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1424 static void testInterfaceOrNullAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1426 v8::Handle<v8::Object> holder = info.Holder();
1427 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1428 bool isNull = false;
1429 RefPtr<TestInterface> v8Value = impl->testInterfaceOrNullAttribute(isNull);
1431 v8SetReturnValueNull(info);
1434 v8SetReturnValueFast(info, WTF::getPtr(v8Value.release()), impl);
1437 static void testInterfaceOrNullAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1439 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1440 TestObjectPythonV8Internal::testInterfaceOrNullAttributeAttributeGetter(info);
1441 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1444 static void testInterfaceOrNullAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1446 v8::Handle<v8::Object> holder = info.Holder();
1447 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1448 V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
1449 impl->setTestInterfaceOrNullAttribute(WTF::getPtr(cppValue));
1452 static void testInterfaceOrNullAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1454 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1455 TestObjectPythonV8Internal::testInterfaceOrNullAttributeAttributeSetter(v8Value, info);
1456 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1459 static void testEnumAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1461 v8::Handle<v8::Object> holder = info.Holder();
1462 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1463 v8SetReturnValueString(info, impl->testEnumAttribute(), info.GetIsolate());
1466 static void testEnumAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1468 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1469 TestObjectPythonV8Internal::testEnumAttributeAttributeGetter(info);
1470 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1473 static void testEnumAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1475 v8::Handle<v8::Object> holder = info.Holder();
1476 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1477 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
1478 String string = cppValue;
1479 if (!(string == "" || string == "EnumValue1" || string == "EnumValue2" || string == "EnumValue3"))
1481 impl->setTestEnumAttribute(cppValue);
1484 static void testEnumAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1486 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1487 TestObjectPythonV8Internal::testEnumAttributeAttributeSetter(v8Value, info);
1488 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1491 static void staticStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1493 v8SetReturnValueString(info, TestObjectPython::staticStringAttribute(), info.GetIsolate());
1496 static void staticStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1498 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1499 TestObjectPythonV8Internal::staticStringAttributeAttributeGetter(info);
1500 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1503 static void staticStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1505 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
1506 TestObjectPython::setStaticStringAttribute(cppValue);
1509 static void staticStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1511 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1512 TestObjectPythonV8Internal::staticStringAttributeAttributeSetter(v8Value, info);
1513 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1516 static void staticLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1518 v8SetReturnValueInt(info, TestObjectPython::staticLongAttribute());
1521 static void staticLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1523 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1524 TestObjectPythonV8Internal::staticLongAttributeAttributeGetter(info);
1525 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1528 static void staticLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1530 ExceptionState exceptionState(ExceptionState::SetterContext, "staticLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1531 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1532 TestObjectPython::setStaticLongAttribute(cppValue);
1535 static void staticLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1537 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1538 TestObjectPythonV8Internal::staticLongAttributeAttributeSetter(v8Value, info);
1539 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1542 static void eventHandlerAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1544 v8::Handle<v8::Object> holder = info.Holder();
1545 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1546 EventListener* v8Value = impl->eventHandlerAttribute();
1547 v8SetReturnValue(info, v8Value ? v8::Handle<v8::Value>(V8AbstractEventListener::cast(v8Value)->getListenerObject(impl->executionContext())) : v8::Handle<v8::Value>(v8::Null(info.GetIsolate())));
1550 static void eventHandlerAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1552 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1553 TestObjectPythonV8Internal::eventHandlerAttributeAttributeGetter(info);
1554 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1557 static void eventHandlerAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1559 v8::Handle<v8::Object> holder = info.Holder();
1560 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1561 moveEventListenerToNewWrapper(holder, impl->eventHandlerAttribute(), v8Value, V8TestObjectPython::eventListenerCacheIndex, info.GetIsolate());
1562 impl->setEventHandlerAttribute(V8EventListenerList::getEventListener(v8Value, true, ListenerFindOrCreate));
1565 static void eventHandlerAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1567 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1568 TestObjectPythonV8Internal::eventHandlerAttributeAttributeSetter(v8Value, info);
1569 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1572 static void activityLoggingAccessForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1574 v8::Handle<v8::Object> holder = info.Holder();
1575 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1576 v8SetReturnValueInt(info, impl->activityLoggingAccessForAllWorldsLongAttribute());
1579 static void activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1581 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1582 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
1583 if (contextData && contextData->activityLogger())
1584 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsLongAttribute", 0, 0, "Getter");
1585 TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeGetter(info);
1586 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1589 static void activityLoggingAccessForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1591 v8::Handle<v8::Object> holder = info.Holder();
1592 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingAccessForAllWorldsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1593 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1594 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1595 impl->setActivityLoggingAccessForAllWorldsLongAttribute(cppValue);
1598 static void activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1600 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1601 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
1602 if (contextData && contextData->activityLogger()) {
1603 v8::Handle<v8::Value> loggerArg[] = { v8Value };
1604 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter");
1606 TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeSetter(v8Value, info);
1607 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1610 static void activityLoggingGetterForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1612 v8::Handle<v8::Object> holder = info.Holder();
1613 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1614 v8SetReturnValueInt(info, impl->activityLoggingGetterForAllWorldsLongAttribute());
1617 static void activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1619 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1620 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
1621 if (contextData && contextData->activityLogger())
1622 contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterForAllWorldsLongAttribute", 0, 0, "Getter");
1623 TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeGetter(info);
1624 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1627 static void activityLoggingGetterForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1629 v8::Handle<v8::Object> holder = info.Holder();
1630 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingGetterForAllWorldsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1631 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1632 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1633 impl->setActivityLoggingGetterForAllWorldsLongAttribute(cppValue);
1636 static void activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1638 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1639 TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeSetter(v8Value, info);
1640 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1643 static void activityLoggingSetterForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1645 v8::Handle<v8::Object> holder = info.Holder();
1646 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1647 v8SetReturnValueInt(info, impl->activityLoggingSetterForAllWorldsLongAttribute());
1650 static void activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1652 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1653 TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeGetter(info);
1654 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1657 static void activityLoggingSetterForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1659 v8::Handle<v8::Object> holder = info.Holder();
1660 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingSetterForAllWorldsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1661 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1662 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1663 impl->setActivityLoggingSetterForAllWorldsLongAttribute(cppValue);
1666 static void activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1668 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1669 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
1670 if (contextData && contextData->activityLogger()) {
1671 v8::Handle<v8::Value> loggerArg[] = { v8Value };
1672 contextData->activityLogger()->log("TestObjectPython.activityLoggingSetterForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter");
1674 TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeSetter(v8Value, info);
1675 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1678 static void cachedAttributeAnyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1680 v8::Handle<v8::Object> holder = info.Holder();
1681 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "cachedAttributeAnyAttribute");
1682 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1683 if (!impl->isValueDirty()) {
1684 v8::Handle<v8::Value> v8Value = V8HiddenValue::getHiddenValue(info.GetIsolate(), holder, propertyName);
1685 if (!v8Value.IsEmpty()) {
1686 v8SetReturnValue(info, v8Value);
1690 ScriptValue v8Value = impl->cachedAttributeAnyAttribute();
1691 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, propertyName, v8Value.v8Value());
1692 v8SetReturnValue(info, v8Value.v8Value());
1695 static void cachedAttributeAnyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1697 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1698 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetter(info);
1699 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1702 static void cachedAttributeAnyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1704 v8::Handle<v8::Object> holder = info.Holder();
1705 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1706 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
1707 impl->setCachedAttributeAnyAttribute(cppValue);
1708 V8HiddenValue::deleteHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "cachedAttributeAnyAttribute")); // Invalidate the cached value.
1711 static void cachedAttributeAnyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1713 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1714 TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetter(v8Value, info);
1715 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1718 static void callWithExecutionContextAnyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1720 v8::Handle<v8::Object> holder = info.Holder();
1721 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1722 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate());
1723 v8SetReturnValue(info, impl->callWithExecutionContextAnyAttribute(scriptContext).v8Value());
1726 static void callWithExecutionContextAnyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1728 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1729 TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeGetter(info);
1730 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1733 static void callWithExecutionContextAnyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1735 v8::Handle<v8::Object> holder = info.Holder();
1736 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1737 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
1738 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate());
1739 impl->setCallWithExecutionContextAnyAttribute(scriptContext, cppValue);
1742 static void callWithExecutionContextAnyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1744 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1745 TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeSetter(v8Value, info);
1746 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1749 static void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1751 v8::Handle<v8::Object> holder = info.Holder();
1752 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1753 ExceptionState exceptionState(ExceptionState::GetterContext, "checkSecurityForNodeReadonlyDocumentAttribute", "TestObjectPython", holder, info.GetIsolate());
1754 if (!BindingSecurity::shouldAllowAccessToNode(info.GetIsolate(), impl->checkSecurityForNodeReadonlyDocumentAttribute(), exceptionState)) {
1755 v8SetReturnValueNull(info);
1756 exceptionState.throwIfNeeded();
1759 v8SetReturnValueFast(info, WTF::getPtr(impl->checkSecurityForNodeReadonlyDocumentAttribute()), impl);
1762 static void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1764 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1765 TestObjectPythonV8Internal::checkSecurityForNodeReadonlyDocumentAttributeAttributeGetter(info);
1766 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1769 #if ENABLE(CONDITION)
1770 static void conditionalLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1772 v8::Handle<v8::Object> holder = info.Holder();
1773 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1774 v8SetReturnValueInt(info, impl->conditionalLongAttribute());
1776 #endif // ENABLE(CONDITION)
1778 #if ENABLE(CONDITION)
1779 static void conditionalLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1781 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1782 TestObjectPythonV8Internal::conditionalLongAttributeAttributeGetter(info);
1783 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1785 #endif // ENABLE(CONDITION)
1787 #if ENABLE(CONDITION)
1788 static void conditionalLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1790 v8::Handle<v8::Object> holder = info.Holder();
1791 ExceptionState exceptionState(ExceptionState::SetterContext, "conditionalLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1792 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1793 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1794 impl->setConditionalLongAttribute(cppValue);
1796 #endif // ENABLE(CONDITION)
1798 #if ENABLE(CONDITION)
1799 static void conditionalLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1801 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1802 TestObjectPythonV8Internal::conditionalLongAttributeAttributeSetter(v8Value, info);
1803 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1805 #endif // ENABLE(CONDITION)
1807 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1808 static void conditionalAndLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1810 v8::Handle<v8::Object> holder = info.Holder();
1811 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1812 v8SetReturnValueInt(info, impl->conditionalAndLongAttribute());
1814 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1816 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1817 static void conditionalAndLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1819 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1820 TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeGetter(info);
1821 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1823 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1825 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1826 static void conditionalAndLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1828 v8::Handle<v8::Object> holder = info.Holder();
1829 ExceptionState exceptionState(ExceptionState::SetterContext, "conditionalAndLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1830 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1831 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1832 impl->setConditionalAndLongAttribute(cppValue);
1834 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1836 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1837 static void conditionalAndLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1839 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1840 TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeSetter(v8Value, info);
1841 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1843 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
1845 #if ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1846 static void conditionalOrLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1848 v8::Handle<v8::Object> holder = info.Holder();
1849 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1850 v8SetReturnValueInt(info, impl->conditionalOrLongAttribute());
1852 #endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1854 #if ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1855 static void conditionalOrLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1857 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1858 TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeGetter(info);
1859 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1861 #endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1863 #if ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1864 static void conditionalOrLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1866 v8::Handle<v8::Object> holder = info.Holder();
1867 ExceptionState exceptionState(ExceptionState::SetterContext, "conditionalOrLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1868 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1869 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1870 impl->setConditionalOrLongAttribute(cppValue);
1872 #endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1874 #if ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1875 static void conditionalOrLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1877 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1878 TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeSetter(v8Value, info);
1879 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1881 #endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
1883 static void customObjectAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1885 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1886 V8TestObjectPython::customObjectAttributeAttributeGetterCustom(info);
1887 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1890 static void customObjectAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1892 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1893 V8TestObjectPython::customObjectAttributeAttributeSetterCustom(v8Value, info);
1894 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1897 static void customGetterLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1899 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1900 V8TestObjectPython::customGetterLongAttributeAttributeGetterCustom(info);
1901 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1904 static void customGetterLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1906 v8::Handle<v8::Object> holder = info.Holder();
1907 ExceptionState exceptionState(ExceptionState::SetterContext, "customGetterLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1908 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1909 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
1910 impl->setCustomGetterLongAttribute(cppValue);
1913 static void customGetterLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1915 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1916 TestObjectPythonV8Internal::customGetterLongAttributeAttributeSetter(v8Value, info);
1917 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1920 static void customGetterReadonlyObjectAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1922 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1923 V8TestObjectPython::customGetterReadonlyObjectAttributeAttributeGetterCustom(info);
1924 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1927 static void customSetterLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1929 v8::Handle<v8::Object> holder = info.Holder();
1930 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1931 v8SetReturnValueInt(info, impl->customSetterLongAttribute());
1934 static void customSetterLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1936 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1937 TestObjectPythonV8Internal::customSetterLongAttributeAttributeGetter(info);
1938 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1941 static void customSetterLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1943 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1944 V8TestObjectPython::customSetterLongAttributeAttributeSetterCustom(v8Value, info);
1945 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1948 #if ENABLE(CONDITION)
1949 static void customLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1951 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1952 V8TestObjectPython::customLongAttributeAttributeGetterCustom(info);
1953 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1955 #endif // ENABLE(CONDITION)
1957 #if ENABLE(CONDITION)
1958 static void customLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1960 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
1961 V8TestObjectPython::customLongAttributeAttributeSetterCustom(v8Value, info);
1962 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1964 #endif // ENABLE(CONDITION)
1966 static void customElementsCallbacksReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1968 v8::Handle<v8::Object> holder = info.Holder();
1969 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1970 v8SetReturnValueInt(info, impl->customElementsCallbacksReadonlyLongAttribute());
1973 static void customElementsCallbacksReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1975 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1976 TestObjectPythonV8Internal::customElementsCallbacksReadonlyLongAttributeAttributeGetter(info);
1977 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1980 static void deprecatedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
1982 v8::Handle<v8::Object> holder = info.Holder();
1983 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
1984 v8SetReturnValueInt(info, impl->deprecatedLongAttribute());
1987 static void deprecatedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
1989 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
1990 UseCounter::countDeprecation(callingExecutionContext(info.GetIsolate()), UseCounter::LongAttribute);
1991 TestObjectPythonV8Internal::deprecatedLongAttributeAttributeGetter(info);
1992 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
1995 static void deprecatedLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
1997 v8::Handle<v8::Object> holder = info.Holder();
1998 ExceptionState exceptionState(ExceptionState::SetterContext, "deprecatedLongAttribute", "TestObjectPython", holder, info.GetIsolate());
1999 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2000 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2001 impl->setDeprecatedLongAttribute(cppValue);
2004 static void deprecatedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2006 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2007 UseCounter::countDeprecation(callingExecutionContext(info.GetIsolate()), UseCounter::LongAttribute);
2008 TestObjectPythonV8Internal::deprecatedLongAttributeAttributeSetter(v8Value, info);
2009 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2012 static void enforceRangeLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2014 v8::Handle<v8::Object> holder = info.Holder();
2015 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2016 v8SetReturnValueInt(info, impl->enforceRangeLongAttribute());
2019 static void enforceRangeLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2021 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2022 TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeGetter(info);
2023 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2026 static void enforceRangeLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2028 v8::Handle<v8::Object> holder = info.Holder();
2029 ExceptionState exceptionState(ExceptionState::SetterContext, "enforceRangeLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2030 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2031 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, EnforceRange, exceptionState), exceptionState);
2032 impl->setEnforceRangeLongAttribute(cppValue);
2035 static void enforceRangeLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2037 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2038 TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeSetter(v8Value, info);
2039 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2042 static void exposeJSAccessorsLongAttributeAttributeGetter(const v8::FunctionCallbackInfo<v8::Value>& info)
2044 v8::Handle<v8::Object> holder = info.Holder();
2045 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2046 v8SetReturnValueInt(info, impl->exposeJSAccessorsLongAttribute());
2049 static void exposeJSAccessorsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
2051 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2052 TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeGetter(info);
2053 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2056 static void exposeJSAccessorsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::FunctionCallbackInfo<v8::Value>& info)
2058 v8::Handle<v8::Object> holder = info.Holder();
2059 ExceptionState exceptionState(ExceptionState::SetterContext, "exposeJSAccessorsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2060 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2061 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2062 impl->setExposeJSAccessorsLongAttribute(cppValue);
2065 static void exposeJSAccessorsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
2067 v8::Local<v8::Value> v8Value = info[0];
2068 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2069 TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeSetter(v8Value, info);
2070 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2073 static void implementedAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2075 v8::Handle<v8::Object> holder = info.Holder();
2076 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2077 v8SetReturnValueInt(info, impl->implementedAsName());
2080 static void implementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2082 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2083 TestObjectPythonV8Internal::implementedAsLongAttributeAttributeGetter(info);
2084 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2087 static void implementedAsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2089 v8::Handle<v8::Object> holder = info.Holder();
2090 ExceptionState exceptionState(ExceptionState::SetterContext, "implementedAsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2091 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2092 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2093 impl->setImplementedAsName(cppValue);
2096 static void implementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2098 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2099 TestObjectPythonV8Internal::implementedAsLongAttributeAttributeSetter(v8Value, info);
2100 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2103 static void customImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2105 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2106 V8TestObjectPython::customImplementedAsLongAttributeAttributeGetterCustom(info);
2107 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2110 static void customImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2112 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2113 V8TestObjectPython::customImplementedAsLongAttributeAttributeSetterCustom(v8Value, info);
2114 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2117 static void customGetterImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2119 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2120 V8TestObjectPython::customGetterImplementedAsLongAttributeAttributeGetterCustom(info);
2121 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2124 static void customGetterImplementedAsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2126 v8::Handle<v8::Object> holder = info.Holder();
2127 ExceptionState exceptionState(ExceptionState::SetterContext, "customGetterImplementedAsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2128 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2129 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2130 impl->setImplementedAsNameWithCustomGetter(cppValue);
2133 static void customGetterImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2135 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2136 TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeSetter(v8Value, info);
2137 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2140 static void customSetterImplementedAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2142 v8::Handle<v8::Object> holder = info.Holder();
2143 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2144 v8SetReturnValueInt(info, impl->implementedAsNameWithCustomGetter());
2147 static void customSetterImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2149 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2150 TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeGetter(info);
2151 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2154 static void customSetterImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2156 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2157 V8TestObjectPython::customSetterImplementedAsLongAttributeAttributeSetterCustom(v8Value, info);
2158 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2161 static void measureAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2163 v8::Handle<v8::Object> holder = info.Holder();
2164 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2165 v8SetReturnValueInt(info, impl->measureAsLongAttribute());
2168 static void measureAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2170 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2171 UseCounter::count(callingExecutionContext(info.GetIsolate()), UseCounter::TestFeature);
2172 TestObjectPythonV8Internal::measureAsLongAttributeAttributeGetter(info);
2173 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2176 static void measureAsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2178 v8::Handle<v8::Object> holder = info.Holder();
2179 ExceptionState exceptionState(ExceptionState::SetterContext, "measureAsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2180 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2181 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2182 impl->setMeasureAsLongAttribute(cppValue);
2185 static void measureAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2187 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2188 UseCounter::count(callingExecutionContext(info.GetIsolate()), UseCounter::TestFeature);
2189 TestObjectPythonV8Internal::measureAsLongAttributeAttributeSetter(v8Value, info);
2190 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2193 static void notEnumerableLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2195 v8::Handle<v8::Object> holder = info.Holder();
2196 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2197 v8SetReturnValueInt(info, impl->notEnumerableLongAttribute());
2200 static void notEnumerableLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2202 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2203 TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeGetter(info);
2204 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2207 static void notEnumerableLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2209 v8::Handle<v8::Object> holder = info.Holder();
2210 ExceptionState exceptionState(ExceptionState::SetterContext, "notEnumerableLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2211 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2212 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2213 impl->setNotEnumerableLongAttribute(cppValue);
2216 static void notEnumerableLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2218 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2219 TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeSetter(v8Value, info);
2220 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2223 static void perContextEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2225 v8::Handle<v8::Object> holder = info.Holder();
2226 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2227 v8SetReturnValueInt(info, impl->perContextEnabledLongAttribute());
2230 static void perContextEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2232 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2233 TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeGetter(info);
2234 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2237 static void perContextEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2239 v8::Handle<v8::Object> holder = info.Holder();
2240 ExceptionState exceptionState(ExceptionState::SetterContext, "perContextEnabledLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2241 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2242 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2243 impl->setPerContextEnabledLongAttribute(cppValue);
2246 static void perContextEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2248 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2249 TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeSetter(v8Value, info);
2250 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2253 static void perWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2255 v8::Handle<v8::Object> holder = info.Holder();
2256 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2257 v8SetReturnValueInt(info, impl->perWorldBindingsLongAttribute());
2260 static void perWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2262 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2263 TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetter(info);
2264 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2267 static void perWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2269 v8::Handle<v8::Object> holder = info.Holder();
2270 ExceptionState exceptionState(ExceptionState::SetterContext, "perWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2271 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2272 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2273 impl->setPerWorldBindingsLongAttribute(cppValue);
2276 static void perWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2278 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2279 TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetter(v8Value, info);
2280 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2283 static void perWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2285 v8::Handle<v8::Object> holder = info.Holder();
2286 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2287 v8SetReturnValueInt(info, impl->perWorldBindingsLongAttribute());
2290 static void perWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2292 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2293 TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetterForMainWorld(info);
2294 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2297 static void perWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2299 v8::Handle<v8::Object> holder = info.Holder();
2300 ExceptionState exceptionState(ExceptionState::SetterContext, "perWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2301 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2302 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2303 impl->setPerWorldBindingsLongAttribute(cppValue);
2306 static void perWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2308 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2309 TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info);
2310 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2313 static void perWorldBindingsReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2315 v8::Handle<v8::Object> holder = info.Holder();
2316 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2317 v8SetReturnValueInt(info, impl->perWorldBindingsReadonlyLongAttribute());
2320 static void perWorldBindingsReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2322 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2323 TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetter(info);
2324 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2327 static void perWorldBindingsReadonlyLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2329 v8::Handle<v8::Object> holder = info.Holder();
2330 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2331 v8SetReturnValueInt(info, impl->perWorldBindingsReadonlyLongAttribute());
2334 static void perWorldBindingsReadonlyLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2336 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2337 TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterForMainWorld(info);
2338 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2341 static void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2343 v8::Handle<v8::Object> holder = info.Holder();
2344 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2345 RefPtr<TestInterfaceEmpty> result(impl->perWorldBindingsReadonlyTestInterfaceEmptyAttribute());
2346 if (result && DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceEmpty>(info.GetReturnValue(), result.get()))
2348 v8::Handle<v8::Value> wrapper = toV8(result.get(), holder, info.GetIsolate());
2349 if (!wrapper.IsEmpty()) {
2350 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "perWorldBindingsReadonlyTestInterfaceEmptyAttribute"), wrapper);
2351 v8SetReturnValue(info, wrapper);
2355 static void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2357 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2358 TestObjectPythonV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetter(info);
2359 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2362 static void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2364 v8::Handle<v8::Object> holder = info.Holder();
2365 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2366 RefPtr<TestInterfaceEmpty> result(impl->perWorldBindingsReadonlyTestInterfaceEmptyAttribute());
2367 if (result && DOMDataStore::setReturnValueFromWrapperForMainWorld<V8TestInterfaceEmpty>(info.GetReturnValue(), result.get()))
2369 v8::Handle<v8::Value> wrapper = toV8(result.get(), holder, info.GetIsolate());
2370 if (!wrapper.IsEmpty()) {
2371 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "perWorldBindingsReadonlyTestInterfaceEmptyAttribute"), wrapper);
2372 v8SetReturnValue(info, wrapper);
2376 static void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2378 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2379 TestObjectPythonV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterForMainWorld(info);
2380 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2383 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2385 v8::Handle<v8::Object> holder = info.Holder();
2386 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2387 v8SetReturnValueInt(info, impl->activityLoggingAccessPerWorldBindingsLongAttribute());
2390 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2392 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2393 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2394 if (contextData && contextData->activityLogger())
2395 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 0, 0, "Getter");
2396 TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetter(info);
2397 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2400 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2402 v8::Handle<v8::Object> holder = info.Holder();
2403 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingAccessPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2404 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2405 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2406 impl->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue);
2409 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2411 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2412 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2413 if (contextData && contextData->activityLogger()) {
2414 v8::Handle<v8::Value> loggerArg[] = { v8Value };
2415 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter");
2417 TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetter(v8Value, info);
2418 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2421 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2423 v8::Handle<v8::Object> holder = info.Holder();
2424 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2425 v8SetReturnValueInt(info, impl->activityLoggingAccessPerWorldBindingsLongAttribute());
2428 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2430 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2431 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2432 if (contextData && contextData->activityLogger())
2433 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 0, 0, "Getter");
2434 TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info);
2435 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2438 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2440 v8::Handle<v8::Object> holder = info.Holder();
2441 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingAccessPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2442 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2443 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2444 impl->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue);
2447 static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2449 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2450 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2451 if (contextData && contextData->activityLogger()) {
2452 v8::Handle<v8::Value> loggerArg[] = { v8Value };
2453 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter");
2455 TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info);
2456 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2459 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2461 v8::Handle<v8::Object> holder = info.Holder();
2462 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2463 v8SetReturnValueInt(info, impl->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute());
2466 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2468 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2469 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2470 if (contextData && contextData->activityLogger())
2471 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", 0, 0, "Getter");
2472 TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(info);
2473 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2476 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2478 v8::Handle<v8::Object> holder = info.Holder();
2479 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2480 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2481 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2482 impl->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue);
2485 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2487 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2488 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2489 if (contextData && contextData->activityLogger()) {
2490 v8::Handle<v8::Value> loggerArg[] = { v8Value };
2491 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter");
2493 TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8Value, info);
2494 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2497 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2499 v8::Handle<v8::Object> holder = info.Holder();
2500 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2501 v8SetReturnValueInt(info, impl->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute());
2504 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2506 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2507 TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info);
2508 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2511 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2513 v8::Handle<v8::Object> holder = info.Holder();
2514 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2515 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2516 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2517 impl->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue);
2520 static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2522 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2523 TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info);
2524 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2527 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2529 v8::Handle<v8::Object> holder = info.Holder();
2530 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2531 v8SetReturnValueInt(info, impl->activityLoggingGetterPerWorldBindingsLongAttribute());
2534 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2536 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2537 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2538 if (contextData && contextData->activityLogger())
2539 contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterPerWorldBindingsLongAttribute", 0, 0, "Getter");
2540 TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetter(info);
2541 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2544 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2546 v8::Handle<v8::Object> holder = info.Holder();
2547 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingGetterPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2548 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2549 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2550 impl->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue);
2553 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2555 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2556 TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetter(v8Value, info);
2557 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2560 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2562 v8::Handle<v8::Object> holder = info.Holder();
2563 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2564 v8SetReturnValueInt(info, impl->activityLoggingGetterPerWorldBindingsLongAttribute());
2567 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2569 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2570 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2571 if (contextData && contextData->activityLogger())
2572 contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterPerWorldBindingsLongAttribute", 0, 0, "Getter");
2573 TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info);
2574 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2577 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2579 v8::Handle<v8::Object> holder = info.Holder();
2580 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingGetterPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2581 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2582 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2583 impl->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue);
2586 static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2588 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2589 TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info);
2590 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2593 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2595 v8::Handle<v8::Object> holder = info.Holder();
2596 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2597 v8SetReturnValueInt(info, impl->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute());
2600 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2602 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2603 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
2604 if (contextData && contextData->activityLogger())
2605 contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute", 0, 0, "Getter");
2606 TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(info);
2607 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2610 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2612 v8::Handle<v8::Object> holder = info.Holder();
2613 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2614 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2615 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2616 impl->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue);
2619 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2621 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2622 TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8Value, info);
2623 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2626 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2628 v8::Handle<v8::Object> holder = info.Holder();
2629 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2630 v8SetReturnValueInt(info, impl->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute());
2633 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2635 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2636 TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info);
2637 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2640 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2642 v8::Handle<v8::Object> holder = info.Holder();
2643 ExceptionState exceptionState(ExceptionState::SetterContext, "activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2644 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2645 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2646 impl->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue);
2649 static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2651 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2652 TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info);
2653 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2656 static void locationAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2658 v8::Handle<v8::Object> holder = info.Holder();
2659 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2660 v8SetReturnValueFast(info, WTF::getPtr(impl->location()), impl);
2663 static void locationAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2665 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2666 TestObjectPythonV8Internal::locationAttributeGetter(info);
2667 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2670 static void locationAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2672 v8::Handle<v8::Object> holder = info.Holder();
2673 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2674 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->location());
2677 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
2678 impl->setHref(cppValue);
2681 static void locationAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2683 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2684 TestObjectPythonV8Internal::locationAttributeSetter(v8Value, info);
2685 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2688 static void locationWithExceptionAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2690 v8::Handle<v8::Object> holder = info.Holder();
2691 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2692 v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithException()), impl);
2695 static void locationWithExceptionAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2697 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2698 TestObjectPythonV8Internal::locationWithExceptionAttributeGetter(info);
2699 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2702 static void locationWithExceptionAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2704 v8::Handle<v8::Object> holder = info.Holder();
2705 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2706 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->locationWithException());
2709 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
2710 impl->setHrefThrows(cppValue);
2713 static void locationWithExceptionAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2715 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2716 TestObjectPythonV8Internal::locationWithExceptionAttributeSetter(v8Value, info);
2717 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2720 static void locationWithCallWithAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2722 v8::Handle<v8::Object> holder = info.Holder();
2723 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2724 v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithCallWith()), impl);
2727 static void locationWithCallWithAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2729 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2730 TestObjectPythonV8Internal::locationWithCallWithAttributeGetter(info);
2731 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2734 static void locationWithCallWithAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2736 v8::Handle<v8::Object> holder = info.Holder();
2737 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2738 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->locationWithCallWith());
2741 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
2742 impl->setHrefCallWith(callingDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue);
2745 static void locationWithCallWithAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2747 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2748 TestObjectPythonV8Internal::locationWithCallWithAttributeSetter(v8Value, info);
2749 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2752 static void locationWithPerWorldBindingsAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2754 v8::Handle<v8::Object> holder = info.Holder();
2755 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2756 v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithPerWorldBindings()), impl);
2759 static void locationWithPerWorldBindingsAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2761 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2762 TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeGetter(info);
2763 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2766 static void locationWithPerWorldBindingsAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2768 v8::Handle<v8::Object> holder = info.Holder();
2769 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2770 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->locationWithPerWorldBindings());
2773 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
2774 impl->setHref(cppValue);
2777 static void locationWithPerWorldBindingsAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2779 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2780 TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeSetter(v8Value, info);
2781 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2784 static void locationWithPerWorldBindingsAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
2786 v8::Handle<v8::Object> holder = info.Holder();
2787 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2788 v8SetReturnValueForMainWorld(info, WTF::getPtr(impl->locationWithPerWorldBindings()));
2791 static void locationWithPerWorldBindingsAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2793 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2794 TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeGetterForMainWorld(info);
2795 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2798 static void locationWithPerWorldBindingsAttributeSetterForMainWorld(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2800 v8::Handle<v8::Object> holder = info.Holder();
2801 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2802 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->locationWithPerWorldBindings());
2805 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
2806 impl->setHref(cppValue);
2809 static void locationWithPerWorldBindingsAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2811 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2812 TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeSetterForMainWorld(v8Value, info);
2813 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2816 static void locationWillBeGarbageCollectedAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2818 v8::Handle<v8::Object> holder = info.Holder();
2819 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2820 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> result(impl->locationWillBeGarbageCollected());
2821 if (result && DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceWillBeGarbageCollected>(info.GetReturnValue(), result.get()))
2823 v8::Handle<v8::Value> wrapper = toV8(result.get(), holder, info.GetIsolate());
2824 if (!wrapper.IsEmpty()) {
2825 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "locationWillBeGarbageCollected"), wrapper);
2826 v8SetReturnValue(info, wrapper);
2830 static void locationWillBeGarbageCollectedAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2832 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2833 TestObjectPythonV8Internal::locationWillBeGarbageCollectedAttributeGetter(info);
2834 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2837 static void locationWillBeGarbageCollectedAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2839 v8::Handle<v8::Object> holder = info.Holder();
2840 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
2841 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> impl = WTF::getPtr(proxyImpl->locationWillBeGarbageCollected());
2844 V8TRYCATCH_VOID(TestInterfaceWillBeGarbageCollected*, cppValue, V8TestInterfaceWillBeGarbageCollected::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
2845 impl->setAttr1(WTF::getPtr(cppValue));
2848 static void locationWillBeGarbageCollectedAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2850 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2851 TestObjectPythonV8Internal::locationWillBeGarbageCollectedAttributeSetter(v8Value, info);
2852 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2855 static void raisesExceptionLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2857 v8::Handle<v8::Object> holder = info.Holder();
2858 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2859 ExceptionState exceptionState(ExceptionState::GetterContext, "raisesExceptionLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2860 int v8Value = impl->raisesExceptionLongAttribute(exceptionState);
2861 if (UNLIKELY(exceptionState.throwIfNeeded()))
2863 v8SetReturnValueInt(info, v8Value);
2866 static void raisesExceptionLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2868 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2869 TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeGetter(info);
2870 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2873 static void raisesExceptionLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2875 v8::Handle<v8::Object> holder = info.Holder();
2876 ExceptionState exceptionState(ExceptionState::SetterContext, "raisesExceptionLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2877 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2878 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2879 impl->setRaisesExceptionLongAttribute(cppValue, exceptionState);
2880 exceptionState.throwIfNeeded();
2883 static void raisesExceptionLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2885 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2886 TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeSetter(v8Value, info);
2887 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2890 static void raisesExceptionGetterLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2892 v8::Handle<v8::Object> holder = info.Holder();
2893 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2894 ExceptionState exceptionState(ExceptionState::GetterContext, "raisesExceptionGetterLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2895 int v8Value = impl->raisesExceptionGetterLongAttribute(exceptionState);
2896 if (UNLIKELY(exceptionState.throwIfNeeded()))
2898 v8SetReturnValueInt(info, v8Value);
2901 static void raisesExceptionGetterLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2903 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2904 TestObjectPythonV8Internal::raisesExceptionGetterLongAttributeAttributeGetter(info);
2905 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2908 static void raisesExceptionGetterLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2910 v8::Handle<v8::Object> holder = info.Holder();
2911 ExceptionState exceptionState(ExceptionState::SetterContext, "raisesExceptionGetterLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2912 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2913 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2914 impl->setRaisesExceptionGetterLongAttribute(cppValue);
2917 static void raisesExceptionGetterLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2919 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2920 TestObjectPythonV8Internal::raisesExceptionGetterLongAttributeAttributeSetter(v8Value, info);
2921 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2924 static void setterRaisesExceptionLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2926 v8::Handle<v8::Object> holder = info.Holder();
2927 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2928 v8SetReturnValueInt(info, impl->setterRaisesExceptionLongAttribute());
2931 static void setterRaisesExceptionLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2933 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2934 TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeGetter(info);
2935 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2938 static void setterRaisesExceptionLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2940 v8::Handle<v8::Object> holder = info.Holder();
2941 ExceptionState exceptionState(ExceptionState::SetterContext, "setterRaisesExceptionLongAttribute", "TestObjectPython", holder, info.GetIsolate());
2942 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2943 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
2944 impl->setSetterRaisesExceptionLongAttribute(cppValue, exceptionState);
2945 exceptionState.throwIfNeeded();
2948 static void setterRaisesExceptionLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2950 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2951 TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeSetter(v8Value, info);
2952 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2955 static void raisesExceptionTestInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2957 v8::Handle<v8::Object> holder = info.Holder();
2958 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2959 ExceptionState exceptionState(ExceptionState::GetterContext, "raisesExceptionTestInterfaceEmptyAttribute", "TestObjectPython", holder, info.GetIsolate());
2960 RefPtr<TestInterfaceEmpty> v8Value = impl->raisesExceptionTestInterfaceEmptyAttribute(exceptionState);
2961 if (UNLIKELY(exceptionState.throwIfNeeded()))
2963 v8SetReturnValueFast(info, WTF::getPtr(v8Value.release()), impl);
2966 static void raisesExceptionTestInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
2968 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
2969 TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeGetter(info);
2970 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2973 static void raisesExceptionTestInterfaceEmptyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2975 v8::Handle<v8::Object> holder = info.Holder();
2976 ExceptionState exceptionState(ExceptionState::SetterContext, "raisesExceptionTestInterfaceEmptyAttribute", "TestObjectPython", holder, info.GetIsolate());
2977 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2978 V8TRYCATCH_VOID(TestInterfaceEmpty*, cppValue, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
2979 impl->setRaisesExceptionTestInterfaceEmptyAttribute(WTF::getPtr(cppValue), exceptionState);
2980 exceptionState.throwIfNeeded();
2983 static void raisesExceptionTestInterfaceEmptyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
2985 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
2986 TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeSetter(v8Value, info);
2987 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
2990 static void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
2992 v8::Handle<v8::Object> holder = info.Holder();
2993 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "cachedAttributeRaisesExceptionGetterAnyAttribute");
2994 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
2995 if (!impl->isValueDirty()) {
2996 v8::Handle<v8::Value> v8Value = V8HiddenValue::getHiddenValue(info.GetIsolate(), holder, propertyName);
2997 if (!v8Value.IsEmpty()) {
2998 v8SetReturnValue(info, v8Value);
3002 ExceptionState exceptionState(ExceptionState::GetterContext, "cachedAttributeRaisesExceptionGetterAnyAttribute", "TestObjectPython", holder, info.GetIsolate());
3003 ScriptValue v8Value = impl->cachedAttributeRaisesExceptionGetterAnyAttribute(exceptionState);
3004 if (UNLIKELY(exceptionState.throwIfNeeded()))
3006 V8HiddenValue::setHiddenValue(info.GetIsolate(), holder, propertyName, v8Value.v8Value());
3007 v8SetReturnValue(info, v8Value.v8Value());
3010 static void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3012 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3013 TestObjectPythonV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetter(info);
3014 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3017 static void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3019 v8::Handle<v8::Object> holder = info.Holder();
3020 ExceptionState exceptionState(ExceptionState::SetterContext, "cachedAttributeRaisesExceptionGetterAnyAttribute", "TestObjectPython", holder, info.GetIsolate());
3021 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3022 V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(v8Value, info.GetIsolate()));
3023 impl->setCachedAttributeRaisesExceptionGetterAnyAttribute(cppValue, exceptionState);
3024 exceptionState.throwIfNeeded();
3025 V8HiddenValue::deleteHiddenValue(info.GetIsolate(), holder, v8AtomicString(info.GetIsolate(), "cachedAttributeRaisesExceptionGetterAnyAttribute")); // Invalidate the cached value.
3028 static void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3030 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3031 TestObjectPythonV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetter(v8Value, info);
3032 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3035 static void reflectTestInterfaceAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3037 v8::Handle<v8::Object> holder = info.Holder();
3038 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3039 v8SetReturnValueFast(info, WTF::getPtr(impl->fastGetAttribute(HTMLNames::reflecttestinterfaceattributeAttr)), impl);
3042 static void reflectTestInterfaceAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3044 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3045 TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeGetter(info);
3046 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3049 static void reflectTestInterfaceAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3051 v8::Handle<v8::Object> holder = info.Holder();
3052 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3053 V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
3054 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3055 impl->setAttribute(HTMLNames::reflecttestinterfaceattributeAttr, WTF::getPtr(cppValue));
3058 static void reflectTestInterfaceAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3060 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3061 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3062 TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeSetter(v8Value, info);
3063 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3066 static void reflectReflectedNameAttributeTestAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3068 v8::Handle<v8::Object> holder = info.Holder();
3069 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3070 v8SetReturnValueFast(info, WTF::getPtr(impl->fastGetAttribute(HTMLNames::reflectedNameAttributeAttr)), impl);
3073 static void reflectReflectedNameAttributeTestAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3075 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3076 TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeGetter(info);
3077 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3080 static void reflectReflectedNameAttributeTestAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3082 v8::Handle<v8::Object> holder = info.Holder();
3083 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3084 V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
3085 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3086 impl->setAttribute(HTMLNames::reflectedNameAttributeAttr, WTF::getPtr(cppValue));
3089 static void reflectReflectedNameAttributeTestAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3091 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3092 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3093 TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeSetter(v8Value, info);
3094 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3097 static void reflectBooleanAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3099 v8::Handle<v8::Object> holder = info.Holder();
3100 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3101 v8SetReturnValueBool(info, impl->fastHasAttribute(HTMLNames::reflectbooleanattributeAttr));
3104 static void reflectBooleanAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3106 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3107 TestObjectPythonV8Internal::reflectBooleanAttributeAttributeGetter(info);
3108 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3111 static void reflectBooleanAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3113 v8::Handle<v8::Object> holder = info.Holder();
3114 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3115 V8TRYCATCH_VOID(bool, cppValue, v8Value->BooleanValue());
3116 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3117 impl->setBooleanAttribute(HTMLNames::reflectbooleanattributeAttr, cppValue);
3120 static void reflectBooleanAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3122 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3123 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3124 TestObjectPythonV8Internal::reflectBooleanAttributeAttributeSetter(v8Value, info);
3125 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3128 static void reflectLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3130 v8::Handle<v8::Object> holder = info.Holder();
3131 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3132 v8SetReturnValueInt(info, impl->getIntegralAttribute(HTMLNames::reflectlongattributeAttr));
3135 static void reflectLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3137 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3138 TestObjectPythonV8Internal::reflectLongAttributeAttributeGetter(info);
3139 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3142 static void reflectLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3144 v8::Handle<v8::Object> holder = info.Holder();
3145 ExceptionState exceptionState(ExceptionState::SetterContext, "reflectLongAttribute", "TestObjectPython", holder, info.GetIsolate());
3146 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3147 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
3148 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3149 impl->setIntegralAttribute(HTMLNames::reflectlongattributeAttr, cppValue);
3152 static void reflectLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3154 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3155 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3156 TestObjectPythonV8Internal::reflectLongAttributeAttributeSetter(v8Value, info);
3157 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3160 static void reflectUnsignedShortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3162 v8::Handle<v8::Object> holder = info.Holder();
3163 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3164 v8SetReturnValueUnsigned(info, std::max(0, impl->fastGetAttribute(HTMLNames::reflectunsignedshortattributeAttr)));
3167 static void reflectUnsignedShortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3169 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3170 TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeGetter(info);
3171 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3174 static void reflectUnsignedShortAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3176 v8::Handle<v8::Object> holder = info.Holder();
3177 ExceptionState exceptionState(ExceptionState::SetterContext, "reflectUnsignedShortAttribute", "TestObjectPython", holder, info.GetIsolate());
3178 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3179 V8TRYCATCH_EXCEPTION_VOID(unsigned, cppValue, toUInt16(v8Value, exceptionState), exceptionState);
3180 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3181 impl->setAttribute(HTMLNames::reflectunsignedshortattributeAttr, cppValue);
3184 static void reflectUnsignedShortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3186 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3187 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3188 TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeSetter(v8Value, info);
3189 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3192 static void reflectUnsignedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3194 v8::Handle<v8::Object> holder = info.Holder();
3195 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3196 v8SetReturnValueUnsigned(info, std::max(0, impl->getIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr)));
3199 static void reflectUnsignedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3201 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3202 TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeGetter(info);
3203 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3206 static void reflectUnsignedLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3208 v8::Handle<v8::Object> holder = info.Holder();
3209 ExceptionState exceptionState(ExceptionState::SetterContext, "reflectUnsignedLongAttribute", "TestObjectPython", holder, info.GetIsolate());
3210 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3211 V8TRYCATCH_EXCEPTION_VOID(unsigned, cppValue, toUInt32(v8Value, exceptionState), exceptionState);
3212 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3213 impl->setUnsignedIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr, cppValue);
3216 static void reflectUnsignedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3218 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3219 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3220 TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeSetter(v8Value, info);
3221 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3224 static void idAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3226 v8::Handle<v8::Object> holder = info.Holder();
3227 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3228 v8SetReturnValueString(info, impl->getIdAttribute(), info.GetIsolate());
3231 static void idAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3233 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3234 TestObjectPythonV8Internal::idAttributeGetter(info);
3235 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3238 static void idAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3240 v8::Handle<v8::Object> holder = info.Holder();
3241 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3242 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3243 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3244 impl->setAttribute(HTMLNames::idAttr, cppValue);
3247 static void idAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3249 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3250 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3251 TestObjectPythonV8Internal::idAttributeSetter(v8Value, info);
3252 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3255 static void nameAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3257 v8::Handle<v8::Object> holder = info.Holder();
3258 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3259 v8SetReturnValueString(info, impl->getNameAttribute(), info.GetIsolate());
3262 static void nameAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3264 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3265 TestObjectPythonV8Internal::nameAttributeGetter(info);
3266 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3269 static void nameAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3271 v8::Handle<v8::Object> holder = info.Holder();
3272 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3273 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3274 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3275 impl->setAttribute(HTMLNames::nameAttr, cppValue);
3278 static void nameAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3280 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3281 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3282 TestObjectPythonV8Internal::nameAttributeSetter(v8Value, info);
3283 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3286 static void classAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3288 v8::Handle<v8::Object> holder = info.Holder();
3289 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3290 v8SetReturnValueString(info, impl->getClassAttribute(), info.GetIsolate());
3293 static void classAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3295 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3296 TestObjectPythonV8Internal::classAttributeGetter(info);
3297 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3300 static void classAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3302 v8::Handle<v8::Object> holder = info.Holder();
3303 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3304 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3305 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3306 impl->setAttribute(HTMLNames::classAttr, cppValue);
3309 static void classAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3311 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3312 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3313 TestObjectPythonV8Internal::classAttributeSetter(v8Value, info);
3314 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3317 static void reflectedIdAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3319 v8::Handle<v8::Object> holder = info.Holder();
3320 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3321 v8SetReturnValueString(info, impl->getIdAttribute(), info.GetIsolate());
3324 static void reflectedIdAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3326 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3327 TestObjectPythonV8Internal::reflectedIdAttributeGetter(info);
3328 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3331 static void reflectedIdAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3333 v8::Handle<v8::Object> holder = info.Holder();
3334 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3335 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3336 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3337 impl->setAttribute(HTMLNames::idAttr, cppValue);
3340 static void reflectedIdAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3342 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3343 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3344 TestObjectPythonV8Internal::reflectedIdAttributeSetter(v8Value, info);
3345 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3348 static void reflectedNameAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3350 v8::Handle<v8::Object> holder = info.Holder();
3351 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3352 v8SetReturnValueString(info, impl->getNameAttribute(), info.GetIsolate());
3355 static void reflectedNameAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3357 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3358 TestObjectPythonV8Internal::reflectedNameAttributeGetter(info);
3359 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3362 static void reflectedNameAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3364 v8::Handle<v8::Object> holder = info.Holder();
3365 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3366 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3367 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3368 impl->setAttribute(HTMLNames::nameAttr, cppValue);
3371 static void reflectedNameAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3373 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3374 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3375 TestObjectPythonV8Internal::reflectedNameAttributeSetter(v8Value, info);
3376 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3379 static void reflectedClassAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3381 v8::Handle<v8::Object> holder = info.Holder();
3382 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3383 v8SetReturnValueString(info, impl->getClassAttribute(), info.GetIsolate());
3386 static void reflectedClassAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3388 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3389 TestObjectPythonV8Internal::reflectedClassAttributeGetter(info);
3390 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3393 static void reflectedClassAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3395 v8::Handle<v8::Object> holder = info.Holder();
3396 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3397 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3398 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3399 impl->setAttribute(HTMLNames::classAttr, cppValue);
3402 static void reflectedClassAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3404 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3405 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3406 TestObjectPythonV8Internal::reflectedClassAttributeSetter(v8Value, info);
3407 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3410 static void limitedToOnlyOneAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3412 v8::Handle<v8::Object> holder = info.Holder();
3413 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3414 String v8Value = impl->fastGetAttribute(HTMLNames::limitedtoonlyoneattributeAttr);
3415 if (v8Value.isEmpty()) {
3417 } else if (equalIgnoringCase(v8Value, "unique")) {
3422 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3425 static void limitedToOnlyOneAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3427 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3428 TestObjectPythonV8Internal::limitedToOnlyOneAttributeAttributeGetter(info);
3429 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3432 static void limitedToOnlyOneAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3434 v8::Handle<v8::Object> holder = info.Holder();
3435 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3436 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3437 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3438 impl->setAttribute(HTMLNames::limitedtoonlyoneattributeAttr, cppValue);
3441 static void limitedToOnlyOneAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3443 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3444 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3445 TestObjectPythonV8Internal::limitedToOnlyOneAttributeAttributeSetter(v8Value, info);
3446 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3449 static void limitedToOnlyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3451 v8::Handle<v8::Object> holder = info.Holder();
3452 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3453 String v8Value = impl->fastGetAttribute(HTMLNames::limitedtoonlyattributeAttr);
3454 if (v8Value.isEmpty()) {
3456 } else if (equalIgnoringCase(v8Value, "Per")) {
3458 } else if (equalIgnoringCase(v8Value, "Paal")) {
3460 } else if (equalIgnoringCase(v8Value, "Espen")) {
3465 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3468 static void limitedToOnlyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3470 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3471 TestObjectPythonV8Internal::limitedToOnlyAttributeAttributeGetter(info);
3472 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3475 static void limitedToOnlyAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3477 v8::Handle<v8::Object> holder = info.Holder();
3478 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3479 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3480 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3481 impl->setAttribute(HTMLNames::limitedtoonlyattributeAttr, cppValue);
3484 static void limitedToOnlyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3486 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3487 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3488 TestObjectPythonV8Internal::limitedToOnlyAttributeAttributeSetter(v8Value, info);
3489 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3492 static void limitedToOnlyOtherAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3494 v8::Handle<v8::Object> holder = info.Holder();
3495 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3496 String v8Value = impl->fastGetAttribute(HTMLNames::OtherAttr);
3497 if (v8Value.isEmpty()) {
3499 } else if (equalIgnoringCase(v8Value, "Value1")) {
3501 } else if (equalIgnoringCase(v8Value, "Value2")) {
3506 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3509 static void limitedToOnlyOtherAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3511 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3512 TestObjectPythonV8Internal::limitedToOnlyOtherAttributeAttributeGetter(info);
3513 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3516 static void limitedToOnlyOtherAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3518 v8::Handle<v8::Object> holder = info.Holder();
3519 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3520 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3521 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3522 impl->setAttribute(HTMLNames::OtherAttr, cppValue);
3525 static void limitedToOnlyOtherAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3527 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3528 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3529 TestObjectPythonV8Internal::limitedToOnlyOtherAttributeAttributeSetter(v8Value, info);
3530 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3533 static void limitedWithMissingDefaultAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3535 v8::Handle<v8::Object> holder = info.Holder();
3536 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3537 String v8Value = impl->fastGetAttribute(HTMLNames::limitedwithmissingdefaultattributeAttr);
3538 if (v8Value.isEmpty()) {
3540 } else if (equalIgnoringCase(v8Value, "rsa")) {
3542 } else if (equalIgnoringCase(v8Value, "dsa")) {
3547 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3550 static void limitedWithMissingDefaultAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3552 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3553 TestObjectPythonV8Internal::limitedWithMissingDefaultAttributeAttributeGetter(info);
3554 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3557 static void limitedWithMissingDefaultAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3559 v8::Handle<v8::Object> holder = info.Holder();
3560 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3561 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3562 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3563 impl->setAttribute(HTMLNames::limitedwithmissingdefaultattributeAttr, cppValue);
3566 static void limitedWithMissingDefaultAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3568 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3569 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3570 TestObjectPythonV8Internal::limitedWithMissingDefaultAttributeAttributeSetter(v8Value, info);
3571 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3574 static void limitedWithInvalidMissingDefaultAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3576 v8::Handle<v8::Object> holder = info.Holder();
3577 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3578 String v8Value = impl->fastGetAttribute(HTMLNames::limitedwithinvalidmissingdefaultattributeAttr);
3579 if (v8Value.isEmpty()) {
3581 } else if (equalIgnoringCase(v8Value, "ltr")) {
3583 } else if (equalIgnoringCase(v8Value, "rtl")) {
3585 } else if (equalIgnoringCase(v8Value, "auto")) {
3590 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3593 static void limitedWithInvalidMissingDefaultAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3595 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3596 TestObjectPythonV8Internal::limitedWithInvalidMissingDefaultAttributeAttributeGetter(info);
3597 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3600 static void limitedWithInvalidMissingDefaultAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3602 v8::Handle<v8::Object> holder = info.Holder();
3603 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3604 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3605 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3606 impl->setAttribute(HTMLNames::limitedwithinvalidmissingdefaultattributeAttr, cppValue);
3609 static void limitedWithInvalidMissingDefaultAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3611 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3612 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
3613 TestObjectPythonV8Internal::limitedWithInvalidMissingDefaultAttributeAttributeSetter(v8Value, info);
3614 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3617 static void corsSettingAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3619 v8::Handle<v8::Object> holder = info.Holder();
3620 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3621 String v8Value = impl->fastGetAttribute(HTMLNames::corssettingattributeAttr);
3622 if (v8Value.isNull()) {
3624 } else if (v8Value.isEmpty()) {
3625 v8Value = "anonymous";
3626 } else if (equalIgnoringCase(v8Value, "anonymous")) {
3627 v8Value = "anonymous";
3628 } else if (equalIgnoringCase(v8Value, "use-credentials")) {
3629 v8Value = "use-credentials";
3631 v8Value = "anonymous";
3633 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3636 static void corsSettingAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3638 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3639 TestObjectPythonV8Internal::corsSettingAttributeAttributeGetter(info);
3640 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3643 static void limitedWithEmptyMissingInvalidAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3645 v8::Handle<v8::Object> holder = info.Holder();
3646 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3647 String v8Value = impl->fastGetAttribute(HTMLNames::limitedwithemptymissinginvalidattributeAttr);
3648 if (v8Value.isNull()) {
3649 v8Value = "missing";
3650 } else if (v8Value.isEmpty()) {
3652 } else if (equalIgnoringCase(v8Value, "empty")) {
3654 } else if (equalIgnoringCase(v8Value, "missing")) {
3655 v8Value = "missing";
3656 } else if (equalIgnoringCase(v8Value, "invalid")) {
3657 v8Value = "invalid";
3658 } else if (equalIgnoringCase(v8Value, "a-normal")) {
3659 v8Value = "a-normal";
3661 v8Value = "invalid";
3663 v8SetReturnValueString(info, v8Value, info.GetIsolate());
3666 static void limitedWithEmptyMissingInvalidAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3668 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3669 TestObjectPythonV8Internal::limitedWithEmptyMissingInvalidAttributeAttributeGetter(info);
3670 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3673 static void replaceableReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3675 v8::Handle<v8::Object> holder = info.Holder();
3676 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3677 v8SetReturnValueInt(info, impl->replaceableReadonlyLongAttribute());
3680 static void replaceableReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3682 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3683 TestObjectPythonV8Internal::replaceableReadonlyLongAttributeAttributeGetter(info);
3684 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3687 static void locationReplaceableAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3689 v8::Handle<v8::Object> holder = info.Holder();
3690 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3691 v8SetReturnValueFast(info, WTF::getPtr(impl->locationReplaceable()), impl);
3694 static void locationReplaceableAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3696 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3697 TestObjectPythonV8Internal::locationReplaceableAttributeGetter(info);
3698 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3701 static void locationReplaceableAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3703 v8::Handle<v8::Object> holder = info.Holder();
3704 TestObjectPython* proxyImpl = V8TestObjectPython::toNative(holder);
3705 RefPtr<TestNode> impl = WTF::getPtr(proxyImpl->locationReplaceable());
3708 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3709 impl->setHref(cppValue);
3712 static void locationReplaceableAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3714 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3715 TestObjectPythonV8Internal::locationReplaceableAttributeSetter(v8Value, info);
3716 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3719 static void runtimeEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3721 v8::Handle<v8::Object> holder = info.Holder();
3722 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3723 v8SetReturnValueInt(info, impl->runtimeEnabledLongAttribute());
3726 static void runtimeEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3728 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3729 TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeGetter(info);
3730 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3733 static void runtimeEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3735 v8::Handle<v8::Object> holder = info.Holder();
3736 ExceptionState exceptionState(ExceptionState::SetterContext, "runtimeEnabledLongAttribute", "TestObjectPython", holder, info.GetIsolate());
3737 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3738 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
3739 impl->setRuntimeEnabledLongAttribute(cppValue);
3742 static void runtimeEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3744 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3745 TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeSetter(v8Value, info);
3746 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3749 static void perContextEnabledRuntimeEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3751 v8::Handle<v8::Object> holder = info.Holder();
3752 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3753 v8SetReturnValueInt(info, impl->perContextEnabledRuntimeEnabledLongAttribute());
3756 static void perContextEnabledRuntimeEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3758 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3759 TestObjectPythonV8Internal::perContextEnabledRuntimeEnabledLongAttributeAttributeGetter(info);
3760 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3763 static void perContextEnabledRuntimeEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3765 v8::Handle<v8::Object> holder = info.Holder();
3766 ExceptionState exceptionState(ExceptionState::SetterContext, "perContextEnabledRuntimeEnabledLongAttribute", "TestObjectPython", holder, info.GetIsolate());
3767 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3768 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
3769 impl->setPerContextEnabledRuntimeEnabledLongAttribute(cppValue);
3772 static void perContextEnabledRuntimeEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3774 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3775 TestObjectPythonV8Internal::perContextEnabledRuntimeEnabledLongAttributeAttributeSetter(v8Value, info);
3776 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3779 #if ENABLE(CONDITION)
3780 static void conditionalRuntimeEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3782 v8::Handle<v8::Object> holder = info.Holder();
3783 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3784 v8SetReturnValueInt(info, impl->conditionalRuntimeEnabledLongAttribute());
3786 #endif // ENABLE(CONDITION)
3788 #if ENABLE(CONDITION)
3789 static void conditionalRuntimeEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3791 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3792 TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeGetter(info);
3793 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3795 #endif // ENABLE(CONDITION)
3797 #if ENABLE(CONDITION)
3798 static void conditionalRuntimeEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3800 v8::Handle<v8::Object> holder = info.Holder();
3801 ExceptionState exceptionState(ExceptionState::SetterContext, "conditionalRuntimeEnabledLongAttribute", "TestObjectPython", holder, info.GetIsolate());
3802 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3803 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
3804 impl->setConditionalRuntimeEnabledLongAttribute(cppValue);
3806 #endif // ENABLE(CONDITION)
3808 #if ENABLE(CONDITION)
3809 static void conditionalRuntimeEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3811 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3812 TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeSetter(v8Value, info);
3813 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3815 #endif // ENABLE(CONDITION)
3817 static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3819 v8::Handle<v8::Object> holder = info.Holder();
3820 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3821 v8SetReturnValueString(info, impl->setterCallWithActiveWindowAndFirstWindowStringAttribute(), info.GetIsolate());
3824 static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3826 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3827 TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetter(info);
3828 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3831 static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3833 v8::Handle<v8::Object> holder = info.Holder();
3834 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3835 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3836 impl->setSetterCallWithActiveWindowAndFirstWindowStringAttribute(callingDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue);
3839 static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3841 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3842 TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetter(v8Value, info);
3843 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3846 static void setterCallWithExecutionContextStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3848 v8::Handle<v8::Object> holder = info.Holder();
3849 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3850 v8SetReturnValueString(info, impl->setterCallWithExecutionContextStringAttribute(), info.GetIsolate());
3853 static void setterCallWithExecutionContextStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3855 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3856 TestObjectPythonV8Internal::setterCallWithExecutionContextStringAttributeAttributeGetter(info);
3857 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3860 static void setterCallWithExecutionContextStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3862 v8::Handle<v8::Object> holder = info.Holder();
3863 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3864 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3865 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate());
3866 impl->setSetterCallWithExecutionContextStringAttribute(scriptContext, cppValue);
3869 static void setterCallWithExecutionContextStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3871 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3872 TestObjectPythonV8Internal::setterCallWithExecutionContextStringAttributeAttributeSetter(v8Value, info);
3873 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3876 static void strictTypeCheckingFloatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3878 v8::Handle<v8::Object> holder = info.Holder();
3879 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3880 v8SetReturnValue(info, impl->strictTypeCheckingFloatAttribute());
3883 static void strictTypeCheckingFloatAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3885 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3886 TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeGetter(info);
3887 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3890 static void strictTypeCheckingFloatAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3892 v8::Handle<v8::Object> holder = info.Holder();
3893 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3894 V8TRYCATCH_VOID(float, cppValue, static_cast<float>(v8Value->NumberValue()));
3895 impl->setStrictTypeCheckingFloatAttribute(cppValue);
3898 static void strictTypeCheckingFloatAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3900 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3901 TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeSetter(v8Value, info);
3902 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3905 static void strictTypeCheckingTestInterfaceAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3907 v8::Handle<v8::Object> holder = info.Holder();
3908 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3909 v8SetReturnValueFast(info, WTF::getPtr(impl->strictTypeCheckingTestInterfaceAttribute()), impl);
3912 static void strictTypeCheckingTestInterfaceAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3914 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3915 TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeGetter(info);
3916 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3919 static void strictTypeCheckingTestInterfaceAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3921 v8::Handle<v8::Object> holder = info.Holder();
3922 ExceptionState exceptionState(ExceptionState::SetterContext, "strictTypeCheckingTestInterfaceAttribute", "TestObjectPython", holder, info.GetIsolate());
3923 if (!isUndefinedOrNull(v8Value) && !V8TestInterface::hasInstance(v8Value, info.GetIsolate())) {
3924 exceptionState.throwTypeError("The provided value is not of type 'TestInterface'.");
3925 exceptionState.throwIfNeeded();
3928 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3929 V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
3930 impl->setStrictTypeCheckingTestInterfaceAttribute(WTF::getPtr(cppValue));
3933 static void strictTypeCheckingTestInterfaceAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3935 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3936 TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeSetter(v8Value, info);
3937 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3940 static void treatNullAsNullStringStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3942 v8::Handle<v8::Object> holder = info.Holder();
3943 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3944 v8SetReturnValueString(info, impl->treatNullAsNullStringStringAttribute(), info.GetIsolate());
3947 static void treatNullAsNullStringStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3949 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3950 TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeGetter(info);
3951 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3954 static void treatNullAsNullStringStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3956 v8::Handle<v8::Object> holder = info.Holder();
3957 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3958 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, cppValue, v8Value);
3959 impl->setTreatNullAsNullStringStringAttribute(cppValue);
3962 static void treatNullAsNullStringStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3964 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3965 TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeSetter(v8Value, info);
3966 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3969 static void treatReturnedNullStringAsNullStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
3971 v8::Handle<v8::Object> holder = info.Holder();
3972 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3973 v8SetReturnValueStringOrNull(info, impl->treatReturnedNullStringAsNullStringAttribute(), info.GetIsolate());
3976 static void treatReturnedNullStringAsNullStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
3978 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
3979 TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeGetter(info);
3980 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3983 static void treatReturnedNullStringAsNullStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3985 v8::Handle<v8::Object> holder = info.Holder();
3986 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
3987 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
3988 impl->setTreatReturnedNullStringAsNullStringAttribute(cppValue);
3991 static void treatReturnedNullStringAsNullStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
3993 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
3994 TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeSetter(v8Value, info);
3995 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
3998 static void treatReturnedNullStringAsUndefinedStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4000 v8::Handle<v8::Object> holder = info.Holder();
4001 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4002 v8SetReturnValueStringOrUndefined(info, impl->treatReturnedNullStringAsUndefinedStringAttribute(), info.GetIsolate());
4005 static void treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4007 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4008 TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetter(info);
4009 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4012 static void treatReturnedNullStringAsUndefinedStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4014 v8::Handle<v8::Object> holder = info.Holder();
4015 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4016 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
4017 impl->setTreatReturnedNullStringAsUndefinedStringAttribute(cppValue);
4020 static void treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4022 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4023 TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetter(v8Value, info);
4024 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4027 static void urlStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4029 v8::Handle<v8::Object> holder = info.Holder();
4030 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4031 v8SetReturnValueString(info, impl->getURLAttribute(HTMLNames::urlstringattributeAttr), info.GetIsolate());
4034 static void urlStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4036 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4037 TestObjectPythonV8Internal::urlStringAttributeAttributeGetter(info);
4038 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4041 static void urlStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4043 v8::Handle<v8::Object> holder = info.Holder();
4044 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4045 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
4046 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4047 impl->setAttribute(HTMLNames::urlstringattributeAttr, cppValue);
4050 static void urlStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4052 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4053 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4054 TestObjectPythonV8Internal::urlStringAttributeAttributeSetter(v8Value, info);
4055 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4058 static void urlStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4060 v8::Handle<v8::Object> holder = info.Holder();
4061 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4062 v8SetReturnValueString(info, impl->getURLAttribute(HTMLNames::ReflectUrlAttributeAttr), info.GetIsolate());
4065 static void urlStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4067 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4068 TestObjectPythonV8Internal::urlStringAttributeAttributeGetter(info);
4069 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4072 static void urlStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4074 v8::Handle<v8::Object> holder = info.Holder();
4075 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4076 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
4077 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4078 impl->setAttribute(HTMLNames::ReflectUrlAttributeAttr, cppValue);
4081 static void urlStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4083 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4084 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4085 TestObjectPythonV8Internal::urlStringAttributeAttributeSetter(v8Value, info);
4086 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4089 static void unforgeableLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4091 v8::Handle<v8::Object> holder = V8TestObjectPython::findInstanceInPrototypeChain(info.This(), info.GetIsolate());
4092 if (holder.IsEmpty())
4094 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4095 v8SetReturnValueInt(info, impl->unforgeableLongAttribute());
4098 static void unforgeableLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4100 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4101 TestObjectPythonV8Internal::unforgeableLongAttributeAttributeGetter(info);
4102 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4105 static void unforgeableLongAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4107 v8::Handle<v8::Object> holder = info.Holder();
4108 ExceptionState exceptionState(ExceptionState::SetterContext, "unforgeableLongAttribute", "TestObjectPython", holder, info.GetIsolate());
4109 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4110 V8TRYCATCH_EXCEPTION_VOID(int, cppValue, toInt32(v8Value, exceptionState), exceptionState);
4111 impl->setUnforgeableLongAttribute(cppValue);
4114 static void unforgeableLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4116 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4117 TestObjectPythonV8Internal::unforgeableLongAttributeAttributeSetter(v8Value, info);
4118 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4121 static void anotherStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4123 v8::Handle<v8::Object> holder = info.Holder();
4124 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4125 v8SetReturnValueString(info, impl->fastGetAttribute(HTMLNames::ReflectUrlAttributeAsAStringAttr), info.GetIsolate());
4128 static void anotherStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4130 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4131 TestObjectPythonV8Internal::anotherStringAttributeAttributeGetter(info);
4132 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4135 static void anotherStringAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4137 v8::Handle<v8::Object> holder = info.Holder();
4138 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4139 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, v8Value);
4140 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4141 impl->setAttribute(HTMLNames::ReflectUrlAttributeAsAStringAttr, cppValue);
4144 static void anotherStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4146 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4147 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
4148 TestObjectPythonV8Internal::anotherStringAttributeAttributeSetter(v8Value, info);
4149 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4152 static void testInterfacePythonAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4154 v8::Handle<v8::Object> holder = info.Holder();
4155 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4156 v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfacePythonAttribute()), impl);
4159 static void testInterfacePythonAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4161 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4162 TestObjectPythonV8Internal::testInterfacePythonAttributeAttributeGetter(info);
4163 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4166 static void testInterfacePythonAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4168 v8::Handle<v8::Object> holder = info.Holder();
4169 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4170 V8TRYCATCH_VOID(TestInterfacePythonImplementation*, cppValue, V8TestInterfacePython::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
4171 impl->setTestInterfacePythonAttribute(WTF::getPtr(cppValue));
4174 static void testInterfacePythonAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4176 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4177 TestObjectPythonV8Internal::testInterfacePythonAttributeAttributeSetter(v8Value, info);
4178 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4181 static void testInterfaceWillBeGarbageCollectedAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4183 v8::Handle<v8::Object> holder = info.Holder();
4184 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4185 v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceWillBeGarbageCollectedAttribute()), impl);
4188 static void testInterfaceWillBeGarbageCollectedAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4190 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4191 TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedAttributeAttributeGetter(info);
4192 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4195 static void testInterfaceWillBeGarbageCollectedAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4197 v8::Handle<v8::Object> holder = info.Holder();
4198 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4199 V8TRYCATCH_VOID(TestInterfaceWillBeGarbageCollected*, cppValue, V8TestInterfaceWillBeGarbageCollected::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
4200 impl->setTestInterfaceWillBeGarbageCollectedAttribute(WTF::getPtr(cppValue));
4203 static void testInterfaceWillBeGarbageCollectedAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4205 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4206 TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedAttributeAttributeSetter(v8Value, info);
4207 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4210 static void testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info)
4212 v8::Handle<v8::Object> holder = info.Holder();
4213 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4214 bool isNull = false;
4215 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> v8Value = impl->testInterfaceWillBeGarbageCollectedOrNullAttribute(isNull);
4217 v8SetReturnValueNull(info);
4220 v8SetReturnValueFast(info, WTF::getPtr(v8Value.release()), impl);
4223 static void testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4225 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
4226 TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeGetter(info);
4227 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4230 static void testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeSetter(v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4232 v8::Handle<v8::Object> holder = info.Holder();
4233 TestObjectPython* impl = V8TestObjectPython::toNative(holder);
4234 V8TRYCATCH_VOID(TestInterfaceWillBeGarbageCollected*, cppValue, V8TestInterfaceWillBeGarbageCollected::toNativeWithTypeCheck(info.GetIsolate(), v8Value));
4235 impl->setTestInterfaceWillBeGarbageCollectedOrNullAttribute(WTF::getPtr(cppValue));
4238 static void testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4240 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter");
4241 TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeSetter(v8Value, info);
4242 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4245 static void TestObjectPythonConstructorGetter(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
4247 v8::Handle<v8::Value> data = info.Data();
4248 ASSERT(data->IsExternal());
4249 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->CreationContext());
4250 if (!perContextData)
4252 v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::unwrap(data)));
4255 static void TestObjectPythonReplaceableAttributeSetter(v8::Local<v8::String> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4257 info.This()->ForceSet(name, v8Value);
4260 static void TestObjectPythonReplaceableAttributeSetterCallback(v8::Local<v8::String> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info)
4262 TestObjectPythonV8Internal::TestObjectPythonReplaceableAttributeSetter(name, v8Value, info);
4265 static void voidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4267 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4271 static void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4273 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4274 TestObjectPythonV8Internal::voidMethodMethod(info);
4275 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4278 static void staticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4280 TestObjectPython::staticVoidMethod();
4283 static void staticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4285 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4286 TestObjectPythonV8Internal::staticVoidMethodMethod(info);
4287 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4290 static void dateMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4292 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4293 v8SetReturnValue(info, v8DateOrNull(impl->dateMethod(), info.GetIsolate()));
4296 static void dateMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4298 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4299 TestObjectPythonV8Internal::dateMethodMethod(info);
4300 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4303 static void stringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4305 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4306 v8SetReturnValueString(info, impl->stringMethod(), info.GetIsolate());
4309 static void stringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4311 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4312 TestObjectPythonV8Internal::stringMethodMethod(info);
4313 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4316 static void readonlyDOMTimeStampMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4318 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4319 v8SetReturnValue(info, static_cast<double>(impl->readonlyDOMTimeStampMethod()));
4322 static void readonlyDOMTimeStampMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4324 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4325 TestObjectPythonV8Internal::readonlyDOMTimeStampMethodMethod(info);
4326 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4329 static void booleanMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4331 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4332 v8SetReturnValueBool(info, impl->booleanMethod());
4335 static void booleanMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4337 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4338 TestObjectPythonV8Internal::booleanMethodMethod(info);
4339 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4342 static void byteMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4344 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4345 v8SetReturnValueInt(info, impl->byteMethod());
4348 static void byteMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4350 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4351 TestObjectPythonV8Internal::byteMethodMethod(info);
4352 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4355 static void doubleMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4357 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4358 v8SetReturnValue(info, impl->doubleMethod());
4361 static void doubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4363 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4364 TestObjectPythonV8Internal::doubleMethodMethod(info);
4365 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4368 static void floatMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4370 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4371 v8SetReturnValue(info, impl->floatMethod());
4374 static void floatMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4376 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4377 TestObjectPythonV8Internal::floatMethodMethod(info);
4378 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4381 static void longMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4383 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4384 v8SetReturnValueInt(info, impl->longMethod());
4387 static void longMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4389 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4390 TestObjectPythonV8Internal::longMethodMethod(info);
4391 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4394 static void longLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4396 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4397 v8SetReturnValue(info, static_cast<double>(impl->longLongMethod()));
4400 static void longLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4402 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4403 TestObjectPythonV8Internal::longLongMethodMethod(info);
4404 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4407 static void octetMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4409 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4410 v8SetReturnValueUnsigned(info, impl->octetMethod());
4413 static void octetMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4415 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4416 TestObjectPythonV8Internal::octetMethodMethod(info);
4417 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4420 static void shortMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4422 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4423 v8SetReturnValueInt(info, impl->shortMethod());
4426 static void shortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4428 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4429 TestObjectPythonV8Internal::shortMethodMethod(info);
4430 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4433 static void unsignedLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4435 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4436 v8SetReturnValueUnsigned(info, impl->unsignedLongMethod());
4439 static void unsignedLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4441 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4442 TestObjectPythonV8Internal::unsignedLongMethodMethod(info);
4443 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4446 static void unsignedLongLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4448 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4449 v8SetReturnValue(info, static_cast<double>(impl->unsignedLongLongMethod()));
4452 static void unsignedLongLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4454 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4455 TestObjectPythonV8Internal::unsignedLongLongMethodMethod(info);
4456 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4459 static void unsignedShortMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4461 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4462 v8SetReturnValueUnsigned(info, impl->unsignedShortMethod());
4465 static void unsignedShortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4467 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4468 TestObjectPythonV8Internal::unsignedShortMethodMethod(info);
4469 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4472 static void voidMethodDateArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4474 if (UNLIKELY(info.Length() < 1)) {
4475 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDateArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4478 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4479 V8TRYCATCH_VOID(double, dateArg, toCoreDate(info[0]));
4480 impl->voidMethodDateArg(dateArg);
4483 static void voidMethodDateArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4485 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4486 TestObjectPythonV8Internal::voidMethodDateArgMethod(info);
4487 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4490 static void voidMethodStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4492 if (UNLIKELY(info.Length() < 1)) {
4493 throwTypeError(ExceptionMessages::failedToExecute("voidMethodStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4496 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4497 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]);
4498 impl->voidMethodStringArg(stringArg);
4501 static void voidMethodStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4503 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4504 TestObjectPythonV8Internal::voidMethodStringArgMethod(info);
4505 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4508 static void voidMethodBooleanArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4510 if (UNLIKELY(info.Length() < 1)) {
4511 throwTypeError(ExceptionMessages::failedToExecute("voidMethodBooleanArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4514 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4515 V8TRYCATCH_VOID(bool, booleanArg, info[0]->BooleanValue());
4516 impl->voidMethodBooleanArg(booleanArg);
4519 static void voidMethodBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4521 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4522 TestObjectPythonV8Internal::voidMethodBooleanArgMethod(info);
4523 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4526 static void voidMethodByteArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4528 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodByteArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4529 if (UNLIKELY(info.Length() < 1)) {
4530 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4531 exceptionState.throwIfNeeded();
4534 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4535 V8TRYCATCH_EXCEPTION_VOID(int, byteArg, toInt8(info[0], exceptionState), exceptionState);
4536 impl->voidMethodByteArg(byteArg);
4539 static void voidMethodByteArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4541 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4542 TestObjectPythonV8Internal::voidMethodByteArgMethod(info);
4543 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4546 static void voidMethodDoubleArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4548 if (UNLIKELY(info.Length() < 1)) {
4549 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDoubleArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4552 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4553 V8TRYCATCH_VOID(double, doubleArg, static_cast<double>(info[0]->NumberValue()));
4554 impl->voidMethodDoubleArg(doubleArg);
4557 static void voidMethodDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4559 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4560 TestObjectPythonV8Internal::voidMethodDoubleArgMethod(info);
4561 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4564 static void voidMethodFloatArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4566 if (UNLIKELY(info.Length() < 1)) {
4567 throwTypeError(ExceptionMessages::failedToExecute("voidMethodFloatArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4570 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4571 V8TRYCATCH_VOID(float, floatArg, static_cast<float>(info[0]->NumberValue()));
4572 impl->voidMethodFloatArg(floatArg);
4575 static void voidMethodFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4577 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4578 TestObjectPythonV8Internal::voidMethodFloatArgMethod(info);
4579 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4582 static void voidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4584 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4585 if (UNLIKELY(info.Length() < 1)) {
4586 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4587 exceptionState.throwIfNeeded();
4590 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4591 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
4592 impl->voidMethodLongArg(longArg);
4595 static void voidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4597 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4598 TestObjectPythonV8Internal::voidMethodLongArgMethod(info);
4599 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4602 static void voidMethodLongLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4604 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4605 if (UNLIKELY(info.Length() < 1)) {
4606 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4607 exceptionState.throwIfNeeded();
4610 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4611 V8TRYCATCH_EXCEPTION_VOID(long long, longLongArg, toInt64(info[0], exceptionState), exceptionState);
4612 impl->voidMethodLongLongArg(longLongArg);
4615 static void voidMethodLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4617 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4618 TestObjectPythonV8Internal::voidMethodLongLongArgMethod(info);
4619 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4622 static void voidMethodOctetArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4624 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodOctetArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4625 if (UNLIKELY(info.Length() < 1)) {
4626 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4627 exceptionState.throwIfNeeded();
4630 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4631 V8TRYCATCH_EXCEPTION_VOID(unsigned, octetArg, toUInt8(info[0], exceptionState), exceptionState);
4632 impl->voidMethodOctetArg(octetArg);
4635 static void voidMethodOctetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4637 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4638 TestObjectPythonV8Internal::voidMethodOctetArgMethod(info);
4639 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4642 static void voidMethodShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4644 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodShortArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4645 if (UNLIKELY(info.Length() < 1)) {
4646 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4647 exceptionState.throwIfNeeded();
4650 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4651 V8TRYCATCH_EXCEPTION_VOID(int, shortArg, toInt16(info[0], exceptionState), exceptionState);
4652 impl->voidMethodShortArg(shortArg);
4655 static void voidMethodShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4657 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4658 TestObjectPythonV8Internal::voidMethodShortArgMethod(info);
4659 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4662 static void voidMethodUnsignedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4664 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodUnsignedLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4665 if (UNLIKELY(info.Length() < 1)) {
4666 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4667 exceptionState.throwIfNeeded();
4670 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4671 V8TRYCATCH_EXCEPTION_VOID(unsigned, unsignedLongArg, toUInt32(info[0], exceptionState), exceptionState);
4672 impl->voidMethodUnsignedLongArg(unsignedLongArg);
4675 static void voidMethodUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4677 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4678 TestObjectPythonV8Internal::voidMethodUnsignedLongArgMethod(info);
4679 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4682 static void voidMethodUnsignedLongLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4684 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodUnsignedLongLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4685 if (UNLIKELY(info.Length() < 1)) {
4686 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4687 exceptionState.throwIfNeeded();
4690 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4691 V8TRYCATCH_EXCEPTION_VOID(unsigned long long, unsignedLongLongArg, toUInt64(info[0], exceptionState), exceptionState);
4692 impl->voidMethodUnsignedLongLongArg(unsignedLongLongArg);
4695 static void voidMethodUnsignedLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4697 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4698 TestObjectPythonV8Internal::voidMethodUnsignedLongLongArgMethod(info);
4699 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4702 static void voidMethodUnsignedShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4704 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodUnsignedShortArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4705 if (UNLIKELY(info.Length() < 1)) {
4706 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
4707 exceptionState.throwIfNeeded();
4710 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4711 V8TRYCATCH_EXCEPTION_VOID(unsigned, unsignedShortArg, toUInt16(info[0], exceptionState), exceptionState);
4712 impl->voidMethodUnsignedShortArg(unsignedShortArg);
4715 static void voidMethodUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4717 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4718 TestObjectPythonV8Internal::voidMethodUnsignedShortArgMethod(info);
4719 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4722 static void testInterfaceEmptyMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4724 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4725 v8SetReturnValue(info, impl->testInterfaceEmptyMethod());
4728 static void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4730 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4731 TestObjectPythonV8Internal::testInterfaceEmptyMethodMethod(info);
4732 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4735 static void voidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4737 if (UNLIKELY(info.Length() < 1)) {
4738 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4741 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4742 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
4743 impl->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg);
4746 static void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4748 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4749 TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgMethod(info);
4750 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4753 static void voidMethodLongArgTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4755 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongArgTestInterfaceEmptyArg", "TestObjectPython", info.Holder(), info.GetIsolate());
4756 if (UNLIKELY(info.Length() < 2)) {
4757 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, info.Length()));
4758 exceptionState.throwIfNeeded();
4761 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4762 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
4763 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[1]));
4764 impl->voidMethodLongArgTestInterfaceEmptyArg(longArg, testInterfaceEmptyArg);
4767 static void voidMethodLongArgTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4769 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4770 TestObjectPythonV8Internal::voidMethodLongArgTestInterfaceEmptyArgMethod(info);
4771 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4774 static void voidCallbackFunctionMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4776 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4777 v8SetReturnValue(info, impl->voidCallbackFunctionMethod().v8Value());
4780 static void voidCallbackFunctionMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4782 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4783 TestObjectPythonV8Internal::voidCallbackFunctionMethodMethod(info);
4784 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4787 static void anyCallbackFunctionOptionalAnyArgMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4789 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4790 v8SetReturnValue(info, impl->anyCallbackFunctionOptionalAnyArgMethod().v8Value());
4793 static void anyCallbackFunctionOptionalAnyArgMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4795 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4796 TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgMethodMethod(info);
4797 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4800 static void voidMethodVoidCallbackFunctionArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4802 if (UNLIKELY(info.Length() < 1)) {
4803 throwTypeError(ExceptionMessages::failedToExecute("voidMethodVoidCallbackFunctionArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4806 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4807 V8TRYCATCH_VOID(ScriptValue, voidCallbackFunctionArg, ScriptValue(info[0], info.GetIsolate()));
4808 impl->voidMethodVoidCallbackFunctionArg(voidCallbackFunctionArg);
4811 static void voidMethodVoidCallbackFunctionArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4813 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4814 TestObjectPythonV8Internal::voidMethodVoidCallbackFunctionArgMethod(info);
4815 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4818 static void voidMethodAnyCallbackFunctionOptionalAnyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4820 if (UNLIKELY(info.Length() < 1)) {
4821 throwTypeError(ExceptionMessages::failedToExecute("voidMethodAnyCallbackFunctionOptionalAnyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4824 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4825 V8TRYCATCH_VOID(ScriptValue, anyCallbackFunctionOptionalAnyArgArg, ScriptValue(info[0], info.GetIsolate()));
4826 impl->voidMethodAnyCallbackFunctionOptionalAnyArg(anyCallbackFunctionOptionalAnyArgArg);
4829 static void voidMethodAnyCallbackFunctionOptionalAnyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4831 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4832 TestObjectPythonV8Internal::voidMethodAnyCallbackFunctionOptionalAnyArgMethod(info);
4833 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4836 static void compareHowMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4838 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4839 v8SetReturnValue(info, impl->compareHowMethod());
4842 static void compareHowMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4844 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4845 TestObjectPythonV8Internal::compareHowMethodMethod(info);
4846 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4849 static void anyMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4851 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4852 v8SetReturnValue(info, impl->anyMethod().v8Value());
4855 static void anyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4857 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4858 TestObjectPythonV8Internal::anyMethodMethod(info);
4859 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4862 static void voidMethodCompareHowArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4864 if (UNLIKELY(info.Length() < 1)) {
4865 throwTypeError(ExceptionMessages::failedToExecute("voidMethodCompareHowArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4868 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4869 V8TRYCATCH_VOID(Range::CompareHow, compareHowArg, static_cast<Range::CompareHow>(info[0]->Int32Value()));
4870 impl->voidMethodCompareHowArg(compareHowArg);
4873 static void voidMethodCompareHowArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4875 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4876 TestObjectPythonV8Internal::voidMethodCompareHowArgMethod(info);
4877 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4880 static void voidMethodEventTargetArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4882 if (UNLIKELY(info.Length() < 1)) {
4883 throwTypeError(ExceptionMessages::failedToExecute("voidMethodEventTargetArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4886 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4887 V8TRYCATCH_VOID(EventTarget*, eventTargetArg, V8DOMWrapper::isDOMWrapper(info[0]) ? toWrapperTypeInfo(v8::Handle<v8::Object>::Cast(info[0]))->toEventTarget(v8::Handle<v8::Object>::Cast(info[0])) : 0);
4888 impl->voidMethodEventTargetArg(eventTargetArg);
4891 static void voidMethodEventTargetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4893 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4894 TestObjectPythonV8Internal::voidMethodEventTargetArgMethod(info);
4895 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4898 static void voidMethodMediaQueryListListenerArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4900 if (UNLIKELY(info.Length() < 1)) {
4901 throwTypeError(ExceptionMessages::failedToExecute("voidMethodMediaQueryListListenerArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4904 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4905 V8TRYCATCH_VOID(RefPtrWillBeRawPtr<MediaQueryListListener>, mediaQueryListListenerArg, MediaQueryListListener::create(ScriptValue(info[0], info.GetIsolate())));
4906 impl->voidMethodMediaQueryListListenerArg(mediaQueryListListenerArg);
4909 static void voidMethodMediaQueryListListenerArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4911 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4912 TestObjectPythonV8Internal::voidMethodMediaQueryListListenerArgMethod(info);
4913 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4916 static void voidMethodAnyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4918 if (UNLIKELY(info.Length() < 1)) {
4919 throwTypeError(ExceptionMessages::failedToExecute("voidMethodAnyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4922 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4923 V8TRYCATCH_VOID(ScriptValue, anyArg, ScriptValue(info[0], info.GetIsolate()));
4924 impl->voidMethodAnyArg(anyArg);
4927 static void voidMethodAnyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4929 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4930 TestObjectPythonV8Internal::voidMethodAnyArgMethod(info);
4931 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4934 static void voidMethodAttrArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4936 if (UNLIKELY(info.Length() < 1)) {
4937 throwTypeError(ExceptionMessages::failedToExecute("voidMethodAttrArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4940 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4941 V8TRYCATCH_VOID(Attr*, attrArg, V8Attr::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
4942 impl->voidMethodAttrArg(attrArg);
4945 static void voidMethodAttrArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4947 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4948 TestObjectPythonV8Internal::voidMethodAttrArgMethod(info);
4949 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4952 static void voidMethodDocumentArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4954 if (UNLIKELY(info.Length() < 1)) {
4955 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDocumentArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4958 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4959 V8TRYCATCH_VOID(Document*, documentArg, V8Document::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
4960 impl->voidMethodDocumentArg(documentArg);
4963 static void voidMethodDocumentArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4965 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4966 TestObjectPythonV8Internal::voidMethodDocumentArgMethod(info);
4967 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4970 static void voidMethodDocumentTypeArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4972 if (UNLIKELY(info.Length() < 1)) {
4973 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDocumentTypeArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4976 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4977 V8TRYCATCH_VOID(DocumentType*, documentTypeArg, V8DocumentType::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
4978 impl->voidMethodDocumentTypeArg(documentTypeArg);
4981 static void voidMethodDocumentTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
4983 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
4984 TestObjectPythonV8Internal::voidMethodDocumentTypeArgMethod(info);
4985 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
4988 static void voidMethodElementArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
4990 if (UNLIKELY(info.Length() < 1)) {
4991 throwTypeError(ExceptionMessages::failedToExecute("voidMethodElementArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
4994 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
4995 V8TRYCATCH_VOID(Element*, elementArg, V8Element::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
4996 impl->voidMethodElementArg(elementArg);
4999 static void voidMethodElementArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5001 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5002 TestObjectPythonV8Internal::voidMethodElementArgMethod(info);
5003 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5006 static void voidMethodNodeArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5008 if (UNLIKELY(info.Length() < 1)) {
5009 throwTypeError(ExceptionMessages::failedToExecute("voidMethodNodeArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5012 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5013 V8TRYCATCH_VOID(Node*, nodeArg, V8Node::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
5014 impl->voidMethodNodeArg(nodeArg);
5017 static void voidMethodNodeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5019 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5020 TestObjectPythonV8Internal::voidMethodNodeArgMethod(info);
5021 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5024 static void arrayBufferMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5026 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5027 v8SetReturnValue(info, impl->arrayBufferMethod());
5030 static void arrayBufferMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5032 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5033 TestObjectPythonV8Internal::arrayBufferMethodMethod(info);
5034 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5037 static void arrayBufferViewMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5039 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5040 v8SetReturnValue(info, impl->arrayBufferViewMethod());
5043 static void arrayBufferViewMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5045 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5046 TestObjectPythonV8Internal::arrayBufferViewMethodMethod(info);
5047 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5050 static void float32ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5052 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5053 v8SetReturnValue(info, impl->float32ArrayMethod());
5056 static void float32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5058 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5059 TestObjectPythonV8Internal::float32ArrayMethodMethod(info);
5060 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5063 static void int32ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5065 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5066 v8SetReturnValue(info, impl->int32ArrayMethod());
5069 static void int32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5071 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5072 TestObjectPythonV8Internal::int32ArrayMethodMethod(info);
5073 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5076 static void uint8ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5078 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5079 v8SetReturnValue(info, impl->uint8ArrayMethod());
5082 static void uint8ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5084 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5085 TestObjectPythonV8Internal::uint8ArrayMethodMethod(info);
5086 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5089 static void voidMethodArrayBufferArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5091 if (UNLIKELY(info.Length() < 1)) {
5092 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayBufferArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5095 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5096 V8TRYCATCH_VOID(ArrayBuffer*, arrayBufferArg, info[0]->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast(info[0])) : 0);
5097 impl->voidMethodArrayBufferArg(arrayBufferArg);
5100 static void voidMethodArrayBufferArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5102 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5103 TestObjectPythonV8Internal::voidMethodArrayBufferArgMethod(info);
5104 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5107 static void voidMethodArrayBufferOrNullArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5109 if (UNLIKELY(info.Length() < 1)) {
5110 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayBufferOrNullArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5113 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5114 V8TRYCATCH_VOID(ArrayBuffer*, arrayBufferArg, info[0]->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast(info[0])) : 0);
5115 impl->voidMethodArrayBufferOrNullArg(arrayBufferArg);
5118 static void voidMethodArrayBufferOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5120 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5121 TestObjectPythonV8Internal::voidMethodArrayBufferOrNullArgMethod(info);
5122 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5125 static void voidMethodArrayBufferViewArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5127 if (UNLIKELY(info.Length() < 1)) {
5128 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayBufferViewArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5131 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5132 V8TRYCATCH_VOID(ArrayBufferView*, arrayBufferViewArg, info[0]->IsArrayBufferView() ? V8ArrayBufferView::toNative(v8::Handle<v8::ArrayBufferView>::Cast(info[0])) : 0);
5133 impl->voidMethodArrayBufferViewArg(arrayBufferViewArg);
5136 static void voidMethodArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5138 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5139 TestObjectPythonV8Internal::voidMethodArrayBufferViewArgMethod(info);
5140 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5143 static void voidMethodFloat32ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5145 if (UNLIKELY(info.Length() < 1)) {
5146 throwTypeError(ExceptionMessages::failedToExecute("voidMethodFloat32ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5149 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5150 V8TRYCATCH_VOID(Float32Array*, float32ArrayArg, info[0]->IsFloat32Array() ? V8Float32Array::toNative(v8::Handle<v8::Float32Array>::Cast(info[0])) : 0);
5151 impl->voidMethodFloat32ArrayArg(float32ArrayArg);
5154 static void voidMethodFloat32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5156 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5157 TestObjectPythonV8Internal::voidMethodFloat32ArrayArgMethod(info);
5158 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5161 static void voidMethodInt32ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5163 if (UNLIKELY(info.Length() < 1)) {
5164 throwTypeError(ExceptionMessages::failedToExecute("voidMethodInt32ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5167 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5168 V8TRYCATCH_VOID(Int32Array*, int32ArrayArg, info[0]->IsInt32Array() ? V8Int32Array::toNative(v8::Handle<v8::Int32Array>::Cast(info[0])) : 0);
5169 impl->voidMethodInt32ArrayArg(int32ArrayArg);
5172 static void voidMethodInt32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5174 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5175 TestObjectPythonV8Internal::voidMethodInt32ArrayArgMethod(info);
5176 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5179 static void voidMethodUint8ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5181 if (UNLIKELY(info.Length() < 1)) {
5182 throwTypeError(ExceptionMessages::failedToExecute("voidMethodUint8ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5185 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5186 V8TRYCATCH_VOID(Uint8Array*, uint8ArrayArg, info[0]->IsUint8Array() ? V8Uint8Array::toNative(v8::Handle<v8::Uint8Array>::Cast(info[0])) : 0);
5187 impl->voidMethodUint8ArrayArg(uint8ArrayArg);
5190 static void voidMethodUint8ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5192 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5193 TestObjectPythonV8Internal::voidMethodUint8ArrayArgMethod(info);
5194 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5197 static void longArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5199 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5200 v8SetReturnValue(info, v8Array(impl->longArrayMethod(), info.GetIsolate()));
5203 static void longArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5205 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5206 TestObjectPythonV8Internal::longArrayMethodMethod(info);
5207 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5210 static void stringArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5212 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5213 v8SetReturnValue(info, v8Array(impl->stringArrayMethod(), info.GetIsolate()));
5216 static void stringArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5218 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5219 TestObjectPythonV8Internal::stringArrayMethodMethod(info);
5220 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5223 static void testInterfaceEmptyArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5225 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5226 v8SetReturnValue(info, v8Array(impl->testInterfaceEmptyArrayMethod(), info.GetIsolate()));
5229 static void testInterfaceEmptyArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5231 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5232 TestObjectPythonV8Internal::testInterfaceEmptyArrayMethodMethod(info);
5233 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5236 static void voidMethodArrayLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5238 if (UNLIKELY(info.Length() < 1)) {
5239 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5242 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5243 V8TRYCATCH_VOID(Vector<int>, arrayLongArg, toNativeArray<int>(info[0], 1, info.GetIsolate()));
5244 impl->voidMethodArrayLongArg(arrayLongArg);
5247 static void voidMethodArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5249 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5250 TestObjectPythonV8Internal::voidMethodArrayLongArgMethod(info);
5251 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5254 static void voidMethodArrayStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5256 if (UNLIKELY(info.Length() < 1)) {
5257 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5260 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5261 V8TRYCATCH_VOID(Vector<String>, arrayStringArg, toNativeArray<String>(info[0], 1, info.GetIsolate()));
5262 impl->voidMethodArrayStringArg(arrayStringArg);
5265 static void voidMethodArrayStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5267 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5268 TestObjectPythonV8Internal::voidMethodArrayStringArgMethod(info);
5269 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5272 static void voidMethodArrayTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5274 if (UNLIKELY(info.Length() < 1)) {
5275 throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5278 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5279 V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, arrayTestInterfaceEmptyArg, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(info[0], 1, info.GetIsolate())));
5280 impl->voidMethodArrayTestInterfaceEmptyArg(arrayTestInterfaceEmptyArg);
5283 static void voidMethodArrayTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5285 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5286 TestObjectPythonV8Internal::voidMethodArrayTestInterfaceEmptyArgMethod(info);
5287 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5290 static void longSequenceMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5292 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5293 v8SetReturnValue(info, v8Array(impl->longSequenceMethod(), info.GetIsolate()));
5296 static void longSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5298 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5299 TestObjectPythonV8Internal::longSequenceMethodMethod(info);
5300 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5303 static void stringSequenceMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5305 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5306 v8SetReturnValue(info, v8Array(impl->stringSequenceMethod(), info.GetIsolate()));
5309 static void stringSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5311 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5312 TestObjectPythonV8Internal::stringSequenceMethodMethod(info);
5313 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5316 static void testInterfaceEmptySequenceMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5318 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5319 v8SetReturnValue(info, v8Array(impl->testInterfaceEmptySequenceMethod(), info.GetIsolate()));
5322 static void testInterfaceEmptySequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5324 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5325 TestObjectPythonV8Internal::testInterfaceEmptySequenceMethodMethod(info);
5326 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5329 static void voidMethodSequenceLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5331 if (UNLIKELY(info.Length() < 1)) {
5332 throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5335 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5336 V8TRYCATCH_VOID(Vector<int>, longSequenceArg, toNativeArray<int>(info[0], 1, info.GetIsolate()));
5337 impl->voidMethodSequenceLongArg(longSequenceArg);
5340 static void voidMethodSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5342 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5343 TestObjectPythonV8Internal::voidMethodSequenceLongArgMethod(info);
5344 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5347 static void voidMethodSequenceStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5349 if (UNLIKELY(info.Length() < 1)) {
5350 throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5353 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5354 V8TRYCATCH_VOID(Vector<String>, stringSequenceArg, toNativeArray<String>(info[0], 1, info.GetIsolate()));
5355 impl->voidMethodSequenceStringArg(stringSequenceArg);
5358 static void voidMethodSequenceStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5360 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5361 TestObjectPythonV8Internal::voidMethodSequenceStringArgMethod(info);
5362 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5365 static void voidMethodSequenceTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5367 if (UNLIKELY(info.Length() < 1)) {
5368 throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5371 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5372 V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, testInterfaceEmptySequenceArg, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(info[0], 1, info.GetIsolate())));
5373 impl->voidMethodSequenceTestInterfaceEmptyArg(testInterfaceEmptySequenceArg);
5376 static void voidMethodSequenceTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5378 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5379 TestObjectPythonV8Internal::voidMethodSequenceTestInterfaceEmptyArgMethod(info);
5380 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5383 static void voidMethodTestInterfaceEmptyOrNullArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5385 if (UNLIKELY(info.Length() < 1)) {
5386 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyOrNullArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5389 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5390 V8TRYCATCH_VOID(TestInterfaceEmpty*, nullableTestInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
5391 impl->voidMethodTestInterfaceEmptyOrNullArg(nullableTestInterfaceEmptyArg);
5394 static void voidMethodTestInterfaceEmptyOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5396 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5397 TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyOrNullArgMethod(info);
5398 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5401 static void voidMethodTestCallbackInterfaceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5403 if (UNLIKELY(info.Length() < 1)) {
5404 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestCallbackInterfaceArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5407 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5408 if (info.Length() <= 0 || !info[0]->IsFunction()) {
5409 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestCallbackInterfaceArg", "TestObjectPython", "The callback provided as parameter 1 is not a function."), info.GetIsolate());
5412 OwnPtr<TestCallbackInterface> testCallbackInterfaceArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
5413 impl->voidMethodTestCallbackInterfaceArg(testCallbackInterfaceArg.release());
5416 static void voidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5418 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5419 TestObjectPythonV8Internal::voidMethodTestCallbackInterfaceArgMethod(info);
5420 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5423 static void voidMethodOptionalTestCallbackInterfaceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5425 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5426 OwnPtr<TestCallbackInterface> optionalTestCallbackInterfaceArg;
5427 if (info.Length() > 0 && !isUndefinedOrNull(info[0])) {
5428 if (!info[0]->IsFunction()) {
5429 throwTypeError(ExceptionMessages::failedToExecute("voidMethodOptionalTestCallbackInterfaceArg", "TestObjectPython", "The callback provided as parameter 1 is not a function."), info.GetIsolate());
5432 optionalTestCallbackInterfaceArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
5434 impl->voidMethodOptionalTestCallbackInterfaceArg(optionalTestCallbackInterfaceArg.release());
5437 static void voidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5439 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5440 TestObjectPythonV8Internal::voidMethodOptionalTestCallbackInterfaceArgMethod(info);
5441 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5444 static void voidMethodTestCallbackInterfaceOrNullArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5446 if (UNLIKELY(info.Length() < 1)) {
5447 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestCallbackInterfaceOrNullArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5450 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5451 if (info.Length() <= 0 || !(info[0]->IsFunction() || info[0]->IsNull())) {
5452 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestCallbackInterfaceOrNullArg", "TestObjectPython", "The callback provided as parameter 1 is not a function."), info.GetIsolate());
5455 OwnPtr<TestCallbackInterface> testCallbackInterfaceArg = info[0]->IsNull() ? nullptr : V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
5456 impl->voidMethodTestCallbackInterfaceOrNullArg(testCallbackInterfaceArg.release());
5459 static void voidMethodTestCallbackInterfaceOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5461 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5462 TestObjectPythonV8Internal::voidMethodTestCallbackInterfaceOrNullArgMethod(info);
5463 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5466 static void testEnumMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5468 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5469 v8SetReturnValueString(info, impl->testEnumMethod(), info.GetIsolate());
5472 static void testEnumMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5474 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5475 TestObjectPythonV8Internal::testEnumMethodMethod(info);
5476 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5479 static void voidMethodTestEnumArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5481 if (UNLIKELY(info.Length() < 1)) {
5482 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestEnumArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5485 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5486 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, testEnumTypeArg, info[0]);
5487 String string = testEnumTypeArg;
5488 if (!(string == "" || string == "EnumValue1" || string == "EnumValue2" || string == "EnumValue3")) {
5489 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestEnumArg", "TestObjectPython", "parameter 1 ('" + string + "') is not a valid enum value."), info.GetIsolate());
5492 impl->voidMethodTestEnumArg(testEnumTypeArg);
5495 static void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5497 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5498 TestObjectPythonV8Internal::voidMethodTestEnumArgMethod(info);
5499 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5502 static void dictionaryMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5504 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5505 v8SetReturnValue(info, impl->dictionaryMethod());
5508 static void dictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5510 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5511 TestObjectPythonV8Internal::dictionaryMethodMethod(info);
5512 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5515 static void nodeFilterMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5517 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5518 v8SetReturnValue(info, impl->nodeFilterMethod());
5521 static void nodeFilterMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5523 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5524 TestObjectPythonV8Internal::nodeFilterMethodMethod(info);
5525 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5528 static void promiseMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5530 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5531 v8SetReturnValue(info, impl->promiseMethod().v8Value());
5534 static void promiseMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5536 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5537 TestObjectPythonV8Internal::promiseMethodMethod(info);
5538 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5541 static void serializedScriptValueMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5543 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5544 v8SetReturnValue(info, impl->serializedScriptValueMethod() ? impl->serializedScriptValueMethod()->deserialize() : v8::Handle<v8::Value>(v8::Null(info.GetIsolate())));
5547 static void serializedScriptValueMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5549 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5550 TestObjectPythonV8Internal::serializedScriptValueMethodMethod(info);
5551 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5554 static void xPathNSResolverMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5556 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5557 v8SetReturnValue(info, impl->xPathNSResolverMethod());
5560 static void xPathNSResolverMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5562 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5563 TestObjectPythonV8Internal::xPathNSResolverMethodMethod(info);
5564 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5567 static void voidMethodDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5569 if (UNLIKELY(info.Length() < 1)) {
5570 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDictionaryArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5573 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5574 V8TRYCATCH_VOID(Dictionary, dictionaryArg, Dictionary(info[0], info.GetIsolate()));
5575 if (!dictionaryArg.isUndefinedOrNull() && !dictionaryArg.isObject()) {
5576 throwTypeError(ExceptionMessages::failedToExecute("voidMethodDictionaryArg", "TestObjectPython", "parameter 1 ('dictionaryArg') is not an object."), info.GetIsolate());
5579 impl->voidMethodDictionaryArg(dictionaryArg);
5582 static void voidMethodDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5584 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5585 TestObjectPythonV8Internal::voidMethodDictionaryArgMethod(info);
5586 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5589 static void voidMethodEventListenerArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5591 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodEventListenerArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5592 if (UNLIKELY(info.Length() < 1)) {
5593 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5594 exceptionState.throwIfNeeded();
5597 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5598 RefPtr<EventListener> eventListenerArg = V8EventListenerList::getEventListener(info[1], false, ListenerFindOrCreate);
5599 impl->voidMethodEventListenerArg(eventListenerArg);
5600 if (listener && !impl->toNode())
5601 removeHiddenValueFromArray(info.Holder(), info[1], V8TestObjectPython::eventListenerCacheIndex, info.GetIsolate());
5604 static void voidMethodEventListenerArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5606 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5607 TestObjectPythonV8Internal::voidMethodEventListenerArgMethod(info);
5608 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5611 static void voidMethodNodeFilterArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5613 if (UNLIKELY(info.Length() < 1)) {
5614 throwTypeError(ExceptionMessages::failedToExecute("voidMethodNodeFilterArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5617 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5618 V8TRYCATCH_VOID(RefPtr<NodeFilter>, nodeFilterArg, toNodeFilter(info[0], info.GetIsolate()));
5619 impl->voidMethodNodeFilterArg(nodeFilterArg.release());
5622 static void voidMethodNodeFilterArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5624 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5625 TestObjectPythonV8Internal::voidMethodNodeFilterArgMethod(info);
5626 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5629 static void voidMethodPromiseArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5631 if (UNLIKELY(info.Length() < 1)) {
5632 throwTypeError(ExceptionMessages::failedToExecute("voidMethodPromiseArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5635 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5636 V8TRYCATCH_VOID(ScriptPromise, promiseArg, ScriptPromise(info[0], info.GetIsolate()));
5637 if (!promiseArg.isUndefinedOrNull() && !promiseArg.isObject()) {
5638 throwTypeError(ExceptionMessages::failedToExecute("voidMethodPromiseArg", "TestObjectPython", "parameter 1 ('promiseArg') is not an object."), info.GetIsolate());
5641 impl->voidMethodPromiseArg(promiseArg);
5644 static void voidMethodPromiseArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5646 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5647 TestObjectPythonV8Internal::voidMethodPromiseArgMethod(info);
5648 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5651 static void voidMethodSerializedScriptValueArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5653 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodSerializedScriptValueArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5654 if (UNLIKELY(info.Length() < 1)) {
5655 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5656 exceptionState.throwIfNeeded();
5659 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5660 RefPtr<SerializedScriptValue> serializedScriptValueArg = SerializedScriptValue::create(info[0], 0, 0, exceptionState, info.GetIsolate());
5661 if (exceptionState.throwIfNeeded())
5663 impl->voidMethodSerializedScriptValueArg(serializedScriptValueArg);
5666 static void voidMethodSerializedScriptValueArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5668 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5669 TestObjectPythonV8Internal::voidMethodSerializedScriptValueArgMethod(info);
5670 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5673 static void voidMethodXPathNSResolverArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5675 if (UNLIKELY(info.Length() < 1)) {
5676 throwTypeError(ExceptionMessages::failedToExecute("voidMethodXPathNSResolverArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5679 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5680 V8TRYCATCH_VOID(RefPtrWillBeRawPtr<XPathNSResolver>, xPathNSResolverArg, toXPathNSResolver(info[0], info.GetIsolate()));
5681 impl->voidMethodXPathNSResolverArg(xPathNSResolverArg.release());
5684 static void voidMethodXPathNSResolverArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5686 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5687 TestObjectPythonV8Internal::voidMethodXPathNSResolverArgMethod(info);
5688 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5691 static void voidMethodSequenceDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5693 if (UNLIKELY(info.Length() < 1)) {
5694 throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceDictionaryArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5697 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5698 V8TRYCATCH_VOID(Vector<Dictionary>, dictionarySequenceArg, toNativeArray<Dictionary>(info[0], 1, info.GetIsolate()));
5699 impl->voidMethodSequenceDictionaryArg(dictionarySequenceArg);
5702 static void voidMethodSequenceDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5704 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5705 TestObjectPythonV8Internal::voidMethodSequenceDictionaryArgMethod(info);
5706 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5709 static void voidMethodStringArgLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5711 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodStringArgLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5712 if (UNLIKELY(info.Length() < 2)) {
5713 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, info.Length()));
5714 exceptionState.throwIfNeeded();
5717 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5718 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]);
5719 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[1], exceptionState), exceptionState);
5720 impl->voidMethodStringArgLongArg(stringArg, longArg);
5723 static void voidMethodStringArgLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5725 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5726 TestObjectPythonV8Internal::voidMethodStringArgLongArgMethod(info);
5727 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5730 static void voidMethodOptionalStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5732 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5733 if (UNLIKELY(info.Length() <= 0)) {
5734 impl->voidMethodOptionalStringArg();
5737 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, optionalStringArg, info[0]);
5738 impl->voidMethodOptionalStringArg(optionalStringArg);
5741 static void voidMethodOptionalStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5743 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5744 TestObjectPythonV8Internal::voidMethodOptionalStringArgMethod(info);
5745 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5748 static void voidMethodOptionalTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5750 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5751 if (UNLIKELY(info.Length() <= 0)) {
5752 impl->voidMethodOptionalTestInterfaceEmptyArg();
5755 V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
5756 impl->voidMethodOptionalTestInterfaceEmptyArg(optionalTestInterfaceEmptyArg);
5759 static void voidMethodOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5761 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5762 TestObjectPythonV8Internal::voidMethodOptionalTestInterfaceEmptyArgMethod(info);
5763 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5766 static void voidMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5768 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5769 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5770 if (UNLIKELY(info.Length() <= 0)) {
5771 impl->voidMethodOptionalLongArg();
5774 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[0], exceptionState), exceptionState);
5775 impl->voidMethodOptionalLongArg(optionalLongArg);
5778 static void voidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5780 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5781 TestObjectPythonV8Internal::voidMethodOptionalLongArgMethod(info);
5782 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5785 static void stringMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5787 ExceptionState exceptionState(ExceptionState::ExecutionContext, "stringMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5788 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5789 if (UNLIKELY(info.Length() <= 0)) {
5790 v8SetReturnValueString(info, impl->stringMethodOptionalLongArg(), info.GetIsolate());
5793 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[0], exceptionState), exceptionState);
5794 v8SetReturnValueString(info, impl->stringMethodOptionalLongArg(optionalLongArg), info.GetIsolate());
5797 static void stringMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5799 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5800 TestObjectPythonV8Internal::stringMethodOptionalLongArgMethod(info);
5801 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5804 static void testInterfaceEmptyMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5806 ExceptionState exceptionState(ExceptionState::ExecutionContext, "testInterfaceEmptyMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5807 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5808 if (UNLIKELY(info.Length() <= 0)) {
5809 v8SetReturnValue(info, impl->testInterfaceEmptyMethodOptionalLongArg());
5812 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[0], exceptionState), exceptionState);
5813 v8SetReturnValue(info, impl->testInterfaceEmptyMethodOptionalLongArg(optionalLongArg));
5816 static void testInterfaceEmptyMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5818 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5819 TestObjectPythonV8Internal::testInterfaceEmptyMethodOptionalLongArgMethod(info);
5820 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5823 static void longMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5825 ExceptionState exceptionState(ExceptionState::ExecutionContext, "longMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5826 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5827 if (UNLIKELY(info.Length() <= 0)) {
5828 v8SetReturnValueInt(info, impl->longMethodOptionalLongArg());
5831 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[0], exceptionState), exceptionState);
5832 v8SetReturnValueInt(info, impl->longMethodOptionalLongArg(optionalLongArg));
5835 static void longMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5837 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5838 TestObjectPythonV8Internal::longMethodOptionalLongArgMethod(info);
5839 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5842 static void voidMethodLongArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5844 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongArgOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5845 if (UNLIKELY(info.Length() < 1)) {
5846 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5847 exceptionState.throwIfNeeded();
5850 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5851 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
5852 if (UNLIKELY(info.Length() <= 1)) {
5853 impl->voidMethodLongArgOptionalLongArg(longArg);
5856 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[1], exceptionState), exceptionState);
5857 impl->voidMethodLongArgOptionalLongArg(longArg, optionalLongArg);
5860 static void voidMethodLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5862 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5863 TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgMethod(info);
5864 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5867 static void voidMethodLongArgOptionalLongArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5869 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongArgOptionalLongArgOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5870 if (UNLIKELY(info.Length() < 1)) {
5871 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5872 exceptionState.throwIfNeeded();
5875 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5876 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
5877 if (UNLIKELY(info.Length() <= 1)) {
5878 impl->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg);
5881 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg1, toInt32(info[1], exceptionState), exceptionState);
5882 if (UNLIKELY(info.Length() <= 2)) {
5883 impl->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg, optionalLongArg1);
5886 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg2, toInt32(info[2], exceptionState), exceptionState);
5887 impl->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg, optionalLongArg1, optionalLongArg2);
5890 static void voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5892 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5893 TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgOptionalLongArgMethod(info);
5894 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5897 static void voidMethodLongArgOptionalTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5899 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodLongArgOptionalTestInterfaceEmptyArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5900 if (UNLIKELY(info.Length() < 1)) {
5901 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5902 exceptionState.throwIfNeeded();
5905 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5906 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
5907 if (UNLIKELY(info.Length() <= 1)) {
5908 impl->voidMethodLongArgOptionalTestInterfaceEmptyArg(longArg);
5911 V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmpty, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[1]));
5912 impl->voidMethodLongArgOptionalTestInterfaceEmptyArg(longArg, optionalTestInterfaceEmpty);
5915 static void voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5917 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5918 TestObjectPythonV8Internal::voidMethodLongArgOptionalTestInterfaceEmptyArgMethod(info);
5919 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5922 static void voidMethodTestInterfaceEmptyArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5924 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodTestInterfaceEmptyArgOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
5925 if (UNLIKELY(info.Length() < 1)) {
5926 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
5927 exceptionState.throwIfNeeded();
5930 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5931 V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmpty, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
5932 if (UNLIKELY(info.Length() <= 1)) {
5933 impl->voidMethodTestInterfaceEmptyArgOptionalLongArg(optionalTestInterfaceEmpty);
5936 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[1], exceptionState), exceptionState);
5937 impl->voidMethodTestInterfaceEmptyArgOptionalLongArg(optionalTestInterfaceEmpty, longArg);
5940 static void voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5942 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5943 TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgOptionalLongArgMethod(info);
5944 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5947 static void voidMethodOptionalDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5949 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5950 V8TRYCATCH_VOID(Dictionary, optionalDictionaryArg, Dictionary(info[0], info.GetIsolate()));
5951 if (!optionalDictionaryArg.isUndefinedOrNull() && !optionalDictionaryArg.isObject()) {
5952 throwTypeError(ExceptionMessages::failedToExecute("voidMethodOptionalDictionaryArg", "TestObjectPython", "parameter 1 ('optionalDictionaryArg') is not an object."), info.GetIsolate());
5955 impl->voidMethodOptionalDictionaryArg(optionalDictionaryArg);
5958 static void voidMethodOptionalDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5960 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5961 TestObjectPythonV8Internal::voidMethodOptionalDictionaryArgMethod(info);
5962 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5965 static void voidMethodVariadicStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5967 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5968 V8TRYCATCH_VOID(Vector<String>, variadicStringArgs, toNativeArguments<String>(info, 0));
5969 impl->voidMethodVariadicStringArg(variadicStringArgs);
5972 static void voidMethodVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5974 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5975 TestObjectPythonV8Internal::voidMethodVariadicStringArgMethod(info);
5976 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5979 static void voidMethodStringArgVariadicStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
5981 if (UNLIKELY(info.Length() < 1)) {
5982 throwTypeError(ExceptionMessages::failedToExecute("voidMethodStringArgVariadicStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
5985 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
5986 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]);
5987 V8TRYCATCH_VOID(Vector<String>, variadicStringArgs, toNativeArguments<String>(info, 1));
5988 impl->voidMethodStringArgVariadicStringArg(stringArg, variadicStringArgs);
5991 static void voidMethodStringArgVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
5993 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
5994 TestObjectPythonV8Internal::voidMethodStringArgVariadicStringArgMethod(info);
5995 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
5998 static void voidMethodVariadicTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6000 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6001 Vector<RefPtr<TestInterfaceEmpty> > variadicTestInterfaceEmptyArgs;
6002 for (int i = 0; i < info.Length(); ++i) {
6003 if (!V8TestInterfaceEmpty::hasInstance(info[i], info.GetIsolate())) {
6004 throwTypeError(ExceptionMessages::failedToExecute("voidMethodVariadicTestInterfaceEmptyArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceEmpty'."), info.GetIsolate());
6007 variadicTestInterfaceEmptyArgs.append(V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[i])));
6009 impl->voidMethodVariadicTestInterfaceEmptyArg(variadicTestInterfaceEmptyArgs);
6012 static void voidMethodVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6014 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6015 TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethod(info);
6016 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6019 static void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6021 if (UNLIKELY(info.Length() < 1)) {
6022 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6025 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6026 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
6027 Vector<RefPtr<TestInterfaceEmpty> > variadicTestInterfaceEmptyArgs;
6028 for (int i = 1; i < info.Length(); ++i) {
6029 if (!V8TestInterfaceEmpty::hasInstance(info[i], info.GetIsolate())) {
6030 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", "TestObjectPython", "parameter 2 is not of type 'TestInterfaceEmpty'."), info.GetIsolate());
6033 variadicTestInterfaceEmptyArgs.append(V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[i])));
6035 impl->voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg(testInterfaceEmptyArg, variadicTestInterfaceEmptyArgs);
6038 static void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6040 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6041 TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethod(info);
6042 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6045 static void voidMethodVariadicTestInterfaceWillBeGarbageCollectedArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6047 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6048 WillBeHeapVector<RefPtrWillBeMember<TestInterfaceWillBeGarbageCollected> > variadicTestInterfaceWillBeGarbageCollectedArg;
6049 for (int i = 0; i < info.Length(); ++i) {
6050 if (!V8TestInterfaceWillBeGarbageCollected::hasInstance(info[i], info.GetIsolate())) {
6051 throwTypeError(ExceptionMessages::failedToExecute("voidMethodVariadicTestInterfaceWillBeGarbageCollectedArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceWillBeGarbageCollected'."), info.GetIsolate());
6054 variadicTestInterfaceWillBeGarbageCollectedArg.append(V8TestInterfaceWillBeGarbageCollected::toNative(v8::Handle<v8::Object>::Cast(info[i])));
6056 impl->voidMethodVariadicTestInterfaceWillBeGarbageCollectedArg(variadicTestInterfaceWillBeGarbageCollectedArg);
6059 static void voidMethodVariadicTestInterfaceWillBeGarbageCollectedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6061 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6062 TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceWillBeGarbageCollectedArgMethod(info);
6063 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6066 static void overloadedMethodA1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6068 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodA", "TestObjectPython", info.Holder(), info.GetIsolate());
6069 if (UNLIKELY(info.Length() < 1)) {
6070 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6071 exceptionState.throwIfNeeded();
6074 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6075 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6076 impl->overloadedMethodA(longArg);
6079 static void overloadedMethodA2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6081 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodA", "TestObjectPython", info.Holder(), info.GetIsolate());
6082 if (UNLIKELY(info.Length() < 2)) {
6083 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, info.Length()));
6084 exceptionState.throwIfNeeded();
6087 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6088 V8TRYCATCH_EXCEPTION_VOID(int, longArg1, toInt32(info[0], exceptionState), exceptionState);
6089 V8TRYCATCH_EXCEPTION_VOID(int, longArg2, toInt32(info[1], exceptionState), exceptionState);
6090 impl->overloadedMethodA(longArg1, longArg2);
6093 static void overloadedMethodAMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6095 if (((info.Length() == 1))) {
6096 overloadedMethodA1Method(info);
6099 if (((info.Length() == 2))) {
6100 overloadedMethodA2Method(info);
6103 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodA", "TestObjectPython", info.Holder(), info.GetIsolate());
6104 if (UNLIKELY(info.Length() < 1)) {
6105 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6106 exceptionState.throwIfNeeded();
6109 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6110 exceptionState.throwIfNeeded();
6113 static void overloadedMethodAMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6115 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6116 TestObjectPythonV8Internal::overloadedMethodAMethod(info);
6117 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6120 static void overloadedMethodB1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6122 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodB", "TestObjectPython", info.Holder(), info.GetIsolate());
6123 if (UNLIKELY(info.Length() < 1)) {
6124 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6125 exceptionState.throwIfNeeded();
6128 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6129 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6130 impl->overloadedMethodB(longArg);
6133 static void overloadedMethodB2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6135 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodB", "TestObjectPython", info.Holder(), info.GetIsolate());
6136 if (UNLIKELY(info.Length() < 1)) {
6137 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6138 exceptionState.throwIfNeeded();
6141 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6142 V8TRYCATCH_EXCEPTION_VOID(int, longArg1, toInt32(info[0], exceptionState), exceptionState);
6143 if (UNLIKELY(info.Length() <= 1)) {
6144 impl->overloadedMethodB(longArg1);
6147 V8TRYCATCH_EXCEPTION_VOID(int, longArg2, toInt32(info[1], exceptionState), exceptionState);
6148 impl->overloadedMethodB(longArg1, longArg2);
6151 static void overloadedMethodBMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6153 if (((info.Length() == 1))) {
6154 overloadedMethodB1Method(info);
6157 if (((info.Length() == 1)) || ((info.Length() == 2))) {
6158 overloadedMethodB2Method(info);
6161 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodB", "TestObjectPython", info.Holder(), info.GetIsolate());
6162 if (UNLIKELY(info.Length() < 1)) {
6163 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6164 exceptionState.throwIfNeeded();
6167 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6168 exceptionState.throwIfNeeded();
6171 static void overloadedMethodBMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6173 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6174 TestObjectPythonV8Internal::overloadedMethodBMethod(info);
6175 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6178 static void overloadedMethodC1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6180 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodC", "TestObjectPython", info.Holder(), info.GetIsolate());
6181 if (UNLIKELY(info.Length() < 1)) {
6182 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6183 exceptionState.throwIfNeeded();
6186 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6187 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6188 impl->overloadedMethodC(longArg);
6191 static void overloadedMethodC2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6193 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodC", "TestObjectPython", info.Holder(), info.GetIsolate());
6194 if (UNLIKELY(info.Length() < 1)) {
6195 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6196 exceptionState.throwIfNeeded();
6199 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6200 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6201 V8TRYCATCH_VOID(Vector<int>, longArgs, toNativeArguments<int>(info, 1));
6202 impl->overloadedMethodC(longArg, longArgs);
6205 static void overloadedMethodCMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6207 if (((info.Length() == 1))) {
6208 overloadedMethodC1Method(info);
6212 overloadedMethodC2Method(info);
6215 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodC", "TestObjectPython", info.Holder(), info.GetIsolate());
6216 if (UNLIKELY(info.Length() < 1)) {
6217 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6218 exceptionState.throwIfNeeded();
6221 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6222 exceptionState.throwIfNeeded();
6225 static void overloadedMethodCMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6227 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6228 TestObjectPythonV8Internal::overloadedMethodCMethod(info);
6229 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6232 static void overloadedMethodD1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6234 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodD", "TestObjectPython", info.Holder(), info.GetIsolate());
6235 if (UNLIKELY(info.Length() < 1)) {
6236 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6237 exceptionState.throwIfNeeded();
6240 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6241 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6242 impl->overloadedMethodD(longArg);
6245 static void overloadedMethodD2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6247 if (UNLIKELY(info.Length() < 1)) {
6248 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodD", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6251 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6252 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
6253 impl->overloadedMethodD(testInterfaceEmptyArg);
6256 static void overloadedMethodDMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6258 if (((info.Length() == 1))) {
6259 overloadedMethodD1Method(info);
6262 if (((info.Length() == 1) && (V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate())))) {
6263 overloadedMethodD2Method(info);
6266 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodD", "TestObjectPython", info.Holder(), info.GetIsolate());
6267 if (UNLIKELY(info.Length() < 1)) {
6268 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6269 exceptionState.throwIfNeeded();
6272 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6273 exceptionState.throwIfNeeded();
6276 static void overloadedMethodDMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6278 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6279 TestObjectPythonV8Internal::overloadedMethodDMethod(info);
6280 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6283 static void overloadedMethodE1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6285 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodE", "TestObjectPython", info.Holder(), info.GetIsolate());
6286 if (UNLIKELY(info.Length() < 1)) {
6287 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6288 exceptionState.throwIfNeeded();
6291 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6292 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6293 impl->overloadedMethodE(longArg);
6296 static void overloadedMethodE2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6298 if (UNLIKELY(info.Length() < 1)) {
6299 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodE", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6302 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6303 V8TRYCATCH_VOID(Vector<int>, longArrayArg, toNativeArray<int>(info[0], 1, info.GetIsolate()));
6304 impl->overloadedMethodE(longArrayArg);
6307 static void overloadedMethodEMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6309 if (((info.Length() == 1))) {
6310 overloadedMethodE1Method(info);
6313 if (((info.Length() == 1) && (info[0]->IsArray()))) {
6314 overloadedMethodE2Method(info);
6317 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodE", "TestObjectPython", info.Holder(), info.GetIsolate());
6318 if (UNLIKELY(info.Length() < 1)) {
6319 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6320 exceptionState.throwIfNeeded();
6323 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6324 exceptionState.throwIfNeeded();
6327 static void overloadedMethodEMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6329 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6330 TestObjectPythonV8Internal::overloadedMethodEMethod(info);
6331 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6334 static void overloadedMethodF1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6336 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodF", "TestObjectPython", info.Holder(), info.GetIsolate());
6337 if (UNLIKELY(info.Length() < 1)) {
6338 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6339 exceptionState.throwIfNeeded();
6342 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6343 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6344 impl->overloadedMethodF(longArg);
6347 static void overloadedMethodF2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6349 if (UNLIKELY(info.Length() < 1)) {
6350 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodF", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6353 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6354 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyNullableArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
6355 impl->overloadedMethodF(testInterfaceEmptyNullableArg);
6358 static void overloadedMethodFMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6360 if (((info.Length() == 1))) {
6361 overloadedMethodF1Method(info);
6364 if (((info.Length() == 1) && (info[0]->IsNull() || V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate())))) {
6365 overloadedMethodF2Method(info);
6368 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodF", "TestObjectPython", info.Holder(), info.GetIsolate());
6369 if (UNLIKELY(info.Length() < 1)) {
6370 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6371 exceptionState.throwIfNeeded();
6374 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6375 exceptionState.throwIfNeeded();
6378 static void overloadedMethodFMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6380 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6381 TestObjectPythonV8Internal::overloadedMethodFMethod(info);
6382 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6385 static void overloadedMethodG1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6387 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6388 impl->overloadedMethodG();
6391 static void overloadedMethodG2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6393 if (UNLIKELY(info.Length() < 1)) {
6394 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodG", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6397 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6398 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strictTypeCheckingStringArg, info[0]);
6399 impl->overloadedMethodG(strictTypeCheckingStringArg);
6402 static void overloadedMethodGMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6404 if (((info.Length() == 0))) {
6405 overloadedMethodG1Method(info);
6408 if (((info.Length() == 1) && (isUndefinedOrNull(info[0]) || info[0]->IsString() || info[0]->IsObject()))) {
6409 overloadedMethodG2Method(info);
6412 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodG", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate());
6415 static void overloadedMethodGMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6417 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6418 TestObjectPythonV8Internal::overloadedMethodGMethod(info);
6419 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6422 static void overloadedMethodH1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6424 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6425 impl->overloadedMethodH();
6428 static void overloadedMethodH2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6430 if (UNLIKELY(info.Length() < 1)) {
6431 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodH", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6434 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6435 if (info.Length() <= 0 || !info[0]->IsFunction()) {
6436 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodH", "TestObjectPython", "The callback provided as parameter 1 is not a function."), info.GetIsolate());
6439 OwnPtr<TestCallbackInterface> testCallbackInterfaceArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
6440 impl->overloadedMethodH(testCallbackInterfaceArg.release());
6443 static void overloadedMethodHMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6445 if (((info.Length() == 0))) {
6446 overloadedMethodH1Method(info);
6449 if (((info.Length() == 1) && (info[0]->IsNull() || info[0]->IsFunction()))) {
6450 overloadedMethodH2Method(info);
6453 throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodH", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate());
6456 static void overloadedMethodHMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6458 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6459 TestObjectPythonV8Internal::overloadedMethodHMethod(info);
6460 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6463 static void overloadedPerWorldBindingsMethod1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6465 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6466 impl->overloadedPerWorldBindingsMethod();
6469 static void overloadedPerWorldBindingsMethod1MethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
6471 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6472 impl->overloadedPerWorldBindingsMethod();
6475 static void overloadedPerWorldBindingsMethod2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6477 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedPerWorldBindingsMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
6478 if (UNLIKELY(info.Length() < 1)) {
6479 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6480 exceptionState.throwIfNeeded();
6483 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6484 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6485 impl->overloadedPerWorldBindingsMethod(longArg);
6488 static void overloadedPerWorldBindingsMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6490 if (((info.Length() == 0))) {
6491 overloadedPerWorldBindingsMethod1Method(info);
6494 if (((info.Length() == 1))) {
6495 overloadedPerWorldBindingsMethod2Method(info);
6498 throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate());
6501 static void overloadedPerWorldBindingsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6503 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6504 TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethod(info);
6505 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6508 static void overloadedPerWorldBindingsMethod2MethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
6510 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedPerWorldBindingsMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
6511 if (UNLIKELY(info.Length() < 1)) {
6512 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6513 exceptionState.throwIfNeeded();
6516 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6517 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6518 impl->overloadedPerWorldBindingsMethod(longArg);
6521 static void overloadedPerWorldBindingsMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
6523 if (((info.Length() == 0))) {
6524 overloadedPerWorldBindingsMethod1MethodForMainWorld(info);
6527 if (((info.Length() == 1))) {
6528 overloadedPerWorldBindingsMethod2MethodForMainWorld(info);
6531 throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate());
6534 static void overloadedPerWorldBindingsMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
6536 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6537 TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodForMainWorld(info);
6538 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6541 static void overloadedStaticMethod1Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6543 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedStaticMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
6544 if (UNLIKELY(info.Length() < 1)) {
6545 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6546 exceptionState.throwIfNeeded();
6549 V8TRYCATCH_EXCEPTION_VOID(int, longArg, toInt32(info[0], exceptionState), exceptionState);
6550 TestObjectPython::overloadedStaticMethod(longArg);
6553 static void overloadedStaticMethod2Method(const v8::FunctionCallbackInfo<v8::Value>& info)
6555 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedStaticMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
6556 if (UNLIKELY(info.Length() < 2)) {
6557 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(2, info.Length()));
6558 exceptionState.throwIfNeeded();
6561 V8TRYCATCH_EXCEPTION_VOID(int, longArg1, toInt32(info[0], exceptionState), exceptionState);
6562 V8TRYCATCH_EXCEPTION_VOID(int, longArg2, toInt32(info[1], exceptionState), exceptionState);
6563 TestObjectPython::overloadedStaticMethod(longArg1, longArg2);
6566 static void overloadedStaticMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6568 if (((info.Length() == 1))) {
6569 overloadedStaticMethod1Method(info);
6572 if (((info.Length() == 2))) {
6573 overloadedStaticMethod2Method(info);
6576 ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedStaticMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
6577 if (UNLIKELY(info.Length() < 1)) {
6578 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6579 exceptionState.throwIfNeeded();
6582 exceptionState.throwTypeError("No function was found that matched the signature provided.");
6583 exceptionState.throwIfNeeded();
6586 static void overloadedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6588 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6589 TestObjectPythonV8Internal::overloadedStaticMethodMethod(info);
6590 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6593 static void voidMethodClampUnsignedShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6595 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodClampUnsignedShortArg", "TestObjectPython", info.Holder(), info.GetIsolate());
6596 if (UNLIKELY(info.Length() < 1)) {
6597 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6598 exceptionState.throwIfNeeded();
6601 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6602 unsigned clampUnsignedShortArg = 0;
6603 V8TRYCATCH_VOID(double, clampUnsignedShortArgNativeValue, info[0]->NumberValue());
6604 if (!std::isnan(clampUnsignedShortArgNativeValue))
6605 clampUnsignedShortArg = clampTo<unsigned short>(clampUnsignedShortArgNativeValue);
6606 impl->voidMethodClampUnsignedShortArg(clampUnsignedShortArg);
6609 static void voidMethodClampUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6611 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6612 TestObjectPythonV8Internal::voidMethodClampUnsignedShortArgMethod(info);
6613 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6616 static void voidMethodClampUnsignedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6618 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodClampUnsignedLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
6619 if (UNLIKELY(info.Length() < 1)) {
6620 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6621 exceptionState.throwIfNeeded();
6624 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6625 unsigned clampUnsignedLongArg = 0;
6626 V8TRYCATCH_VOID(double, clampUnsignedLongArgNativeValue, info[0]->NumberValue());
6627 if (!std::isnan(clampUnsignedLongArgNativeValue))
6628 clampUnsignedLongArg = clampTo<unsigned long>(clampUnsignedLongArgNativeValue);
6629 impl->voidMethodClampUnsignedLongArg(clampUnsignedLongArg);
6632 static void voidMethodClampUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6634 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6635 TestObjectPythonV8Internal::voidMethodClampUnsignedLongArgMethod(info);
6636 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6639 static void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6641 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6642 V8TRYCATCH_VOID(TestInterfaceEmpty*, defaultUndefinedTestInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
6643 impl->voidMethodDefaultUndefinedTestInterfaceEmptyArg(defaultUndefinedTestInterfaceEmptyArg);
6646 static void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6648 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6649 TestObjectPythonV8Internal::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethod(info);
6650 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6653 static void voidMethodDefaultUndefinedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6655 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodDefaultUndefinedLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
6656 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6657 V8TRYCATCH_EXCEPTION_VOID(int, defaultUndefinedLongArg, toInt32(info[0], exceptionState), exceptionState);
6658 impl->voidMethodDefaultUndefinedLongArg(defaultUndefinedLongArg);
6661 static void voidMethodDefaultUndefinedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6663 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6664 TestObjectPythonV8Internal::voidMethodDefaultUndefinedLongArgMethod(info);
6665 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6668 static void voidMethodDefaultUndefinedStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6670 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6671 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, defaultUndefinedStringArg, info[0]);
6672 impl->voidMethodDefaultUndefinedStringArg(defaultUndefinedStringArg);
6675 static void voidMethodDefaultUndefinedStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6677 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6678 TestObjectPythonV8Internal::voidMethodDefaultUndefinedStringArgMethod(info);
6679 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6682 static void voidMethodDefaultNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6684 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6685 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, defaultNullStringStringArg, argumentOrNull(info, 0));
6686 impl->voidMethodDefaultNullStringStringArg(defaultNullStringStringArg);
6689 static void voidMethodDefaultNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6691 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6692 TestObjectPythonV8Internal::voidMethodDefaultNullStringStringArgMethod(info);
6693 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6696 static void voidMethodEnforceRangeLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6698 ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodEnforceRangeLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
6699 if (UNLIKELY(info.Length() < 1)) {
6700 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
6701 exceptionState.throwIfNeeded();
6704 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6705 V8TRYCATCH_EXCEPTION_VOID(int, enforceRangeLongArg, toInt32(info[0], EnforceRange, exceptionState), exceptionState);
6706 impl->voidMethodEnforceRangeLongArg(enforceRangeLongArg);
6709 static void voidMethodEnforceRangeLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6711 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6712 TestObjectPythonV8Internal::voidMethodEnforceRangeLongArgMethod(info);
6713 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6716 static void voidMethodTreatNullAsNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6718 if (UNLIKELY(info.Length() < 1)) {
6719 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTreatNullAsNullStringStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6722 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6723 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, treatNullAsNullStringStringArg, info[0]);
6724 impl->voidMethodTreatNullAsNullStringStringArg(treatNullAsNullStringStringArg);
6727 static void voidMethodTreatNullAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6729 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6730 TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringStringArgMethod(info);
6731 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6734 static void voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6736 if (UNLIKELY(info.Length() < 1)) {
6737 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
6740 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6741 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullCheck>, treatNullAsNullStringStringArg, info[0]);
6742 impl->voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg(treatNullAsNullStringStringArg);
6745 static void voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6747 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6748 TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethod(info);
6749 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6752 static void activityLoggingAccessForAllWorldsMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6754 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6755 impl->activityLoggingAccessForAllWorldsMethod();
6758 static void activityLoggingAccessForAllWorldsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6760 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6761 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
6762 if (contextData && contextData->activityLogger()) {
6763 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0);
6764 contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsMethod", info.Length(), loggerArgs.data(), "Method");
6766 TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsMethodMethod(info);
6767 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6770 static void callWithScriptStateVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6772 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6773 ScriptState* currentState = ScriptState::current();
6776 ScriptState& state = *currentState;
6777 impl->callWithScriptStateVoidMethod(&state);
6778 if (state.hadException()) {
6779 v8::Local<v8::Value> exception = state.exception();
6780 state.clearException();
6781 throwError(exception, info.GetIsolate());
6786 static void callWithScriptStateVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6788 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6789 TestObjectPythonV8Internal::callWithScriptStateVoidMethodMethod(info);
6790 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6793 static void callWithScriptStateLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6795 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6796 ScriptState* currentState = ScriptState::current();
6799 ScriptState& state = *currentState;
6800 int result = impl->callWithScriptStateLongMethod(&state);
6801 if (state.hadException()) {
6802 v8::Local<v8::Value> exception = state.exception();
6803 state.clearException();
6804 throwError(exception, info.GetIsolate());
6807 v8SetReturnValueInt(info, result);
6810 static void callWithScriptStateLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6812 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6813 TestObjectPythonV8Internal::callWithScriptStateLongMethodMethod(info);
6814 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6817 static void callWithExecutionContextVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6819 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6820 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate());
6821 impl->callWithExecutionContextVoidMethod(scriptContext);
6824 static void callWithExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6826 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6827 TestObjectPythonV8Internal::callWithExecutionContextVoidMethodMethod(info);
6828 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6831 static void callWithScriptStateExecutionContextVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6833 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6834 ScriptState* currentState = ScriptState::current();
6837 ScriptState& state = *currentState;
6838 ExecutionContext* scriptContext = currentExecutionContext(info.GetIsolate());
6839 impl->callWithScriptStateExecutionContextVoidMethod(&state, scriptContext);
6840 if (state.hadException()) {
6841 v8::Local<v8::Value> exception = state.exception();
6842 state.clearException();
6843 throwError(exception, info.GetIsolate());
6848 static void callWithScriptStateExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6850 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6851 TestObjectPythonV8Internal::callWithScriptStateExecutionContextVoidMethodMethod(info);
6852 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6855 static void callWithScriptStateScriptArgumentsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6857 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6858 ScriptState* currentState = ScriptState::current();
6861 ScriptState& state = *currentState;
6862 RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 0));
6863 impl->callWithScriptStateScriptArgumentsVoidMethod(&state, scriptArguments.release());
6864 if (state.hadException()) {
6865 v8::Local<v8::Value> exception = state.exception();
6866 state.clearException();
6867 throwError(exception, info.GetIsolate());
6872 static void callWithScriptStateScriptArgumentsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6874 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6875 TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodMethod(info);
6876 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6879 static void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6881 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6882 if (UNLIKELY(info.Length() <= 0)) {
6883 ScriptState* currentState = ScriptState::current();
6886 ScriptState& state = *currentState;
6887 RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 1));
6888 impl->callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(&state, scriptArguments.release());
6889 if (state.hadException()) {
6890 v8::Local<v8::Value> exception = state.exception();
6891 state.clearException();
6892 throwError(exception, info.GetIsolate());
6897 V8TRYCATCH_VOID(bool, optionalBooleanArg, info[0]->BooleanValue());
6898 ScriptState* currentState = ScriptState::current();
6901 ScriptState& state = *currentState;
6902 RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 1));
6903 impl->callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(&state, scriptArguments.release(), optionalBooleanArg);
6904 if (state.hadException()) {
6905 v8::Local<v8::Value> exception = state.exception();
6906 state.clearException();
6907 throwError(exception, info.GetIsolate());
6912 static void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6914 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6915 TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethod(info);
6916 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6919 static void callWithActiveWindowMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6921 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6922 impl->callWithActiveWindow(callingDOMWindow(info.GetIsolate()));
6925 static void callWithActiveWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6927 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6928 TestObjectPythonV8Internal::callWithActiveWindowMethod(info);
6929 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6932 static void callWithActiveWindowScriptWindowMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6934 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6935 impl->callWithActiveWindowScriptWindow(callingDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()));
6938 static void callWithActiveWindowScriptWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6940 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6941 TestObjectPythonV8Internal::callWithActiveWindowScriptWindowMethod(info);
6942 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6945 static void checkSecurityForNodeVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6947 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6948 if (!BindingSecurity::shouldAllowAccessToNode(info.GetIsolate(), impl->checkSecurityForNodeVoidMethod(exceptionState), exceptionState)) {
6949 v8SetReturnValueNull(info);
6950 exceptionState.throwIfNeeded();
6953 impl->checkSecurityForNodeVoidMethod();
6956 static void checkSecurityForNodeVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6958 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6959 TestObjectPythonV8Internal::checkSecurityForNodeVoidMethodMethod(info);
6960 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6963 #if ENABLE(CONDITION)
6964 static void conditionalConditionVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6966 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6967 impl->conditionalConditionVoidMethod();
6969 #endif // ENABLE(CONDITION)
6971 #if ENABLE(CONDITION)
6972 static void conditionalConditionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6974 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6975 TestObjectPythonV8Internal::conditionalConditionVoidMethodMethod(info);
6976 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6978 #endif // ENABLE(CONDITION)
6980 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
6981 static void conditionalCondition1AndCondition2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
6983 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
6984 impl->conditionalCondition1AndCondition2VoidMethod();
6986 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
6988 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
6989 static void conditionalCondition1AndCondition2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
6991 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
6992 TestObjectPythonV8Internal::conditionalCondition1AndCondition2VoidMethodMethod(info);
6993 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
6995 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
6997 #if ENABLE(CONDITION)
6998 static void conditionalConditionStaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7000 TestObjectPython::conditionalConditionStaticVoidMethod();
7002 #endif // ENABLE(CONDITION)
7004 #if ENABLE(CONDITION)
7005 static void conditionalConditionStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7007 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7008 TestObjectPythonV8Internal::conditionalConditionStaticVoidMethodMethod(info);
7009 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7011 #endif // ENABLE(CONDITION)
7013 static void customVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7015 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7016 V8TestObjectPython::customVoidMethodMethodCustom(info);
7017 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7020 #if ENABLE(CONDITION)
7021 static void conditionalConditionCustomVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7023 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7024 V8TestObjectPython::conditionalConditionCustomVoidMethodMethodCustom(info);
7025 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7027 #endif // ENABLE(CONDITION)
7029 static void customElementCallbacksVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7031 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7032 CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;
7033 impl->customElementCallbacksVoidMethod();
7036 static void customElementCallbacksVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7038 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7039 TestObjectPythonV8Internal::customElementCallbacksVoidMethodMethod(info);
7040 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7043 static void deprecatedVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7045 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7046 impl->deprecatedVoidMethod();
7049 static void deprecatedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7051 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7052 UseCounter::countDeprecation(callingExecutionContext(info.GetIsolate()), UseCounter::voidMethod);
7053 TestObjectPythonV8Internal::deprecatedVoidMethodMethod(info);
7054 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7057 static void doNotCheckSignatureVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7059 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7060 impl->doNotCheckSignatureVoidMethod();
7063 static void doNotCheckSignatureVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7065 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7066 TestObjectPythonV8Internal::doNotCheckSignatureVoidMethodMethod(info);
7067 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7070 static void implementedAsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7072 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7073 impl->implementedAsMethodName();
7076 static void implementedAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7078 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7079 TestObjectPythonV8Internal::implementedAsVoidMethodMethod(info);
7080 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7083 static void measureAsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7085 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7086 impl->measureAsVoidMethod();
7089 static void measureAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7091 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7092 UseCounter::count(callingExecutionContext(info.GetIsolate()), UseCounter::TestFeature);
7093 TestObjectPythonV8Internal::measureAsVoidMethodMethod(info);
7094 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7097 static void notEnumerableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7099 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7100 impl->notEnumerableVoidMethod();
7103 static void notEnumerableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7105 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7106 TestObjectPythonV8Internal::notEnumerableVoidMethodMethod(info);
7107 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7110 static void perContextEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7112 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7113 impl->perContextEnabledVoidMethod();
7116 static void perContextEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7118 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7119 TestObjectPythonV8Internal::perContextEnabledVoidMethodMethod(info);
7120 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7123 static void perWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7125 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7126 impl->perWorldBindingsVoidMethod();
7129 static void perWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7131 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7132 TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethod(info);
7133 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7136 static void perWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7138 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7139 impl->perWorldBindingsVoidMethod();
7142 static void perWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7144 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7145 TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodForMainWorld(info);
7146 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7149 static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7151 if (UNLIKELY(info.Length() < 1)) {
7152 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7155 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7156 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
7157 impl->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg);
7160 static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7162 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7163 TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethod(info);
7164 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7167 static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7169 if (UNLIKELY(info.Length() < 1)) {
7170 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7173 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7174 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
7175 impl->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg);
7178 static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7180 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7181 TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodForMainWorld(info);
7182 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7185 static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7187 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7188 impl->activityLoggingForAllWorldsPerWorldBindingsVoidMethod();
7191 static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7193 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7194 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
7195 if (contextData && contextData->activityLogger()) {
7196 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0);
7197 contextData->activityLogger()->log("TestObjectPython.activityLoggingForAllWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method");
7199 TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethod(info);
7200 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7203 static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7205 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7206 impl->activityLoggingForAllWorldsPerWorldBindingsVoidMethod();
7209 static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7211 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7212 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
7213 if (contextData && contextData->activityLogger()) {
7214 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0);
7215 contextData->activityLogger()->log("TestObjectPython.activityLoggingForAllWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method");
7217 TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodForMainWorld(info);
7218 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7221 static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7223 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7224 impl->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod();
7227 static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7229 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7230 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext());
7231 if (contextData && contextData->activityLogger()) {
7232 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0);
7233 contextData->activityLogger()->log("TestObjectPython.activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method");
7235 TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethod(info);
7236 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7239 static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7241 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7242 impl->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod();
7245 static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7247 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7248 TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodForMainWorld(info);
7249 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7252 static void raisesExceptionVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7254 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
7255 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7256 impl->raisesExceptionVoidMethod(exceptionState);
7257 if (exceptionState.throwIfNeeded())
7261 static void raisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7263 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7264 TestObjectPythonV8Internal::raisesExceptionVoidMethodMethod(info);
7265 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7268 static void raisesExceptionStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7270 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionStringMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
7271 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7272 String result = impl->raisesExceptionStringMethod(exceptionState);
7273 if (exceptionState.throwIfNeeded())
7275 v8SetReturnValueString(info, result, info.GetIsolate());
7278 static void raisesExceptionStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7280 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7281 TestObjectPythonV8Internal::raisesExceptionStringMethodMethod(info);
7282 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7285 static void raisesExceptionVoidMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7287 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate());
7288 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7289 if (UNLIKELY(info.Length() <= 0)) {
7290 impl->raisesExceptionVoidMethodOptionalLongArg(exceptionState);
7291 if (exceptionState.throwIfNeeded())
7295 V8TRYCATCH_EXCEPTION_VOID(int, optionalLongArg, toInt32(info[0], exceptionState), exceptionState);
7296 impl->raisesExceptionVoidMethodOptionalLongArg(optionalLongArg, exceptionState);
7297 if (exceptionState.throwIfNeeded())
7301 static void raisesExceptionVoidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7303 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7304 TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalLongArgMethod(info);
7305 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7308 static void raisesExceptionVoidMethodTestCallbackInterfaceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7310 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethodTestCallbackInterfaceArg", "TestObjectPython", info.Holder(), info.GetIsolate());
7311 if (UNLIKELY(info.Length() < 1)) {
7312 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length()));
7313 exceptionState.throwIfNeeded();
7316 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7317 if (info.Length() <= 0 || !info[0]->IsFunction()) {
7318 exceptionState.throwTypeError("The callback provided as parameter 1 is not a function.");
7319 exceptionState.throwIfNeeded();
7322 OwnPtr<TestCallbackInterface> testCallbackInterfaceArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
7323 impl->raisesExceptionVoidMethodTestCallbackInterfaceArg(testCallbackInterfaceArg.release(), exceptionState);
7324 if (exceptionState.throwIfNeeded())
7328 static void raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7330 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7331 TestObjectPythonV8Internal::raisesExceptionVoidMethodTestCallbackInterfaceArgMethod(info);
7332 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7335 static void raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7337 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg", "TestObjectPython", info.Holder(), info.GetIsolate());
7338 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7339 OwnPtr<TestCallbackInterface> optionalTestCallbackInterfaceArg;
7340 if (info.Length() > 0 && !isUndefinedOrNull(info[0])) {
7341 if (!info[0]->IsFunction()) {
7342 exceptionState.throwTypeError("The callback provided as parameter 1 is not a function.");
7343 exceptionState.throwIfNeeded();
7346 optionalTestCallbackInterfaceArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), currentExecutionContext(info.GetIsolate()));
7348 impl->raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg(optionalTestCallbackInterfaceArg.release(), exceptionState);
7349 if (exceptionState.throwIfNeeded())
7353 static void raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7355 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7356 TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethod(info);
7357 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7360 static void raisesExceptionTestInterfaceEmptyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7362 ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionTestInterfaceEmptyVoidMethod", "TestObjectPython", info.Holder(), info.GetIsolate());
7363 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7364 RefPtr<TestInterfaceEmpty> result = impl->raisesExceptionTestInterfaceEmptyVoidMethod(exceptionState);
7365 if (exceptionState.throwIfNeeded())
7367 v8SetReturnValue(info, result.release());
7370 static void raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7372 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7373 TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyVoidMethodMethod(info);
7374 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7377 static void readOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7379 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7380 impl->readOnlyVoidMethod();
7383 static void readOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7385 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7386 TestObjectPythonV8Internal::readOnlyVoidMethodMethod(info);
7387 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7390 static void notEnumerableReadOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7392 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7393 impl->notEnumerableReadOnlyVoidMethod();
7396 static void notEnumerableReadOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7398 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7399 TestObjectPythonV8Internal::notEnumerableReadOnlyVoidMethodMethod(info);
7400 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7403 static void runtimeEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7405 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7406 impl->runtimeEnabledVoidMethod();
7409 static void runtimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7411 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7412 TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethod(info);
7413 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7416 static void perWorldBindingsRuntimeEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7418 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7419 impl->perWorldBindingsRuntimeEnabledVoidMethod();
7422 static void perWorldBindingsRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7424 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7425 TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethod(info);
7426 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7429 static void perWorldBindingsRuntimeEnabledVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7431 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7432 impl->perWorldBindingsRuntimeEnabledVoidMethod();
7435 static void perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
7437 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7438 TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodForMainWorld(info);
7439 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7442 static void strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7444 if (UNLIKELY(info.Length() < 1)) {
7445 throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7448 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7449 if (info.Length() > 0 && !V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate())) {
7450 throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceEmpty'."), info.GetIsolate());
7453 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
7454 impl->strictTypeCheckingVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg);
7457 static void strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7459 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7460 TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethod(info);
7461 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7464 static void strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7466 if (UNLIKELY(info.Length() < 1)) {
7467 throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7470 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7471 if (info.Length() > 0 && !isUndefinedOrNull(info[0]) && !V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate())) {
7472 throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceEmpty'."), info.GetIsolate());
7475 V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::toNativeWithTypeCheck(info.GetIsolate(), info[0]));
7476 impl->strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArg(testInterfaceEmptyArg);
7479 static void strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7481 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7482 TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArgMethod(info);
7483 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7486 static void treatReturnedNullStringAsNullStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7488 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7489 v8SetReturnValueStringOrNull(info, impl->treatReturnedNullStringAsNullStringMethod(), info.GetIsolate());
7492 static void treatReturnedNullStringAsNullStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7494 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7495 TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringMethodMethod(info);
7496 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7499 static void treatReturnedNullStringAsUndefinedStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7501 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7502 v8SetReturnValueStringOrUndefined(info, impl->treatReturnedNullStringAsUndefinedStringMethod(), info.GetIsolate());
7505 static void treatReturnedNullStringAsUndefinedStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7507 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7508 TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethod(info);
7509 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7512 static void unforgeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7514 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7515 impl->unforgeableVoidMethod();
7518 static void unforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7520 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7521 TestObjectPythonV8Internal::unforgeableVoidMethodMethod(info);
7522 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7525 static void voidMethodTestInterfaceWillBeGarbageCollectedSequenceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7527 if (UNLIKELY(info.Length() < 1)) {
7528 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceWillBeGarbageCollectedSequenceArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7531 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7532 V8TRYCATCH_VOID(WillBeHeapVector<RefPtrWillBeMember<TestInterfaceWillBeGarbageCollected> >, testInterfaceWillBeGarbageCollectedSequenceArg, (toMemberNativeArray<TestInterfaceWillBeGarbageCollected, V8TestInterfaceWillBeGarbageCollected>(info[0], 1, info.GetIsolate())));
7533 impl->voidMethodTestInterfaceWillBeGarbageCollectedSequenceArg(testInterfaceWillBeGarbageCollectedSequenceArg);
7536 static void voidMethodTestInterfaceWillBeGarbageCollectedSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7538 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7539 TestObjectPythonV8Internal::voidMethodTestInterfaceWillBeGarbageCollectedSequenceArgMethod(info);
7540 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7543 static void voidMethodTestInterfaceWillBeGarbageCollectedArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
7545 if (UNLIKELY(info.Length() < 1)) {
7546 throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceWillBeGarbageCollectedArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate());
7549 TestObjectPython* impl = V8TestObjectPython::toNative(info.Holder());
7550 V8TRYCATCH_VOID(WillBeHeapVector<RefPtrWillBeMember<TestInterfaceWillBeGarbageCollected> >, testInterfaceWillBeGarbageCollectedArrayArg, (toMemberNativeArray<TestInterfaceWillBeGarbageCollected, V8TestInterfaceWillBeGarbageCollected>(info[0], 1, info.GetIsolate())));
7551 impl->voidMethodTestInterfaceWillBeGarbageCollectedArrayArg(testInterfaceWillBeGarbageCollectedArrayArg);
7554 static void voidMethodTestInterfaceWillBeGarbageCollectedArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
7556 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
7557 TestObjectPythonV8Internal::voidMethodTestInterfaceWillBeGarbageCollectedArrayArgMethod(info);
7558 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
7561 } // namespace TestObjectPythonV8Internal
7563 static const V8DOMConfiguration::AttributeConfiguration V8TestObjectPythonAttributes[] = {
7564 {"readonlyStringAttribute", TestObjectPythonV8Internal::readonlyStringAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7565 {"readonlyTestInterfaceEmptyAttribute", TestObjectPythonV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7566 {"readonlyLongAttribute", TestObjectPythonV8Internal::readonlyLongAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7567 {"dateAttribute", TestObjectPythonV8Internal::dateAttributeAttributeGetterCallback, TestObjectPythonV8Internal::dateAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7568 {"stringAttribute", TestObjectPythonV8Internal::stringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::stringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7569 {"readonlyDOMTimeStampAttribute", TestObjectPythonV8Internal::readonlyDOMTimeStampAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7570 {"booleanAttribute", TestObjectPythonV8Internal::booleanAttributeAttributeGetterCallback, TestObjectPythonV8Internal::booleanAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7571 {"byteAttribute", TestObjectPythonV8Internal::byteAttributeAttributeGetterCallback, TestObjectPythonV8Internal::byteAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7572 {"doubleAttribute", TestObjectPythonV8Internal::doubleAttributeAttributeGetterCallback, TestObjectPythonV8Internal::doubleAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7573 {"floatAttribute", TestObjectPythonV8Internal::floatAttributeAttributeGetterCallback, TestObjectPythonV8Internal::floatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7574 {"longAttribute", TestObjectPythonV8Internal::longAttributeAttributeGetterCallback, TestObjectPythonV8Internal::longAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7575 {"longLongAttribute", TestObjectPythonV8Internal::longLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::longLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7576 {"octetAttribute", TestObjectPythonV8Internal::octetAttributeAttributeGetterCallback, TestObjectPythonV8Internal::octetAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7577 {"shortAttribute", TestObjectPythonV8Internal::shortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::shortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7578 {"unsignedLongAttribute", TestObjectPythonV8Internal::unsignedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7579 {"unsignedLongLongAttribute", TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7580 {"unsignedShortAttribute", TestObjectPythonV8Internal::unsignedShortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedShortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7581 {"testInterfaceEmptyAttribute", TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7582 {"testObjectPythonAttribute", TestObjectPythonV8Internal::testObjectPythonAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testObjectPythonAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7583 {"voidCallbackFunctionAttribute", TestObjectPythonV8Internal::voidCallbackFunctionAttributeAttributeGetterCallback, TestObjectPythonV8Internal::voidCallbackFunctionAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7584 {"anyCallbackFunctionOptionalAnyArgAttribute", TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeGetterCallback, TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7585 {"cssAttribute", TestObjectPythonV8Internal::cssAttributeAttributeGetterCallback, TestObjectPythonV8Internal::cssAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7586 {"imeAttribute", TestObjectPythonV8Internal::imeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::imeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7587 {"svgAttribute", TestObjectPythonV8Internal::svgAttributeAttributeGetterCallback, TestObjectPythonV8Internal::svgAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7588 {"xmlAttribute", TestObjectPythonV8Internal::xmlAttributeAttributeGetterCallback, TestObjectPythonV8Internal::xmlAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7589 {"nodeFilterAttribute", TestObjectPythonV8Internal::nodeFilterAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nodeFilterAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7590 {"serializedScriptValueAttribute", TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeGetterCallback, TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7591 {"anyAttribute", TestObjectPythonV8Internal::anyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::anyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7592 {"promiseAttribute", TestObjectPythonV8Internal::promiseAttributeAttributeGetterCallback, TestObjectPythonV8Internal::promiseAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7593 {"windowAttribute", TestObjectPythonV8Internal::windowAttributeAttributeGetterCallback, TestObjectPythonV8Internal::windowAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7594 {"documentAttribute", TestObjectPythonV8Internal::documentAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7595 {"documentFragmentAttribute", TestObjectPythonV8Internal::documentFragmentAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentFragmentAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7596 {"documentTypeAttribute", TestObjectPythonV8Internal::documentTypeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentTypeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7597 {"elementAttribute", TestObjectPythonV8Internal::elementAttributeAttributeGetterCallback, TestObjectPythonV8Internal::elementAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7598 {"nodeAttribute", TestObjectPythonV8Internal::nodeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nodeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7599 {"shadowRootAttribute", TestObjectPythonV8Internal::shadowRootAttributeAttributeGetterCallback, TestObjectPythonV8Internal::shadowRootAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7600 {"arrayBufferAttribute", TestObjectPythonV8Internal::arrayBufferAttributeAttributeGetterCallback, TestObjectPythonV8Internal::arrayBufferAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7601 {"float32ArrayAttribute", TestObjectPythonV8Internal::float32ArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::float32ArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7602 {"uint8ArrayAttribute", TestObjectPythonV8Internal::uint8ArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::uint8ArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7603 {"self", TestObjectPythonV8Internal::selfAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7604 {"readonlyEventTargetAttribute", TestObjectPythonV8Internal::readonlyEventTargetAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7605 {"readonlyEventTargetOrNullAttribute", TestObjectPythonV8Internal::readonlyEventTargetOrNullAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7606 {"readonlyWindowAttribute", TestObjectPythonV8Internal::readonlyWindowAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7607 {"htmlCollectionAttribute", TestObjectPythonV8Internal::htmlCollectionAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7608 {"htmlElementAttribute", TestObjectPythonV8Internal::htmlElementAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7609 {"stringArrayAttribute", TestObjectPythonV8Internal::stringArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::stringArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7610 {"testInterfaceEmptyArrayAttribute", TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7611 {"floatArrayAttribute", TestObjectPythonV8Internal::floatArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::floatArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7612 {"stringOrNullAttribute", TestObjectPythonV8Internal::stringOrNullAttributeAttributeGetterCallback, TestObjectPythonV8Internal::stringOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7613 {"longOrNullAttribute", TestObjectPythonV8Internal::longOrNullAttributeAttributeGetterCallback, TestObjectPythonV8Internal::longOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7614 {"testInterfaceOrNullAttribute", TestObjectPythonV8Internal::testInterfaceOrNullAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7615 {"testEnumAttribute", TestObjectPythonV8Internal::testEnumAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testEnumAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7616 {"testObjectAConstructorAttribute", TestObjectPythonV8Internal::TestObjectPythonConstructorGetter, TestObjectPythonV8Internal::TestObjectPythonReplaceableAttributeSetterCallback, 0, 0, const_cast<WrapperTypeInfo*>(&V8TestObjectA::wrapperTypeInfo), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::DontEnum), 0 /* on instance */},
7617 {"eventHandlerAttribute", TestObjectPythonV8Internal::eventHandlerAttributeAttributeGetterCallback, TestObjectPythonV8Internal::eventHandlerAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7618 {"activityLoggingAccessForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7619 {"activityLoggingGetterForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7620 {"activityLoggingSetterForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7621 {"cachedAttributeAnyAttribute", TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7622 {"callWithExecutionContextAnyAttribute", TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7623 {"checkSecurityForNodeReadonlyDocumentAttribute", TestObjectPythonV8Internal::checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7624 #if ENABLE(CONDITION)
7625 {"conditionalLongAttribute", TestObjectPythonV8Internal::conditionalLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7626 #endif // ENABLE(CONDITION)
7627 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
7628 {"conditionalAndLongAttribute", TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7629 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
7630 #if ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
7631 {"conditionalOrLongAttribute", TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7632 #endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2)
7633 {"customObjectAttribute", TestObjectPythonV8Internal::customObjectAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customObjectAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7634 {"customGetterLongAttribute", TestObjectPythonV8Internal::customGetterLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customGetterLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7635 {"customGetterReadonlyObjectAttribute", TestObjectPythonV8Internal::customGetterReadonlyObjectAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7636 {"customSetterLongAttribute", TestObjectPythonV8Internal::customSetterLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customSetterLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7637 #if ENABLE(CONDITION)
7638 {"customLongAttribute", TestObjectPythonV8Internal::customLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7639 #endif // ENABLE(CONDITION)
7640 {"customElementsCallbacksReadonlyLongAttribute", TestObjectPythonV8Internal::customElementsCallbacksReadonlyLongAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7641 {"deprecatedLongAttribute", TestObjectPythonV8Internal::deprecatedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::deprecatedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7642 {"enforceRangeLongAttribute", TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7643 {"implementedAsLongAttribute", TestObjectPythonV8Internal::implementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::implementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7644 {"customImplementedAsLongAttribute", TestObjectPythonV8Internal::customImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7645 {"customGetterImplementedAsLongAttribute", TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7646 {"customSetterImplementedAsLongAttribute", TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7647 {"measureAsLongAttribute", TestObjectPythonV8Internal::measureAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::measureAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7648 {"notEnumerableLongAttribute", TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::DontEnum), 0 /* on instance */},
7649 {"perWorldBindingsLongAttribute", TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetterCallback, TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7650 {"perWorldBindingsReadonlyLongAttribute", TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterCallback, 0, TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterCallbackForMainWorld, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7651 {"perWorldBindingsReadonlyTestInterfaceEmptyAttribute", TestObjectPythonV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback, 0, TestObjectPythonV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7652 {"activityLoggingAccessPerWorldBindingsLongAttribute", TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallback, TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7653 {"activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback, TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7654 {"activityLoggingGetterPerWorldBindingsLongAttribute", TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallback, TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7655 {"activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute", TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback, TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7656 {"location", TestObjectPythonV8Internal::locationAttributeGetterCallback, TestObjectPythonV8Internal::locationAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7657 {"locationWithException", TestObjectPythonV8Internal::locationWithExceptionAttributeGetterCallback, TestObjectPythonV8Internal::locationWithExceptionAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7658 {"locationWithCallWith", TestObjectPythonV8Internal::locationWithCallWithAttributeGetterCallback, TestObjectPythonV8Internal::locationWithCallWithAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7659 {"locationWithPerWorldBindings", TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeGetterCallback, TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeSetterCallback, TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeGetterCallbackForMainWorld, TestObjectPythonV8Internal::locationWithPerWorldBindingsAttributeSetterCallbackForMainWorld, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7660 {"locationWillBeGarbageCollected", TestObjectPythonV8Internal::locationWillBeGarbageCollectedAttributeGetterCallback, TestObjectPythonV8Internal::locationWillBeGarbageCollectedAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7661 {"raisesExceptionLongAttribute", TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7662 {"raisesExceptionGetterLongAttribute", TestObjectPythonV8Internal::raisesExceptionGetterLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::raisesExceptionGetterLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7663 {"setterRaisesExceptionLongAttribute", TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7664 {"raisesExceptionTestInterfaceEmptyAttribute", TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7665 {"cachedAttributeRaisesExceptionGetterAnyAttribute", TestObjectPythonV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7666 {"reflectTestInterfaceAttribute", TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7667 {"reflectReflectedNameAttributeTestAttribute", TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7668 {"reflectBooleanAttribute", TestObjectPythonV8Internal::reflectBooleanAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectBooleanAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7669 {"reflectLongAttribute", TestObjectPythonV8Internal::reflectLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7670 {"reflectUnsignedShortAttribute", TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7671 {"reflectUnsignedLongAttribute", TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7672 {"id", TestObjectPythonV8Internal::idAttributeGetterCallback, TestObjectPythonV8Internal::idAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7673 {"name", TestObjectPythonV8Internal::nameAttributeGetterCallback, TestObjectPythonV8Internal::nameAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7674 {"class", TestObjectPythonV8Internal::classAttributeGetterCallback, TestObjectPythonV8Internal::classAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7675 {"reflectedId", TestObjectPythonV8Internal::reflectedIdAttributeGetterCallback, TestObjectPythonV8Internal::reflectedIdAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7676 {"reflectedName", TestObjectPythonV8Internal::reflectedNameAttributeGetterCallback, TestObjectPythonV8Internal::reflectedNameAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7677 {"reflectedClass", TestObjectPythonV8Internal::reflectedClassAttributeGetterCallback, TestObjectPythonV8Internal::reflectedClassAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7678 {"limitedToOnlyOneAttribute", TestObjectPythonV8Internal::limitedToOnlyOneAttributeAttributeGetterCallback, TestObjectPythonV8Internal::limitedToOnlyOneAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7679 {"limitedToOnlyAttribute", TestObjectPythonV8Internal::limitedToOnlyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::limitedToOnlyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7680 {"limitedToOnlyOtherAttribute", TestObjectPythonV8Internal::limitedToOnlyOtherAttributeAttributeGetterCallback, TestObjectPythonV8Internal::limitedToOnlyOtherAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7681 {"limitedWithMissingDefaultAttribute", TestObjectPythonV8Internal::limitedWithMissingDefaultAttributeAttributeGetterCallback, TestObjectPythonV8Internal::limitedWithMissingDefaultAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7682 {"limitedWithInvalidMissingDefaultAttribute", TestObjectPythonV8Internal::limitedWithInvalidMissingDefaultAttributeAttributeGetterCallback, TestObjectPythonV8Internal::limitedWithInvalidMissingDefaultAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7683 {"corsSettingAttribute", TestObjectPythonV8Internal::corsSettingAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7684 {"limitedWithEmptyMissingInvalidAttribute", TestObjectPythonV8Internal::limitedWithEmptyMissingInvalidAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7685 {"replaceableReadonlyLongAttribute", TestObjectPythonV8Internal::replaceableReadonlyLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::TestObjectPythonReplaceableAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7686 {"locationReplaceable", TestObjectPythonV8Internal::locationReplaceableAttributeGetterCallback, TestObjectPythonV8Internal::locationReplaceableAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7687 {"setterCallWithActiveWindowAndFirstWindowStringAttribute", TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7688 {"setterCallWithExecutionContextStringAttribute", TestObjectPythonV8Internal::setterCallWithExecutionContextStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::setterCallWithExecutionContextStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7689 {"strictTypeCheckingFloatAttribute", TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeGetterCallback, TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7690 {"strictTypeCheckingTestInterfaceAttribute", TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeGetterCallback, TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7691 {"treatNullAsNullStringStringAttribute", TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7692 {"treatReturnedNullStringAsNullStringAttribute", TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7693 {"treatReturnedNullStringAsUndefinedStringAttribute", TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7694 {"urlStringAttribute", TestObjectPythonV8Internal::urlStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::urlStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7695 {"urlStringAttribute", TestObjectPythonV8Internal::urlStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::urlStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7696 {"unforgeableLongAttribute", TestObjectPythonV8Internal::unforgeableLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unforgeableLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::PROHIBITS_OVERWRITING), static_cast<v8::PropertyAttribute>(v8::DontDelete), 0 /* on instance */},
7697 {"anotherStringAttribute", TestObjectPythonV8Internal::anotherStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::anotherStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7698 {"testInterfacePythonAttribute", TestObjectPythonV8Internal::testInterfacePythonAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfacePythonAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7699 {"testInterfaceWillBeGarbageCollectedAttribute", TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7700 {"testInterfaceWillBeGarbageCollectedOrNullAttribute", TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceWillBeGarbageCollectedOrNullAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */},
7703 static const V8DOMConfiguration::AccessorConfiguration V8TestObjectPythonAccessors[] = {
7704 {"exposeJSAccessorsLongAttribute", TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None)},
7707 static const V8DOMConfiguration::MethodConfiguration V8TestObjectPythonMethods[] = {
7708 {"voidMethod", TestObjectPythonV8Internal::voidMethodMethodCallback, 0, 0},
7709 {"dateMethod", TestObjectPythonV8Internal::dateMethodMethodCallback, 0, 0},
7710 {"stringMethod", TestObjectPythonV8Internal::stringMethodMethodCallback, 0, 0},
7711 {"readonlyDOMTimeStampMethod", TestObjectPythonV8Internal::readonlyDOMTimeStampMethodMethodCallback, 0, 0},
7712 {"booleanMethod", TestObjectPythonV8Internal::booleanMethodMethodCallback, 0, 0},
7713 {"byteMethod", TestObjectPythonV8Internal::byteMethodMethodCallback, 0, 0},
7714 {"doubleMethod", TestObjectPythonV8Internal::doubleMethodMethodCallback, 0, 0},
7715 {"floatMethod", TestObjectPythonV8Internal::floatMethodMethodCallback, 0, 0},
7716 {"longMethod", TestObjectPythonV8Internal::longMethodMethodCallback, 0, 0},
7717 {"longLongMethod", TestObjectPythonV8Internal::longLongMethodMethodCallback, 0, 0},
7718 {"octetMethod", TestObjectPythonV8Internal::octetMethodMethodCallback, 0, 0},
7719 {"shortMethod", TestObjectPythonV8Internal::shortMethodMethodCallback, 0, 0},
7720 {"unsignedLongMethod", TestObjectPythonV8Internal::unsignedLongMethodMethodCallback, 0, 0},
7721 {"unsignedLongLongMethod", TestObjectPythonV8Internal::unsignedLongLongMethodMethodCallback, 0, 0},
7722 {"unsignedShortMethod", TestObjectPythonV8Internal::unsignedShortMethodMethodCallback, 0, 0},
7723 {"voidMethodDateArg", TestObjectPythonV8Internal::voidMethodDateArgMethodCallback, 0, 1},
7724 {"voidMethodStringArg", TestObjectPythonV8Internal::voidMethodStringArgMethodCallback, 0, 1},
7725 {"voidMethodBooleanArg", TestObjectPythonV8Internal::voidMethodBooleanArgMethodCallback, 0, 1},
7726 {"voidMethodByteArg", TestObjectPythonV8Internal::voidMethodByteArgMethodCallback, 0, 1},
7727 {"voidMethodDoubleArg", TestObjectPythonV8Internal::voidMethodDoubleArgMethodCallback, 0, 1},
7728 {"voidMethodFloatArg", TestObjectPythonV8Internal::voidMethodFloatArgMethodCallback, 0, 1},
7729 {"voidMethodLongArg", TestObjectPythonV8Internal::voidMethodLongArgMethodCallback, 0, 1},
7730 {"voidMethodLongLongArg", TestObjectPythonV8Internal::voidMethodLongLongArgMethodCallback, 0, 1},
7731 {"voidMethodOctetArg", TestObjectPythonV8Internal::voidMethodOctetArgMethodCallback, 0, 1},
7732 {"voidMethodShortArg", TestObjectPythonV8Internal::voidMethodShortArgMethodCallback, 0, 1},
7733 {"voidMethodUnsignedLongArg", TestObjectPythonV8Internal::voidMethodUnsignedLongArgMethodCallback, 0, 1},
7734 {"voidMethodUnsignedLongLongArg", TestObjectPythonV8Internal::voidMethodUnsignedLongLongArgMethodCallback, 0, 1},
7735 {"voidMethodUnsignedShortArg", TestObjectPythonV8Internal::voidMethodUnsignedShortArgMethodCallback, 0, 1},
7736 {"testInterfaceEmptyMethod", TestObjectPythonV8Internal::testInterfaceEmptyMethodMethodCallback, 0, 0},
7737 {"voidMethodTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgMethodCallback, 0, 1},
7738 {"voidMethodLongArgTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodLongArgTestInterfaceEmptyArgMethodCallback, 0, 2},
7739 {"voidCallbackFunctionMethod", TestObjectPythonV8Internal::voidCallbackFunctionMethodMethodCallback, 0, 0},
7740 {"anyCallbackFunctionOptionalAnyArgMethod", TestObjectPythonV8Internal::anyCallbackFunctionOptionalAnyArgMethodMethodCallback, 0, 0},
7741 {"voidMethodVoidCallbackFunctionArg", TestObjectPythonV8Internal::voidMethodVoidCallbackFunctionArgMethodCallback, 0, 1},
7742 {"voidMethodAnyCallbackFunctionOptionalAnyArg", TestObjectPythonV8Internal::voidMethodAnyCallbackFunctionOptionalAnyArgMethodCallback, 0, 1},
7743 {"compareHowMethod", TestObjectPythonV8Internal::compareHowMethodMethodCallback, 0, 0},
7744 {"anyMethod", TestObjectPythonV8Internal::anyMethodMethodCallback, 0, 0},
7745 {"voidMethodCompareHowArg", TestObjectPythonV8Internal::voidMethodCompareHowArgMethodCallback, 0, 1},
7746 {"voidMethodEventTargetArg", TestObjectPythonV8Internal::voidMethodEventTargetArgMethodCallback, 0, 1},
7747 {"voidMethodMediaQueryListListenerArg", TestObjectPythonV8Internal::voidMethodMediaQueryListListenerArgMethodCallback, 0, 1},
7748 {"voidMethodAnyArg", TestObjectPythonV8Internal::voidMethodAnyArgMethodCallback, 0, 1},
7749 {"voidMethodAttrArg", TestObjectPythonV8Internal::voidMethodAttrArgMethodCallback, 0, 1},
7750 {"voidMethodDocumentArg", TestObjectPythonV8Internal::voidMethodDocumentArgMethodCallback, 0, 1},
7751 {"voidMethodDocumentTypeArg", TestObjectPythonV8Internal::voidMethodDocumentTypeArgMethodCallback, 0, 1},
7752 {"voidMethodElementArg", TestObjectPythonV8Internal::voidMethodElementArgMethodCallback, 0, 1},
7753 {"voidMethodNodeArg", TestObjectPythonV8Internal::voidMethodNodeArgMethodCallback, 0, 1},
7754 {"arrayBufferMethod", TestObjectPythonV8Internal::arrayBufferMethodMethodCallback, 0, 0},
7755 {"arrayBufferViewMethod", TestObjectPythonV8Internal::arrayBufferViewMethodMethodCallback, 0, 0},
7756 {"float32ArrayMethod", TestObjectPythonV8Internal::float32ArrayMethodMethodCallback, 0, 0},
7757 {"int32ArrayMethod", TestObjectPythonV8Internal::int32ArrayMethodMethodCallback, 0, 0},
7758 {"uint8ArrayMethod", TestObjectPythonV8Internal::uint8ArrayMethodMethodCallback, 0, 0},
7759 {"voidMethodArrayBufferArg", TestObjectPythonV8Internal::voidMethodArrayBufferArgMethodCallback, 0, 1},
7760 {"voidMethodArrayBufferOrNullArg", TestObjectPythonV8Internal::voidMethodArrayBufferOrNullArgMethodCallback, 0, 1},
7761 {"voidMethodArrayBufferViewArg", TestObjectPythonV8Internal::voidMethodArrayBufferViewArgMethodCallback, 0, 1},
7762 {"voidMethodFloat32ArrayArg", TestObjectPythonV8Internal::voidMethodFloat32ArrayArgMethodCallback, 0, 1},
7763 {"voidMethodInt32ArrayArg", TestObjectPythonV8Internal::voidMethodInt32ArrayArgMethodCallback, 0, 1},
7764 {"voidMethodUint8ArrayArg", TestObjectPythonV8Internal::voidMethodUint8ArrayArgMethodCallback, 0, 1},
7765 {"longArrayMethod", TestObjectPythonV8Internal::longArrayMethodMethodCallback, 0, 0},
7766 {"stringArrayMethod", TestObjectPythonV8Internal::stringArrayMethodMethodCallback, 0, 0},
7767 {"testInterfaceEmptyArrayMethod", TestObjectPythonV8Internal::testInterfaceEmptyArrayMethodMethodCallback, 0, 0},
7768 {"voidMethodArrayLongArg", TestObjectPythonV8Internal::voidMethodArrayLongArgMethodCallback, 0, 1},
7769 {"voidMethodArrayStringArg", TestObjectPythonV8Internal::voidMethodArrayStringArgMethodCallback, 0, 1},
7770 {"voidMethodArrayTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodArrayTestInterfaceEmptyArgMethodCallback, 0, 1},
7771 {"longSequenceMethod", TestObjectPythonV8Internal::longSequenceMethodMethodCallback, 0, 0},
7772 {"stringSequenceMethod", TestObjectPythonV8Internal::stringSequenceMethodMethodCallback, 0, 0},
7773 {"testInterfaceEmptySequenceMethod", TestObjectPythonV8Internal::testInterfaceEmptySequenceMethodMethodCallback, 0, 0},
7774 {"voidMethodSequenceLongArg", TestObjectPythonV8Internal::voidMethodSequenceLongArgMethodCallback, 0, 1},
7775 {"voidMethodSequenceStringArg", TestObjectPythonV8Internal::voidMethodSequenceStringArgMethodCallback, 0, 1},
7776 {"voidMethodSequenceTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodSequenceTestInterfaceEmptyArgMethodCallback, 0, 1},
7777 {"voidMethodTestInterfaceEmptyOrNullArg", TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1},
7778 {"voidMethodTestCallbackInterfaceArg", TestObjectPythonV8Internal::voidMethodTestCallbackInterfaceArgMethodCallback, 0, 1},
7779 {"voidMethodOptionalTestCallbackInterfaceArg", TestObjectPythonV8Internal::voidMethodOptionalTestCallbackInterfaceArgMethodCallback, 0, 0},
7780 {"voidMethodTestCallbackInterfaceOrNullArg", TestObjectPythonV8Internal::voidMethodTestCallbackInterfaceOrNullArgMethodCallback, 0, 1},
7781 {"testEnumMethod", TestObjectPythonV8Internal::testEnumMethodMethodCallback, 0, 0},
7782 {"voidMethodTestEnumArg", TestObjectPythonV8Internal::voidMethodTestEnumArgMethodCallback, 0, 1},
7783 {"dictionaryMethod", TestObjectPythonV8Internal::dictionaryMethodMethodCallback, 0, 0},
7784 {"nodeFilterMethod", TestObjectPythonV8Internal::nodeFilterMethodMethodCallback, 0, 0},
7785 {"promiseMethod", TestObjectPythonV8Internal::promiseMethodMethodCallback, 0, 0},
7786 {"serializedScriptValueMethod", TestObjectPythonV8Internal::serializedScriptValueMethodMethodCallback, 0, 0},
7787 {"xPathNSResolverMethod", TestObjectPythonV8Internal::xPathNSResolverMethodMethodCallback, 0, 0},
7788 {"voidMethodDictionaryArg", TestObjectPythonV8Internal::voidMethodDictionaryArgMethodCallback, 0, 1},
7789 {"voidMethodEventListenerArg", TestObjectPythonV8Internal::voidMethodEventListenerArgMethodCallback, 0, 1},
7790 {"voidMethodNodeFilterArg", TestObjectPythonV8Internal::voidMethodNodeFilterArgMethodCallback, 0, 1},
7791 {"voidMethodPromiseArg", TestObjectPythonV8Internal::voidMethodPromiseArgMethodCallback, 0, 1},
7792 {"voidMethodSerializedScriptValueArg", TestObjectPythonV8Internal::voidMethodSerializedScriptValueArgMethodCallback, 0, 1},
7793 {"voidMethodXPathNSResolverArg", TestObjectPythonV8Internal::voidMethodXPathNSResolverArgMethodCallback, 0, 1},
7794 {"voidMethodSequenceDictionaryArg", TestObjectPythonV8Internal::voidMethodSequenceDictionaryArgMethodCallback, 0, 1},
7795 {"voidMethodStringArgLongArg", TestObjectPythonV8Internal::voidMethodStringArgLongArgMethodCallback, 0, 2},
7796 {"voidMethodOptionalStringArg", TestObjectPythonV8Internal::voidMethodOptionalStringArgMethodCallback, 0, 0},
7797 {"voidMethodOptionalTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodOptionalTestInterfaceEmptyArgMethodCallback, 0, 0},
7798 {"voidMethodOptionalLongArg", TestObjectPythonV8Internal::voidMethodOptionalLongArgMethodCallback, 0, 0},
7799 {"stringMethodOptionalLongArg", TestObjectPythonV8Internal::stringMethodOptionalLongArgMethodCallback, 0, 0},
7800 {"testInterfaceEmptyMethodOptionalLongArg", TestObjectPythonV8Internal::testInterfaceEmptyMethodOptionalLongArgMethodCallback, 0, 0},
7801 {"longMethodOptionalLongArg", TestObjectPythonV8Internal::longMethodOptionalLongArgMethodCallback, 0, 0},
7802 {"voidMethodLongArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgMethodCallback, 0, 1},
7803 {"voidMethodLongArgOptionalLongArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback, 0, 1},
7804 {"voidMethodLongArgOptionalTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback, 0, 1},
7805 {"voidMethodTestInterfaceEmptyArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback, 0, 1},
7806 {"voidMethodOptionalDictionaryArg", TestObjectPythonV8Internal::voidMethodOptionalDictionaryArgMethodCallback, 0, 0},
7807 {"voidMethodVariadicStringArg", TestObjectPythonV8Internal::voidMethodVariadicStringArgMethodCallback, 0, 1},
7808 {"voidMethodStringArgVariadicStringArg", TestObjectPythonV8Internal::voidMethodStringArgVariadicStringArgMethodCallback, 0, 2},
7809 {"voidMethodVariadicTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethodCallback, 0, 1},
7810 {"voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback, 0, 2},
7811 {"voidMethodVariadicTestInterfaceWillBeGarbageCollectedArg", TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceWillBeGarbageCollectedArgMethodCallback, 0, 1},
7812 {"overloadedMethodA", TestObjectPythonV8Internal::overloadedMethodAMethodCallback, 0, 1},
7813 {"overloadedMethodB", TestObjectPythonV8Internal::overloadedMethodBMethodCallback, 0, 1},
7814 {"overloadedMethodC", TestObjectPythonV8Internal::overloadedMethodCMethodCallback, 0, 1},
7815 {"overloadedMethodD", TestObjectPythonV8Internal::overloadedMethodDMethodCallback, 0, 1},
7816 {"overloadedMethodE", TestObjectPythonV8Internal::overloadedMethodEMethodCallback, 0, 1},
7817 {"overloadedMethodF", TestObjectPythonV8Internal::overloadedMethodFMethodCallback, 0, 1},
7818 {"overloadedMethodG", TestObjectPythonV8Internal::overloadedMethodGMethodCallback, 0, 0},
7819 {"overloadedMethodH", TestObjectPythonV8Internal::overloadedMethodHMethodCallback, 0, 0},
7820 {"overloadedPerWorldBindingsMethod", TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodCallback, TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodCallbackForMainWorld, 0},
7821 {"voidMethodClampUnsignedShortArg", TestObjectPythonV8Internal::voidMethodClampUnsignedShortArgMethodCallback, 0, 1},
7822 {"voidMethodClampUnsignedLongArg", TestObjectPythonV8Internal::voidMethodClampUnsignedLongArgMethodCallback, 0, 1},
7823 {"voidMethodDefaultUndefinedTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback, 0, 0},
7824 {"voidMethodDefaultUndefinedLongArg", TestObjectPythonV8Internal::voidMethodDefaultUndefinedLongArgMethodCallback, 0, 0},
7825 {"voidMethodDefaultUndefinedStringArg", TestObjectPythonV8Internal::voidMethodDefaultUndefinedStringArgMethodCallback, 0, 0},
7826 {"voidMethodDefaultNullStringStringArg", TestObjectPythonV8Internal::voidMethodDefaultNullStringStringArgMethodCallback, 0, 0},
7827 {"voidMethodEnforceRangeLongArg", TestObjectPythonV8Internal::voidMethodEnforceRangeLongArgMethodCallback, 0, 1},
7828 {"voidMethodTreatNullAsNullStringStringArg", TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringStringArgMethodCallback, 0, 1},
7829 {"voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg", TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethodCallback, 0, 1},
7830 {"activityLoggingAccessForAllWorldsMethod", TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsMethodMethodCallback, 0, 0},
7831 {"callWithScriptStateVoidMethod", TestObjectPythonV8Internal::callWithScriptStateVoidMethodMethodCallback, 0, 0},
7832 {"callWithScriptStateLongMethod", TestObjectPythonV8Internal::callWithScriptStateLongMethodMethodCallback, 0, 0},
7833 {"callWithExecutionContextVoidMethod", TestObjectPythonV8Internal::callWithExecutionContextVoidMethodMethodCallback, 0, 0},
7834 {"callWithScriptStateExecutionContextVoidMethod", TestObjectPythonV8Internal::callWithScriptStateExecutionContextVoidMethodMethodCallback, 0, 0},
7835 {"callWithScriptStateScriptArgumentsVoidMethod", TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodMethodCallback, 0, 0},
7836 {"callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg", TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback, 0, 0},
7837 {"callWithActiveWindow", TestObjectPythonV8Internal::callWithActiveWindowMethodCallback, 0, 0},
7838 {"callWithActiveWindowScriptWindow", TestObjectPythonV8Internal::callWithActiveWindowScriptWindowMethodCallback, 0, 0},
7839 {"checkSecurityForNodeVoidMethod", TestObjectPythonV8Internal::checkSecurityForNodeVoidMethodMethodCallback, 0, 0},
7840 #if ENABLE(CONDITION)
7841 {"conditionalConditionVoidMethod", TestObjectPythonV8Internal::conditionalConditionVoidMethodMethodCallback, 0, 0},
7842 #endif // ENABLE(CONDITION)
7843 #if ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
7844 {"conditionalCondition1AndCondition2VoidMethod", TestObjectPythonV8Internal::conditionalCondition1AndCondition2VoidMethodMethodCallback, 0, 0},
7845 #endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2)
7846 {"customVoidMethod", TestObjectPythonV8Internal::customVoidMethodMethodCallback, 0, 0},
7847 #if ENABLE(CONDITION)
7848 {"conditionalConditionCustomVoidMethod", TestObjectPythonV8Internal::conditionalConditionCustomVoidMethodMethodCallback, 0, 0},
7849 #endif // ENABLE(CONDITION)
7850 {"customElementCallbacksVoidMethod", TestObjectPythonV8Internal::customElementCallbacksVoidMethodMethodCallback, 0, 0},
7851 {"deprecatedVoidMethod", TestObjectPythonV8Internal::deprecatedVoidMethodMethodCallback, 0, 0},
7852 {"implementedAsVoidMethod", TestObjectPythonV8Internal::implementedAsVoidMethodMethodCallback, 0, 0},
7853 {"measureAsVoidMethod", TestObjectPythonV8Internal::measureAsVoidMethodMethodCallback, 0, 0},
7854 {"perWorldBindingsVoidMethod", TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodCallbackForMainWorld, 0},
7855 {"perWorldBindingsVoidMethodTestInterfaceEmptyArg", TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback, TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld, 1},
7856 {"activityLoggingForAllWorldsPerWorldBindingsVoidMethod", TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0},
7857 {"activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0},
7858 {"raisesExceptionVoidMethod", TestObjectPythonV8Internal::raisesExceptionVoidMethodMethodCallback, 0, 0},
7859 {"raisesExceptionStringMethod", TestObjectPythonV8Internal::raisesExceptionStringMethodMethodCallback, 0, 0},
7860 {"raisesExceptionVoidMethodOptionalLongArg", TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalLongArgMethodCallback, 0, 0},
7861 {"raisesExceptionVoidMethodTestCallbackInterfaceArg", TestObjectPythonV8Internal::raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback, 0, 1},
7862 {"raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg", TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback, 0, 0},
7863 {"raisesExceptionTestInterfaceEmptyVoidMethod", TestObjectPythonV8Internal::raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback, 0, 0},
7864 {"strictTypeCheckingVoidMethodTestInterfaceEmptyArg", TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback, 0, 1},
7865 {"strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArg", TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyOrNullArgMethodCallback, 0, 1},
7866 {"treatReturnedNullStringAsNullStringMethod", TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringMethodMethodCallback, 0, 0},
7867 {"treatReturnedNullStringAsUndefinedStringMethod", TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethodCallback, 0, 0},
7868 {"voidMethodTestInterfaceWillBeGarbageCollectedSequenceArg", TestObjectPythonV8Internal::voidMethodTestInterfaceWillBeGarbageCollectedSequenceArgMethodCallback, 0, 1},
7869 {"voidMethodTestInterfaceWillBeGarbageCollectedArrayArg", TestObjectPythonV8Internal::voidMethodTestInterfaceWillBeGarbageCollectedArrayArgMethodCallback, 0, 1},
7872 static void configureV8TestObjectPythonTemplate(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate)
7874 functionTemplate->ReadOnlyPrototype();
7876 v8::Local<v8::Signature> defaultSignature;
7877 defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestObjectPython", v8::Local<v8::FunctionTemplate>(), V8TestObjectPython::internalFieldCount,
7878 V8TestObjectPythonAttributes, WTF_ARRAY_LENGTH(V8TestObjectPythonAttributes),
7879 V8TestObjectPythonAccessors, WTF_ARRAY_LENGTH(V8TestObjectPythonAccessors),
7880 V8TestObjectPythonMethods, WTF_ARRAY_LENGTH(V8TestObjectPythonMethods),
7882 v8::Local<v8::ObjectTemplate> ALLOW_UNUSED instanceTemplate = functionTemplate->InstanceTemplate();
7883 v8::Local<v8::ObjectTemplate> ALLOW_UNUSED prototypeTemplate = functionTemplate->PrototypeTemplate();
7884 if (RuntimeEnabledFeatures::featureNameEnabled()) {
7885 static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\
7886 {"runtimeEnabledLongAttribute", TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */};
7887 V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate);
7889 #if ENABLE(CONDITION)
7890 if (RuntimeEnabledFeatures::featureNameEnabled()) {
7891 static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\
7892 {"conditionalRuntimeEnabledLongAttribute", TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */};
7893 V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate);
7895 #endif // ENABLE(CONDITION)
7896 static const V8DOMConfiguration::ConstantConfiguration V8TestObjectPythonConstants[] = {
7897 {"CONST_VALUE_0", 0},
7898 {"CONST_VALUE_1", 1},
7899 {"CONST_VALUE_2", 2},
7900 {"CONST_VALUE_4", 4},
7901 {"CONST_VALUE_8", 8},
7902 {"CONST_VALUE_9", -1},
7903 {"CONST_VALUE_10", "my constant string"},
7904 {"CONST_VALUE_11", 0xffffffff},
7905 {"CONST_VALUE_12", 0x01},
7906 {"CONST_VALUE_13", 0X20},
7907 {"CONST_VALUE_14", 0x1abc},
7908 {"CONST_VALUE_15", 010},
7909 {"CONST_VALUE_16", -010},
7910 {"CONST_VALUE_16", -0x1A},
7911 {"CONST_VALUE_17", -0X1a},
7912 {"DEPRECATED_CONSTANT", 1},
7913 {"CONST_JAVASCRIPT", 1},
7915 V8DOMConfiguration::installConstants(functionTemplate, prototypeTemplate, V8TestObjectPythonConstants, WTF_ARRAY_LENGTH(V8TestObjectPythonConstants), isolate);
7916 if (RuntimeEnabledFeatures::featureNameEnabled()) {
7917 static const V8DOMConfiguration::ConstantConfiguration constantConfiguration = {"FEATURE_ENABLED_CONST", static_cast<signed int>(1)};
7918 V8DOMConfiguration::installConstants(functionTemplate, prototypeTemplate, &constantConfiguration, 1, isolate);
7920 COMPILE_ASSERT(0 == TestObjectPython::CONST_VALUE_0, TheValueOfTestObjectPython_CONST_VALUE_0DoesntMatchWithImplementation);
7921 COMPILE_ASSERT(1 == TestObjectPython::CONST_VALUE_1, TheValueOfTestObjectPython_CONST_VALUE_1DoesntMatchWithImplementation);
7922 COMPILE_ASSERT(2 == TestObjectPython::CONST_VALUE_2, TheValueOfTestObjectPython_CONST_VALUE_2DoesntMatchWithImplementation);
7923 COMPILE_ASSERT(4 == TestObjectPython::CONST_VALUE_4, TheValueOfTestObjectPython_CONST_VALUE_4DoesntMatchWithImplementation);
7924 COMPILE_ASSERT(8 == TestObjectPython::CONST_VALUE_8, TheValueOfTestObjectPython_CONST_VALUE_8DoesntMatchWithImplementation);
7925 COMPILE_ASSERT(-1 == TestObjectPython::CONST_VALUE_9, TheValueOfTestObjectPython_CONST_VALUE_9DoesntMatchWithImplementation);
7926 COMPILE_ASSERT("my constant string" == TestObjectPython::CONST_VALUE_10, TheValueOfTestObjectPython_CONST_VALUE_10DoesntMatchWithImplementation);
7927 COMPILE_ASSERT(0xffffffff == TestObjectPython::CONST_VALUE_11, TheValueOfTestObjectPython_CONST_VALUE_11DoesntMatchWithImplementation);
7928 COMPILE_ASSERT(0x01 == TestObjectPython::CONST_VALUE_12, TheValueOfTestObjectPython_CONST_VALUE_12DoesntMatchWithImplementation);
7929 COMPILE_ASSERT(0X20 == TestObjectPython::CONST_VALUE_13, TheValueOfTestObjectPython_CONST_VALUE_13DoesntMatchWithImplementation);
7930 COMPILE_ASSERT(0x1abc == TestObjectPython::CONST_VALUE_14, TheValueOfTestObjectPython_CONST_VALUE_14DoesntMatchWithImplementation);
7931 COMPILE_ASSERT(010 == TestObjectPython::CONST_VALUE_15, TheValueOfTestObjectPython_CONST_VALUE_15DoesntMatchWithImplementation);
7932 COMPILE_ASSERT(-010 == TestObjectPython::CONST_VALUE_16, TheValueOfTestObjectPython_CONST_VALUE_16DoesntMatchWithImplementation);
7933 COMPILE_ASSERT(-0x1A == TestObjectPython::CONST_VALUE_16, TheValueOfTestObjectPython_CONST_VALUE_16DoesntMatchWithImplementation);
7934 COMPILE_ASSERT(-0X1a == TestObjectPython::CONST_VALUE_17, TheValueOfTestObjectPython_CONST_VALUE_17DoesntMatchWithImplementation);
7935 COMPILE_ASSERT(1 == TestObjectPython::DEPRECATED_CONSTANT, TheValueOfTestObjectPython_DEPRECATED_CONSTANTDoesntMatchWithImplementation);
7936 COMPILE_ASSERT(1 == TestObjectPython::FEATURE_ENABLED_CONST, TheValueOfTestObjectPython_FEATURE_ENABLED_CONSTDoesntMatchWithImplementation);
7937 COMPILE_ASSERT(1 == TestObjectPython::CONST_IMPL, TheValueOfTestObjectPython_CONST_IMPLDoesntMatchWithImplementation);
7938 functionTemplate->Set(v8AtomicString(isolate, "staticVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::staticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0));
7939 functionTemplate->Set(v8AtomicString(isolate, "overloadedStaticMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::overloadedStaticMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 1));
7940 #if ENABLE(CONDITION)
7941 functionTemplate->Set(v8AtomicString(isolate, "conditionalConditionStaticVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::conditionalConditionStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0));
7942 #endif // ENABLE(CONDITION)
7943 prototypeTemplate->Set(v8AtomicString(isolate, "doNotCheckSignatureVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::doNotCheckSignatureVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0));
7944 prototypeTemplate->Set(v8AtomicString(isolate, "notEnumerableVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::notEnumerableVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::DontEnum));
7945 prototypeTemplate->Set(v8AtomicString(isolate, "readOnlyVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::readOnlyVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly));
7946 prototypeTemplate->Set(v8AtomicString(isolate, "notEnumerableReadOnlyVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::notEnumerableReadOnlyVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::DontEnum | v8::ReadOnly));
7947 if (RuntimeEnabledFeatures::featureNameEnabled())
7948 prototypeTemplate->Set(v8AtomicString(isolate, "runtimeEnabledVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0));
7949 if (DOMWrapperWorld::current(isolate)->isMainWorld()) {
7950 if (RuntimeEnabledFeatures::featureNameEnabled())
7951 prototypeTemplate->Set(v8AtomicString(isolate, "perWorldBindingsRuntimeEnabledVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld, v8Undefined(), defaultSignature, 0));
7953 if (RuntimeEnabledFeatures::featureNameEnabled())
7954 prototypeTemplate->Set(v8AtomicString(isolate, "perWorldBindingsRuntimeEnabledVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0));
7956 instanceTemplate->Set(v8AtomicString(isolate, "unforgeableVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::unforgeableVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0));
7957 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticStringAttribute"), TestObjectPythonV8Internal::staticStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::staticStringAttributeAttributeSetterCallback, v8::External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT));
7958 functionTemplate->SetNativeDataProperty(v8AtomicString(isolate, "staticLongAttribute"), TestObjectPythonV8Internal::staticLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::staticLongAttributeAttributeSetterCallback, v8::External::New(isolate, 0), static_cast<v8::PropertyAttribute>(v8::None), v8::Handle<v8::AccessorSignature>(), static_cast<v8::AccessControl>(v8::DEFAULT));
7960 // Custom toString template
7961 functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::current()->toStringTemplate());
7964 v8::Handle<v8::FunctionTemplate> V8TestObjectPython::domTemplate(v8::Isolate* isolate)
7966 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
7967 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(const_cast<WrapperTypeInfo*>(&wrapperTypeInfo));
7968 if (!result.IsEmpty())
7971 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate");
7972 result = v8::FunctionTemplate::New(isolate, V8ObjectConstructor::isValidConstructorMode);
7973 configureV8TestObjectPythonTemplate(result, isolate);
7974 data->setDOMTemplate(const_cast<WrapperTypeInfo*>(&wrapperTypeInfo), result);
7978 bool V8TestObjectPython::hasInstance(v8::Handle<v8::Value> v8Value, v8::Isolate* isolate)
7980 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Value);
7983 v8::Handle<v8::Object> V8TestObjectPython::findInstanceInPrototypeChain(v8::Handle<v8::Value> v8Value, v8::Isolate* isolate)
7985 return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrapperTypeInfo, v8Value);
7988 TestObjectPython* V8TestObjectPython::toNativeWithTypeCheck(v8::Isolate* isolate, v8::Handle<v8::Value> value)
7990 return hasInstance(value, isolate) ? fromInternalPointer(v8::Handle<v8::Object>::Cast(value)->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex)) : 0;
7993 void V8TestObjectPython::installPerContextEnabledProperties(v8::Handle<v8::Object> instanceTemplate, TestObjectPython* impl, v8::Isolate* isolate)
7995 v8::Local<v8::Object> prototypeTemplate = v8::Local<v8::Object>::Cast(instanceTemplate->GetPrototype());
7996 if (ContextFeatures::featureNameEnabled(impl->document())) {
7997 static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\
7998 {"perContextEnabledLongAttribute", TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */};
7999 V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate);
8001 if (ContextFeatures::featureNameEnabled(impl->document())) {
8002 static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\
8003 {"perContextEnabledRuntimeEnabledLongAttribute", TestObjectPythonV8Internal::perContextEnabledRuntimeEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::perContextEnabledRuntimeEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */};
8004 V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate);
8008 void V8TestObjectPython::installPerContextEnabledMethods(v8::Handle<v8::Object> prototypeTemplate, v8::Isolate* isolate)
8010 v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate));
8012 ExecutionContext* context = toExecutionContext(prototypeTemplate->CreationContext());
8013 if (context && context->isDocument() && ContextFeatures::featureNameEnabled(toDocument(context)))
8014 prototypeTemplate->Set(v8AtomicString(isolate, "perContextEnabledVoidMethod"), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perContextEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)->GetFunction());
8017 v8::Handle<v8::Object> V8TestObjectPython::createWrapper(PassRefPtr<TestObjectPython> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
8020 ASSERT(!DOMDataStore::containsWrapper<V8TestObjectPython>(impl.get(), isolate));
8021 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) {
8022 const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObject(impl.get());
8023 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapperTypeInfo. These will both have
8024 // the same object de-ref functions, though, so use that as the basis of the check.
8025 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction);
8028 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &wrapperTypeInfo, toInternalPointer(impl.get()), isolate);
8029 if (UNLIKELY(wrapper.IsEmpty()))
8032 installPerContextEnabledProperties(wrapper, impl.get(), isolate);
8033 V8DOMWrapper::associateObjectWithWrapper<V8TestObjectPython>(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent);
8037 void V8TestObjectPython::derefObject(void* object)
8039 fromInternalPointer(object)->deref();
8043 v8::Handle<v8::Value> toV8NoInline(TestObjectPython* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
8045 return toV8(impl, creationContext, isolate);
8048 } // namespace WebCore