106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)/* 219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * Copyright (C) 2013 Google Inc. All rights reserved. 319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * 419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * modification, are permitted provided that the following conditions are 619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * met: 719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * 819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * * Redistributions of source code must retain the above copyright 919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 1019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * * Redistributions in binary form must reproduce the above 1119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * copyright notice, this list of conditions and the following disclaimer 1219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * in the documentation and/or other materials provided with the 1319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * distribution. 1419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * * Neither the name of Google Inc. nor the names of its 1519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * contributors may be used to endorse or promote products derived from 1619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * this software without specific prior written permission. 1719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * 1819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) */ 3019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 3119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)// This file has been auto-generated by code_generator_v8.pm. DO NOT MODIFY! 3206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 3306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "config.h" 3406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "V8TestObjectPython.h" 3506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 36bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "HTMLNames.h" 3706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "RuntimeEnabledFeatures.h" 38f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "V8Attr.h" 3919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)#include "V8CompareHow.h" 401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8Document.h" 411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8DocumentFragment.h" 421e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8DocumentType.h" 431e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8Element.h" 441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8Entity.h" 451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8HTMLCollection.h" 461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8HTMLElement.h" 471e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8Node.h" 481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8NodeFilter.h" 491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8ShadowRoot.h" 50bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "V8TestInterface.h" 511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8TestInterfaceEmpty.h" 52f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "V8TestObjectA.h" 531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "V8Window.h" 54f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "V8XPathNSResolver.h" 551e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/BindingSecurity.h" 5619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)#include "bindings/v8/Dictionary.h" 571e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/ExceptionState.h" 5851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#include "bindings/v8/ScriptCallStackFactory.h" 59bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "bindings/v8/ScriptPromise.h" 6051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#include "bindings/v8/ScriptState.h" 61bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "bindings/v8/ScriptValue.h" 621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/SerializedScriptValue.h" 631e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/V8AbstractEventListener.h" 641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/V8DOMActivityLogger.h" 6506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "bindings/v8/V8DOMConfiguration.h" 66bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "bindings/v8/V8EventListenerList.h" 671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/V8HiddenPropertyName.h" 681e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/custom/V8ArrayBufferCustom.h" 69f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "bindings/v8/custom/V8ArrayBufferViewCustom.h" 701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/custom/V8Float32ArrayCustom.h" 71f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "bindings/v8/custom/V8Int32ArrayCustom.h" 721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "bindings/v8/custom/V8Uint8ArrayCustom.h" 7319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)#include "core/css/MediaQueryListListener.h" 7406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "core/dom/ContextFeatures.h" 7506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "core/dom/Document.h" 76bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)#include "core/dom/custom/CustomElementCallbackDispatcher.h" 7751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#include "core/frame/DOMWindow.h" 7851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#include "core/frame/UseCounter.h" 7951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#include "core/inspector/ScriptArguments.h" 801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "platform/TraceEvent.h" 811e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "wtf/GetPtr.h" 821e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "wtf/RefPtr.h" 8306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 8406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)namespace WebCore { 8506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 8606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)static void initializeScriptWrappableForInterface(TestObjectPython* object) 8706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 8806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) if (ScriptWrappable::wrapperCanBeStoredInObject(object)) 89f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) ScriptWrappable::setTypeInfoInObject(object, &V8TestObjectPython::wrapperTypeInfo); 9006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) else 9106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) ASSERT_NOT_REACHED(); 9206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 9306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 9406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} // namespace WebCore 9506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 9606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)// In ScriptWrappable::init, the use of a local function declaration has an issue on Windows: 9706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)// the local declaration does not pick up the surrounding namespace. Therefore, we provide this function 9806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)// in the global namespace. 9906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)// (More info on the MSVC bug here: http://connect.microsoft.com/VisualStudio/feedback/details/664619/the-namespace-of-local-function-declarations-in-c) 10006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)void webCoreInitializeScriptWrappableForInterface(WebCore::TestObjectPython* object) 10106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 10206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) WebCore::initializeScriptWrappableForInterface(object); 10306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 10406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 10506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)namespace WebCore { 106a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)const WrapperTypeInfo V8TestObjectPython::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestObjectPython::domTemplate, V8TestObjectPython::derefObject, 0, 0, 0, V8TestObjectPython::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype }; 10706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 10806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)namespace TestObjectPythonV8Internal { 10906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 11006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)template <typename T> void V8_USE(T) { } 11106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 11219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 113bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 114bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 115bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->readonlyStringAttribute(), info.GetIsolate()); 116bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 117bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 11819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 119bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 120bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 12119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyStringAttributeAttributeGetter(info); 122bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 123bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 124bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 12519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyTestInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 126bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 127bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 128bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) RefPtr<TestInterfaceEmpty> result = imp->readonlyTestInterfaceEmptyAttribute(); 129bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (result && DOMDataStore::setReturnValueFromWrapper<V8TestInterfaceEmpty>(info.GetReturnValue(), result.get())) 130bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 131bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> wrapper = toV8(result.get(), info.Holder(), info.GetIsolate()); 132bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (!wrapper.IsEmpty()) { 133bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8HiddenPropertyName::setNamedHiddenReference(info.Holder(), "readonlyTestInterfaceEmptyAttribute", wrapper); 134bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, wrapper); 135bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 136bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 137bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 13819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 139bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 140bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 14119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetter(info); 142bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 143bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 144bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 14519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 146bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 147bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 148bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->readonlyLongAttribute()); 149bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 150bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 15119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 152bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 153bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 15419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyLongAttributeAttributeGetter(info); 155bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 156bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 157bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 15819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 159bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 160bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 161bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, v8DateOrNull(imp->dateAttribute(), info.GetIsolate())); 162bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 163bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 16419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 165bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 166bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 16719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::dateAttributeAttributeGetter(info); 168bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 169bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 170bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 17119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 172bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 173bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 174bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(double, cppValue, toWebCoreDate(jsValue)); 175bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDateAttribute(cppValue); 176bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 177bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 17819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 179bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 180bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 18119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::dateAttributeAttributeSetter(jsValue, info); 182bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 183bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 184bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 18519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 186bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 187bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 188bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->stringAttribute(), info.GetIsolate()); 189bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 190bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 19119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 192bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 193bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 19419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringAttributeAttributeGetter(info); 195bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 196bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 197bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 19819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 199bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 200bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 201bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 202bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setStringAttribute(cppValue); 203bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 204bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 20519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 206bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 207bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 20819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringAttributeAttributeSetter(jsValue, info); 209bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 210bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 211bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 21219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyDOMTimeStampAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 213bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 214bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 215bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->readonlyDOMTimeStampAttribute())); 216bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 217bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 21819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyDOMTimeStampAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 219bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 220bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 22119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyDOMTimeStampAttributeAttributeGetter(info); 222bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 223bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 224bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 22519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 226bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 227bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 228bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueBool(info, imp->booleanAttribute()); 229bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 230bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 23119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 232bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 233bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 23419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::booleanAttributeAttributeGetter(info); 235bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 236bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 237bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 23819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 239bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 240bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 241bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(bool, cppValue, jsValue->BooleanValue()); 242bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setBooleanAttribute(cppValue); 243bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 244bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 24519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 246bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 247bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 24819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::booleanAttributeAttributeSetter(jsValue, info); 249bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 250bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 251bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 25219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 253bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 254bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 255bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->byteAttribute()); 256bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 257bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 25819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 259bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 260bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 26119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::byteAttributeAttributeGetter(info); 262bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 263bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 264bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 26519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 266bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 267bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 268bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt8(jsValue)); 269bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setByteAttribute(cppValue); 270bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 271bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 27219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 273bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 274bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 27519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::byteAttributeAttributeSetter(jsValue, info); 276bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 277bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 278bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 27919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 280bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 281bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 282bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->doubleAttribute()); 283bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 284bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 28519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 286bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 287bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 28819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::doubleAttributeAttributeGetter(info); 289bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 290bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 291bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 29219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 293bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 294bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 295bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(double, cppValue, static_cast<double>(jsValue->NumberValue())); 296bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDoubleAttribute(cppValue); 297bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 298bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 29919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 300bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 301bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 30219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::doubleAttributeAttributeSetter(jsValue, info); 303bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 304bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 305bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 30619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 307bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 308bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 309bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->floatAttribute()); 310bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 311bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 31219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 313bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 314bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 31519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::floatAttributeAttributeGetter(info); 316bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 317bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 318bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 31919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 320bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 321bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 322bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(float, cppValue, static_cast<float>(jsValue->NumberValue())); 323bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setFloatAttribute(cppValue); 324bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 325bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 32619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 327bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 328bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 32919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::floatAttributeAttributeSetter(jsValue, info); 330bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 331bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 332bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 33319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 334bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 335bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 336bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->longAttribute()); 337bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 338bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 33919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 340bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 341bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 34219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longAttributeAttributeGetter(info); 343bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 344bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 345bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 34619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 347bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 348bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 349bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 350bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setLongAttribute(cppValue); 351bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 352bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 35319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 354bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 355bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 35619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longAttributeAttributeSetter(jsValue, info); 357bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 358bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 359bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 36019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 361bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 362bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 363bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->longLongAttribute())); 364bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 365bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 36619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 367bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 368bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 36919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longLongAttributeAttributeGetter(info); 370bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 371bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 372bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 37319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 374bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 375bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 376bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(long long, cppValue, toInt64(jsValue)); 377bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setLongLongAttribute(cppValue); 378bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 379bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 38019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 381bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 382bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 38319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longLongAttributeAttributeSetter(jsValue, info); 384bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 385bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 386bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 38719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 388bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 389bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 390bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueUnsigned(info, imp->octetAttribute()); 391bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 392bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 39319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 394bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 395bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 39619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::octetAttributeAttributeGetter(info); 397bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 398bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 399bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 40019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 401bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 402bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 403bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(unsigned, cppValue, toUInt8(jsValue)); 404bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setOctetAttribute(cppValue); 405bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 406bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 40719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 408bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 409bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 41019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::octetAttributeAttributeSetter(jsValue, info); 411bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 412bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 413bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 41419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 415bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 416bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 417bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->shortAttribute()); 418bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 419bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 42019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 421bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 422bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 42319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::shortAttributeAttributeGetter(info); 424bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 425bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 426bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 42719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 428bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 429bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 43019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt16(jsValue)); 431bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setShortAttribute(cppValue); 432bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 433bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 43419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 435bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 436bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 43719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::shortAttributeAttributeSetter(jsValue, info); 438bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 439bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 440bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 44119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 442bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 443bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 444bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueUnsigned(info, imp->unsignedLongAttribute()); 445bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 446bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 44719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 448bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 449bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 45019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongAttributeAttributeGetter(info); 451bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 452bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 453bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 45419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 455bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 456bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 457bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(unsigned, cppValue, toUInt32(jsValue)); 458bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUnsignedLongAttribute(cppValue); 459bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 460bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 46119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 462bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 463bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 46419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongAttributeAttributeSetter(jsValue, info); 465bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 466bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 467bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 46819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 469bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 470bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 471bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->unsignedLongLongAttribute())); 472bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 473bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 47419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 475bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 476bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 47719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeGetter(info); 478bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 479bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 480bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 48119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 482bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 483bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 484bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(unsigned long long, cppValue, toUInt64(jsValue)); 485bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUnsignedLongLongAttribute(cppValue); 486bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 487bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 48819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 489bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 490bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 49119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeSetter(jsValue, info); 492bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 493bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 494bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 49519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 496bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 497bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 498bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueUnsigned(info, imp->unsignedShortAttribute()); 499bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 500bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 50119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 502bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 503bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 50419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedShortAttributeAttributeGetter(info); 505bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 506bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 507bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 50819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 509bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 510bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 51119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned, cppValue, toUInt16(jsValue)); 512bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUnsignedShortAttribute(cppValue); 513bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 514bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 51519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 516bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 517bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 51819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedShortAttributeAttributeSetter(jsValue, info); 519bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 520bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 521bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 52219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cssAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 523bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 524bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 525bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->cssAttribute()); 526bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 527bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 52819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cssAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 529bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 530bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 53119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::cssAttributeAttributeGetter(info); 532bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 533bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 534bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 53519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cssAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 536bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 537bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 538bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 539bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setCSSAttribute(cppValue); 540bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 541bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 54219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cssAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 543bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 544bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 54519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::cssAttributeAttributeSetter(jsValue, info); 546bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 547bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 548bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 54919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void imeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 550bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 551bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 552bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->imeAttribute()); 553bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 554bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 55519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void imeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 556bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 557bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 55819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::imeAttributeAttributeGetter(info); 559bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 560bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 561bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 56219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void imeAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 563bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 564bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 565bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 566bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setIMEAttribute(cppValue); 567bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 568bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 56919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void imeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 570bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 571bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 57219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::imeAttributeAttributeSetter(jsValue, info); 573bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 574bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 575bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 57619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void svgAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 577bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 578bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 579bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->svgAttribute()); 580bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 581bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 58219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void svgAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 583bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 584bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 58519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::svgAttributeAttributeGetter(info); 586bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 587bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 588bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 58919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void svgAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 590bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 591bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 592bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 593bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setSVGAttribute(cppValue); 594bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 595bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 59619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void svgAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 597bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 598bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 59919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::svgAttributeAttributeSetter(jsValue, info); 600bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 601bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 602bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 60319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xmlAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 604bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 605bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 606bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->xmlAttribute()); 607bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 608bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 60919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xmlAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 610bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 611bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 61219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::xmlAttributeAttributeGetter(info); 613bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 614bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 615bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 61619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xmlAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 617bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 618bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 619bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 620bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setXMLAttribute(cppValue); 621bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 622bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 62319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xmlAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 624bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 625bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 62619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::xmlAttributeAttributeSetter(jsValue, info); 627bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 628bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 629bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 63019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 631bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 632bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 633bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->nodeFilterAttribute(), imp); 634bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 635bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 63619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 637bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 638bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 63919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nodeFilterAttributeAttributeGetter(info); 640bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 641bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 642bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 64319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 644bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 645bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 646bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(RefPtr<NodeFilter>, cppValue, toNodeFilter(jsValue, info.GetIsolate())); 647bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setNodeFilterAttribute(WTF::getPtr(cppValue)); 648bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 649bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 65019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 651bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 652bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 65319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nodeFilterAttributeAttributeSetter(jsValue, info); 654bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 655bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 656bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 65719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 658bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 659bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 660bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->serializedScriptValueAttribute() ? imp->serializedScriptValueAttribute()->deserialize() : v8::Handle<v8::Value>(v8::Null(info.GetIsolate()))); 661bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 662bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 66319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 664bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 665bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 66619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeGetter(info); 667bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 668bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 669bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 67019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 671bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 672bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 673bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(RefPtr<SerializedScriptValue>, cppValue, SerializedScriptValue::create(jsValue, info.GetIsolate())); 674bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setSerializedScriptValueAttribute(WTF::getPtr(cppValue)); 675bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 676bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 67719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 678bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 679bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 68019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeSetter(jsValue, info); 681bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 682bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 683bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 68419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 685bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 686bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 687bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->anyAttribute().v8Value()); 688bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 689bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 69019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 691bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 692bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 69319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::anyAttributeAttributeGetter(info); 694bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 695bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 696bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 69719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 698bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 699bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 700bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(jsValue, info.GetIsolate())); 701bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAnyAttribute(cppValue); 702bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 703bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 70419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 705bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 706bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 70719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::anyAttributeAttributeSetter(jsValue, info); 708bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 709bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 710bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 71119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 712bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 713bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 71419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->promiseAttribute().v8Value()); 715bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 716bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 71719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 718bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 719bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 72019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::promiseAttributeAttributeGetter(info); 721bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 722bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 723bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 72419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 725bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 726bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 72719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(ScriptPromise, cppValue, ScriptPromise(jsValue)); 72819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->setPromiseAttribute(cppValue); 729bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 730bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 73119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 732bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 733bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 73419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::promiseAttributeAttributeSetter(jsValue, info); 735bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 736bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 737bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 73819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 739bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 740bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 741bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->documentAttribute(), imp); 742bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 743bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 74419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 745bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 746bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 74719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentAttributeAttributeGetter(info); 748bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 749bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 750bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 75119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 752bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 753bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 75451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Document*, cppValue, V8Document::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Document::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 755bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDocumentAttribute(WTF::getPtr(cppValue)); 756bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 757bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 75819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 759bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 760bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 76119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentAttributeAttributeSetter(jsValue, info); 762bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 763bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 764bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 76519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentFragmentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 766bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 767bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 768bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->documentFragmentAttribute(), imp); 769bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 770bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 77119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentFragmentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 772bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 773bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 77419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentFragmentAttributeAttributeGetter(info); 775bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 776bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 777bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 77819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentFragmentAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 779bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 780bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 78151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(DocumentFragment*, cppValue, V8DocumentFragment::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8DocumentFragment::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 782bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDocumentFragmentAttribute(WTF::getPtr(cppValue)); 783bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 784bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 78519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentFragmentAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 786bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 787bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 78819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentFragmentAttributeAttributeSetter(jsValue, info); 789bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 790bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 791bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 79219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentTypeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 793bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 794bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 795bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->documentTypeAttribute(), imp); 796bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 797bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 79819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentTypeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 799bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 800bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 80119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentTypeAttributeAttributeGetter(info); 802bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 803bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 804bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 80519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentTypeAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 806bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 807bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 80851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(DocumentType*, cppValue, V8DocumentType::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8DocumentType::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 809bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDocumentTypeAttribute(WTF::getPtr(cppValue)); 810bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 811bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 81219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void documentTypeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 813bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 814bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 81519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::documentTypeAttributeAttributeSetter(jsValue, info); 816bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 817bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 818bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 81919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void elementAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 820bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 821bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 822bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->elementAttribute(), imp); 823bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 824bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 82519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void elementAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 826bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 827bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 82819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::elementAttributeAttributeGetter(info); 829bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 830bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 831bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 83219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void elementAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 833bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 834bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 83551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Element*, cppValue, V8Element::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Element::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 836bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setElementAttribute(WTF::getPtr(cppValue)); 837bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 838bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 83919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void elementAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 840bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 841bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 84219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::elementAttributeAttributeSetter(jsValue, info); 843bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 844bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 845bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 84619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void entityAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 847bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 848bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 849bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->entityAttribute(), imp); 850bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 851bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 85219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void entityAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 853bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 854bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 85519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::entityAttributeAttributeGetter(info); 856bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 857bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 858bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 85919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void entityAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 860bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 861bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 86251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Entity*, cppValue, V8Entity::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Entity::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 863bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setEntityAttribute(WTF::getPtr(cppValue)); 864bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 865bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 86619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void entityAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 867bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 868bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 86919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::entityAttributeAttributeSetter(jsValue, info); 870bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 871bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 872bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 87319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 874bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 875bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 876bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->nodeAttribute(), imp); 877bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 878bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 87919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 880bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 881bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 88219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nodeAttributeAttributeGetter(info); 883bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 884bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 885bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 88619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 887bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 888bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 88951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Node*, cppValue, V8Node::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 890bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setNodeAttribute(WTF::getPtr(cppValue)); 891bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 892bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 89319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 894bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 895bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 89619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nodeAttributeAttributeSetter(jsValue, info); 897bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 898bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 899bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 90019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shadowRootAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 901bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 902bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 903bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->shadowRootAttribute(), imp); 904bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 905bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 90619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shadowRootAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 907bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 908bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 90919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::shadowRootAttributeAttributeGetter(info); 910bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 911bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 912bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 91319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shadowRootAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 914bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 915bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 91651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(ShadowRoot*, cppValue, V8ShadowRoot::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8ShadowRoot::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 917bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setShadowRootAttribute(WTF::getPtr(cppValue)); 918bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 919bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 92019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shadowRootAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 921bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 922bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 92319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::shadowRootAttributeAttributeSetter(jsValue, info); 924bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 925bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 926bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 92719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 928bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 929bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 930bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->arrayBufferAttribute(), imp); 931bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 932bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 93319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 934bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 935bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 93619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::arrayBufferAttributeAttributeGetter(info); 937bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 938bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 939bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 94019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 941bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 942bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 943bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(ArrayBuffer*, cppValue, jsValue->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast(jsValue)) : 0); 944bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setArrayBufferAttribute(WTF::getPtr(cppValue)); 945bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 946bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 94719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 948bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 949bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 95019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::arrayBufferAttributeAttributeSetter(jsValue, info); 951bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 952bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 953bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 95419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 955bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 956bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 957bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->float32ArrayAttribute(), imp); 958bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 959bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 96019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 961bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 962bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 96319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::float32ArrayAttributeAttributeGetter(info); 964bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 965bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 966bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 96719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 968bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 969bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 970bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(Float32Array*, cppValue, jsValue->IsFloat32Array() ? V8Float32Array::toNative(v8::Handle<v8::Float32Array>::Cast(jsValue)) : 0); 971bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setFloat32ArrayAttribute(WTF::getPtr(cppValue)); 972bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 973bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 97419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 975bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 976bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 97719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::float32ArrayAttributeAttributeSetter(jsValue, info); 978bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 979bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 980bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 98119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 982bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 983bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 984bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->uint8ArrayAttribute(), imp); 985bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 986bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 98719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 988bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 989bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 99019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::uint8ArrayAttributeAttributeGetter(info); 991bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 992bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 993bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 99419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 995bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 996bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 997bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(Uint8Array*, cppValue, jsValue->IsUint8Array() ? V8Uint8Array::toNative(v8::Handle<v8::Uint8Array>::Cast(jsValue)) : 0); 998bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUint8ArrayAttribute(WTF::getPtr(cppValue)); 999bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1000bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 100119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1002bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1003bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 100419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::uint8ArrayAttributeAttributeSetter(jsValue, info); 1005bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1006bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1007bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 100819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1009bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1010bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1011bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->testInterfaceEmptyAttribute(), imp); 1012bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1013bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 101419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1015bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1016bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 101719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeGetter(info); 1018bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1019bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1020bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 102119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1022bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1023bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 102451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, cppValue, V8TestInterfaceEmpty::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 1025bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTestInterfaceEmptyAttribute(WTF::getPtr(cppValue)); 1026bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1027bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 102819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1029bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1030bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 103119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeSetter(jsValue, info); 1032bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1033bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1034bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 103519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void selfAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1036bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1037bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1038bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->self(), imp); 1039bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1040bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 104119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void selfAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1042bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1043bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 104419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::selfAttributeGetter(info); 1045bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1046bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1047bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 104819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void selfAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1049bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1050bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 105151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, cppValue, V8TestInterfaceEmpty::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 1052bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setSelf(WTF::getPtr(cppValue)); 1053bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1054bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 105519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void selfAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1056bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1057bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 105819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::selfAttributeSetter(jsValue, info); 1059bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1060bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1061bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 106219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyWindowAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1063bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1064bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1065bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->readonlyWindowAttribute(), imp); 1066bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1067bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 106819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyWindowAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1069bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1070bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 107119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyWindowAttributeAttributeGetter(info); 1072bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1073bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1074bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 107519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlCollectionAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1076bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1077bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1078bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->htmlCollectionAttribute(), imp); 1079bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1080bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 108119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlCollectionAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1082bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1083bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 108419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::htmlCollectionAttributeAttributeGetter(info); 1085bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1086bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1087bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 108819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlCollectionAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1089bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1090bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 109151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(HTMLCollection*, cppValue, V8HTMLCollection::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8HTMLCollection::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 1092bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setHTMLCollectionAttribute(WTF::getPtr(cppValue)); 1093bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1094bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 109519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlCollectionAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1096bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1097bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 109819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::htmlCollectionAttributeAttributeSetter(jsValue, info); 1099bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1100bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1101bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 110219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlElementAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1103bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1104bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1105bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->htmlElementAttribute(), imp); 1106bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1107bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 110819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlElementAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1109bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1110bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 111119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::htmlElementAttributeAttributeGetter(info); 1112bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1113bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1114bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 111519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlElementAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1116bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1117bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 111851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(HTMLElement*, cppValue, V8HTMLElement::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8HTMLElement::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 1119bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setHTMLElementAttribute(WTF::getPtr(cppValue)); 1120bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1121bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 112219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void htmlElementAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1123bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1124bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 112519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::htmlElementAttributeAttributeSetter(jsValue, info); 1126bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1127bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1128bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 112919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1130bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1131bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1132bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, v8Array(imp->stringArrayAttribute(), info.GetIsolate())); 1133bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1134bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 113519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1136bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1137bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 113819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringArrayAttributeAttributeGetter(info); 1139bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1140bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1141bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 114219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1143bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1144bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1145f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(Vector<String>, cppValue, toNativeArray<String>(jsValue, 0, info.GetIsolate())); 1146bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setStringArrayAttribute(cppValue); 1147bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1148bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 114919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1150bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1151bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 115219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringArrayAttributeAttributeSetter(jsValue, info); 1153bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1154bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1155bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 115619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1157bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1158bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1159bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, v8Array(imp->testInterfaceEmptyArrayAttribute(), info.GetIsolate())); 1160bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1161bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 116219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1163bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1164bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 116519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeGetter(info); 1166bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1167bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1168bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 116919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1170bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1171bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1172f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, cppValue, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(jsValue, 0, info.GetIsolate()))); 1173bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTestInterfaceEmptyArrayAttribute(cppValue); 1174bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1175bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 117619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1177bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1178bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 117919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeSetter(jsValue, info); 1180bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1181bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1182bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 118319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatArrayAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1184bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1185bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1186bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, v8Array(imp->floatArrayAttribute(), info.GetIsolate())); 1187bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1188bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 118919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatArrayAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1190bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1191bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 119219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::floatArrayAttributeAttributeGetter(info); 1193bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1194bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1195bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 119619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatArrayAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1197bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1198bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1199f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(Vector<float>, cppValue, toNativeArray<float>(jsValue, 0, info.GetIsolate())); 1200bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setFloatArrayAttribute(cppValue); 1201bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1202bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 120319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatArrayAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1204bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1205bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 120619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::floatArrayAttributeAttributeSetter(jsValue, info); 1207bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1208bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1209bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 121019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1211bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1212bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1213bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) bool isNull = false; 1214bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) String jsValue = imp->nullableStringAttribute(isNull); 1215bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (isNull) { 1216bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueNull(info); 1217bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1218bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 1219bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, jsValue, info.GetIsolate()); 1220bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1221bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 122219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1223bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1224bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 122519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nullableStringAttributeAttributeGetter(info); 1226bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1227bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1228bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 122919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1230bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1231bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1232bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 1233bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setNullableStringAttribute(cppValue); 1234bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1235bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 123619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1237bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1238bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 123919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nullableStringAttributeAttributeSetter(jsValue, info); 1240bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1241bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1242bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 124319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1244bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1245bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1246bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) bool isNull = false; 1247bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) int jsValue = imp->nullableLongAttribute(isNull); 1248bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (isNull) { 1249bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueNull(info); 1250bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1251bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 1252bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, jsValue); 1253bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1254bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 125519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1256bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1257bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 125819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nullableLongAttributeAttributeGetter(info); 1259bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1260bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1261bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 126219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1263bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1264bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1265bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1266bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setNullableLongAttribute(cppValue); 1267bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1268bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 126919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nullableLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1270bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1271bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 127219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nullableLongAttributeAttributeSetter(jsValue, info); 1273bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1274bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1275bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 127619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1277bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1278bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1279bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->testEnumAttribute(), info.GetIsolate()); 1280bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1281bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 128219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1283bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1284bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 128519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testEnumAttributeAttributeGetter(info); 1286bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1287bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1288bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 128919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1290bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1291bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1292bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 1293bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) String string = cppValue; 1294bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (!(string == "" || string == "EnumValue1" || string == "EnumValue2" || string == "EnumValue3")) 1295bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1296bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTestEnumAttribute(cppValue); 1297bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1298bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 129919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1300bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1301bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 130219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testEnumAttributeAttributeSetter(jsValue, info); 1303bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1304bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1305bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 130619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1307bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1308bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, TestObjectPython::staticStringAttribute(), info.GetIsolate()); 1309bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1310bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 131119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1312bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1313bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 131419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::staticStringAttributeAttributeGetter(info); 1315bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1316bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1317bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 131819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1319bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1320bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 1321bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython::setStaticStringAttribute(cppValue); 1322bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1323bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 132419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1325bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1326bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 132719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::staticStringAttributeAttributeSetter(jsValue, info); 1328bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1329bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1330bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 133119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1332bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1333bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, TestObjectPython::staticLongAttribute()); 1334bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1335bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 133619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1337bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1338bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 133919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::staticLongAttributeAttributeGetter(info); 1340bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1341bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1342bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 134319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1344bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1345bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1346bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython::setStaticLongAttribute(cppValue); 1347bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1348bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 134919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void staticLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1350bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1351bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 135219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::staticLongAttributeAttributeSetter(jsValue, info); 1353bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1354bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1355bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 135619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void eventHandlerAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1357bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1358bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1359bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) EventListener* jsValue = imp->eventHandlerAttribute(isolatedWorldForIsolate(info.GetIsolate())); 1360bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListener::cast(jsValue)->getListenerObject(imp->executionContext())) : v8::Handle<v8::Value>(v8::Null(info.GetIsolate()))); 1361bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1362bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 136319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void eventHandlerAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1364bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1365bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 136619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::eventHandlerAttributeAttributeGetter(info); 1367bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1368bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1369bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 137019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void eventHandlerAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1371bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1372bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1373bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) transferHiddenDependency(info.Holder(), imp->eventHandlerAttribute(isolatedWorldForIsolate(info.GetIsolate())), jsValue, V8TestObjectPython::eventListenerCacheIndex, info.GetIsolate()); 1374bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setEventHandlerAttribute(V8EventListenerList::getEventListener(jsValue, true, ListenerFindOrCreate), isolatedWorldForIsolate(info.GetIsolate())); 1375bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1376bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 137719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void eventHandlerAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1378bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1379bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 138019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::eventHandlerAttributeAttributeSetter(jsValue, info); 1381bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1382bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1383bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 138419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1385bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1386bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1387bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingAccessForAllWorldsLongAttribute()); 1388bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1389bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 139019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1391bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1392bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 1393bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 1394bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 1395bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsLongAttribute", 0, 0, "Getter"); 139619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeGetter(info); 1397bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1398bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1399bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 140019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1401bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1402bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1403bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1404bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingAccessForAllWorldsLongAttribute(cppValue); 1405bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1406bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 140719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1408bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1409bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 1410bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 1411bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) { 1412bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> loggerArg[] = { jsValue }; 1413bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter"); 1414bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 141519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeSetter(jsValue, info); 1416bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1417bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1418bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 141919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1420bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1421bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1422bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingGetterForAllWorldsLongAttribute()); 1423bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1424bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 142519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1426bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1427bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 1428bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 1429bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 1430bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterForAllWorldsLongAttribute", 0, 0, "Getter"); 143119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeGetter(info); 1432bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1433bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1434bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 143519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1436bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1437bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1438bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1439bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingGetterForAllWorldsLongAttribute(cppValue); 1440bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1441bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 144219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1443bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1444bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 144519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeSetter(jsValue, info); 1446bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1447bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1448bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 144919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingSetterForAllWorldsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1450bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1451bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1452bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingSetterForAllWorldsLongAttribute()); 1453bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1454bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 145519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1456bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1457bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 145819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeGetter(info); 1459bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1460bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1461bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 146219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingSetterForAllWorldsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1463bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1464bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1465bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1466bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingSetterForAllWorldsLongAttribute(cppValue); 1467bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1468bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 146919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1470bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1471bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 1472bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 1473bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) { 1474bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> loggerArg[] = { jsValue }; 1475bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingSetterForAllWorldsLongAttribute", 1, &loggerArg[0], "Setter"); 1476bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 147719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeSetter(jsValue, info); 1478bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1479bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1480bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 148119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cachedAttributeAnyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1482bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1483a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::String> propertyName = v8::String::NewFromUtf8(info.GetIsolate(), "cachedAttributeAnyAttribute", v8::String::kInternalizedString); 1484bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1485bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (!imp->isValueDirty()) { 1486bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> jsValue = info.Holder()->GetHiddenValue(propertyName); 1487bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (!jsValue.IsEmpty()) { 1488bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, jsValue); 1489bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1490bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 1491bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 1492bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) ScriptValue jsValue = imp->cachedAttributeAnyAttribute(); 1493bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) info.Holder()->SetHiddenValue(propertyName, jsValue.v8Value()); 1494bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, jsValue.v8Value()); 1495bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1496bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 149719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cachedAttributeAnyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1498bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1499bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 150019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetter(info); 1501bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1502bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1503bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 150419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cachedAttributeAnyAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1505bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1506bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1507bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(jsValue, info.GetIsolate())); 1508bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setCachedAttributeAnyAttribute(cppValue); 1509a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) info.Holder()->DeleteHiddenValue(v8::String::NewFromUtf8(info.GetIsolate(), "cachedAttributeAnyAttribute", v8::String::kInternalizedString)); // Invalidate the cached value. 1510bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1511bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 151219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void cachedAttributeAnyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1513bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1514bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 151519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetter(jsValue, info); 1516bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1517bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1518bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 151919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void callWithExecutionContextAnyAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1520bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1521bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1522bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) ExecutionContext* scriptContext = getExecutionContext(); 1523bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->callWithExecutionContextAnyAttribute(scriptContext).v8Value()); 1524bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1525bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 152619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void callWithExecutionContextAnyAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1527bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1528bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 152919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeGetter(info); 1530bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1531bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1532bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 153319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void callWithExecutionContextAnyAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1534bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1535bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1536bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(ScriptValue, cppValue, ScriptValue(jsValue, info.GetIsolate())); 1537bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) ExecutionContext* scriptContext = getExecutionContext(); 1538bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setCallWithExecutionContextAnyAttribute(scriptContext, cppValue); 1539bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1540bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 154119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void callWithExecutionContextAnyAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1542bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1543bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 154419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeSetter(jsValue, info); 1545bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1546bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1547bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 154819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1549bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1550bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1551a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::GetterContext, "checkSecurityForNodeReadonlyDocumentAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 155251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!BindingSecurity::shouldAllowAccessToNode(imp->checkSecurityForNodeReadonlyDocumentAttribute(), exceptionState)) { 1553bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueNull(info); 155451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 1555bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1556bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 1557bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->checkSecurityForNodeReadonlyDocumentAttribute(), imp); 1558bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1559bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 156019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1561bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1562bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 156319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::checkSecurityForNodeReadonlyDocumentAttributeAttributeGetter(info); 1564bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1565bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1566bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 156751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 156819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1569bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1570bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1571bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->conditionalLongAttribute()); 1572bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 157351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1574bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 157551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 157619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1577bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1578bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 157919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalLongAttributeAttributeGetter(info); 1580bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1581bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 158251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1583bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 158451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 158519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1586bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1587bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1588bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1589bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setConditionalLongAttribute(cppValue); 1590bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 159151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1592bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 159351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 159419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1595bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1596bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 159719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalLongAttributeAttributeSetter(jsValue, info); 1598bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1599bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 160051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1601bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 160251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 160319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalAndLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1604bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1605bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1606bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->conditionalAndLongAttribute()); 1607bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 160851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 1609bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 161051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 161119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalAndLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1612bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1613bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 161419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeGetter(info); 1615bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1616bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 161751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 1618bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 161951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 162019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalAndLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1621bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1622bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1623bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1624bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setConditionalAndLongAttribute(cppValue); 1625bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 162651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 1627bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 162851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 162919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalAndLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1630bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1631bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 163219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeSetter(jsValue, info); 1633bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1634bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 163551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 1636bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 163751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 163819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalOrLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1639bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1640bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1641bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->conditionalOrLongAttribute()); 1642bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 164351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 1644bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 164551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 164619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalOrLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1647bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1648bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 164919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeGetter(info); 1650bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1651bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 165251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 1653bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 165451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 165519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalOrLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1656bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1657bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1658bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1659bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setConditionalOrLongAttribute(cppValue); 1660bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 166151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 1662bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 166351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 166419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void conditionalOrLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1665bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1666bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 166719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeSetter(jsValue, info); 1668bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1669bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 167051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 1671bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 167251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customObjectAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1673bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1674bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 167551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPython::customObjectAttributeAttributeGetterCustom(info); 1676bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1677bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1678bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 167951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customObjectAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1680bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1681bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 168251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPython::customObjectAttributeAttributeSetterCustom(jsValue, info); 1683bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1684bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1685bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 168619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1687bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1688bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 168919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customGetterLongAttributeAttributeGetterCustom(info); 1690bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1691bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1692bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 169319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1694bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1695bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1696bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1697bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setCustomGetterLongAttribute(cppValue); 1698bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1699bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 170019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1701bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1702bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 170319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::customGetterLongAttributeAttributeSetter(jsValue, info); 1704bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1705bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1706bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 170751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customGetterReadonlyObjectAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 170851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 170951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 171051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPython::customGetterReadonlyObjectAttributeAttributeGetterCustom(info); 171151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 171251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 171351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 171419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1715bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1716bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1717bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->customSetterLongAttribute()); 1718bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1719bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 172019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1721bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1722bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 172319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::customSetterLongAttributeAttributeGetter(info); 1724bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1725bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1726bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 172719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1728bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1729bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 173019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customSetterLongAttributeAttributeSetterCustom(jsValue, info); 1731bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1732bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1733bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 173451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 173519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1736bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1737bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 173819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customLongAttributeAttributeGetterCustom(info); 1739bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1740bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 174151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1742bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 174351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 174419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1745bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1746bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 174719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customLongAttributeAttributeSetterCustom(jsValue, info); 1748bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1749bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 175051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 1751bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 175219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customElementsCallbacksReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1753bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1754bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1755bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->customElementsCallbacksReadonlyLongAttribute()); 1756bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1757bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 175819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customElementsCallbacksReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1759bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1760bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 176119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::customElementsCallbacksReadonlyLongAttributeAttributeGetter(info); 1762bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1763bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1764bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 176519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void deprecatedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1766bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1767bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1768bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->deprecatedLongAttribute()); 1769bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1770bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 177119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void deprecatedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1772bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1773bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 1774bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) UseCounter::countDeprecation(activeExecutionContext(), UseCounter::LongAttribute); 177519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::deprecatedLongAttributeAttributeGetter(info); 1776bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1777bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1778bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 177919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void deprecatedLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1780bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1781bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1782bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1783bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setDeprecatedLongAttribute(cppValue); 1784bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1785bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 178619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void deprecatedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1787bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1788bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 1789bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) UseCounter::countDeprecation(activeExecutionContext(), UseCounter::LongAttribute); 179019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::deprecatedLongAttributeAttributeSetter(jsValue, info); 1791bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1792bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1793bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 179451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void enforceRangeLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1795bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1796bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 179751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueInt(info, imp->enforceRangeLongAttribute()); 1798bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1799bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 180051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void enforceRangeLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1801bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1802bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 180351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeGetter(info); 1804bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1805bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1806bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 180751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void enforceRangeLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1808bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1809bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 181051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_WITH_TYPECHECK_VOID(int, cppValue, toInt32(jsValue, EnforceRange, ok), info.GetIsolate()); 181151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->setEnforceRangeLongAttribute(cppValue); 1812bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1813bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 181451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void enforceRangeLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1815bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1816bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 181751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeSetter(jsValue, info); 1818bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1819bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1820bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 182151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void exposeJSAccessorsLongAttributeAttributeGetter(const v8::FunctionCallbackInfo<v8::Value>& info) 1822bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1823bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 182451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueInt(info, imp->exposeJSAccessorsLongAttribute()); 1825bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1826bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 182751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void exposeJSAccessorsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 1828bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1829bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 183051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeGetter(info); 1831bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1832bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1833bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 183451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void exposeJSAccessorsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::FunctionCallbackInfo<v8::Value>& info) 1835bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1836bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1837bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 183851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->setExposeJSAccessorsLongAttribute(cppValue); 1839bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1840bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 184151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void exposeJSAccessorsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 1842bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 184351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> jsValue = info[0]; 1844bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 184551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeSetter(jsValue, info); 1846bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1847bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1848bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 184919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void getterRaisesExceptionLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1850bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1851bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1852a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::GetterContext, "getterRaisesExceptionLongAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 185351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) int jsValue = imp->getterRaisesExceptionLongAttribute(exceptionState); 185451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(exceptionState.throwIfNeeded())) 1855bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 1856bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, jsValue); 1857bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1858bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 185919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void getterRaisesExceptionLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1860bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1861bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 186219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::getterRaisesExceptionLongAttributeAttributeGetter(info); 1863bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1864bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1865bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 186619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void getterRaisesExceptionLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1867bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1868bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1869bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1870bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setGetterRaisesExceptionLongAttribute(cppValue); 1871bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1872bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 187319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void getterRaisesExceptionLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1874bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1875bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 187619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::getterRaisesExceptionLongAttributeAttributeSetter(jsValue, info); 1877bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1878bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1879bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 188019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void implementedAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1881bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1882bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1883bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->implementedAsName()); 1884bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1885bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 188619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void implementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1887bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1888bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 188919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::implementedAsLongAttributeAttributeGetter(info); 1890bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1891bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1892bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 189319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void implementedAsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1894bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1895bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1896bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1897bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setImplementedAsName(cppValue); 1898bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1899bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 190019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void implementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1901bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1902bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 190319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::implementedAsLongAttributeAttributeSetter(jsValue, info); 1904bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1905bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1906bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 190719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1908bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1909bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 191019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customImplementedAsLongAttributeAttributeGetterCustom(info); 1911bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1912bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1913bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 191419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1915bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1916bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 191719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customImplementedAsLongAttributeAttributeSetterCustom(jsValue, info); 1918bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1919bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1920bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 192119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1922bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1923bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 192419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customGetterImplementedAsLongAttributeAttributeGetterCustom(info); 1925bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1926bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1927bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 192819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterImplementedAsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1929bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1930bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1931bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1932bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setImplementedAsNameWithCustomGetter(cppValue); 1933bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1934bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 193519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customGetterImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1936bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1937bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 193819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeSetter(jsValue, info); 1939bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1940bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1941bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 194219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterImplementedAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1943bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1944bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1945bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->implementedAsNameWithCustomGetter()); 1946bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1947bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 194819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterImplementedAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1949bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1950bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 195119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeGetter(info); 1952bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1953bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1954bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 195519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void customSetterImplementedAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1956bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1957bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 195819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPython::customSetterImplementedAsLongAttributeAttributeSetterCustom(jsValue, info); 1959bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1960bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1961bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 196219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void measureAsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1963bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1964bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1965bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->measureAsLongAttribute()); 1966bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1967bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 196819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void measureAsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1969bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1970bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 1971bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) UseCounter::count(activeDOMWindow(), UseCounter::TestFeature); 197219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::measureAsLongAttributeAttributeGetter(info); 1973bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1974bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1975bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 197619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void measureAsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1977bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1978bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1979bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 1980bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setMeasureAsLongAttribute(cppValue); 1981bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1982bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 198319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void measureAsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 1984bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1985bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 1986bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) UseCounter::count(activeDOMWindow(), UseCounter::TestFeature); 198719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::measureAsLongAttributeAttributeSetter(jsValue, info); 1988bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 1989bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1990bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 199119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void notEnumerableLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 1992bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1993bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 1994bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->notEnumerableLongAttribute()); 1995bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 1996bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 199719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void notEnumerableLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 1998bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 1999bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 200019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeGetter(info); 2001bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 2002bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2003bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 200419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void notEnumerableLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2005bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2006bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2007bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2008bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setNotEnumerableLongAttribute(cppValue); 2009bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2010bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 201119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void notEnumerableLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2012bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2013bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 201419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeSetter(jsValue, info); 2015bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 2016bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2017bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 201819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perContextEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 201906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 202006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2021bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->perContextEnabledLongAttribute()); 202206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 202306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 202419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perContextEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 202506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 202606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 202719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeGetter(info); 202806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 202906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 203006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 203119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perContextEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 203206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 203306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2034bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2035bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setPerContextEnabledLongAttribute(cppValue); 203606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 203706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 203819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perContextEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 203906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2040bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 204119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeSetter(jsValue, info); 204206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 204306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 204406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 204519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 204606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 204706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2048bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->perWorldBindingsLongAttribute()); 204906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 205006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 205119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 205206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 205306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 205419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetter(info); 205506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 205606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 205706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 205819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 205906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 206006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2061f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2062f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->setPerWorldBindingsLongAttribute(cppValue); 206306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 206406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 206519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 206606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2067f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 206819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetter(jsValue, info); 206906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 207006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 207106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 207219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 207306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 207406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2075f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->perWorldBindingsLongAttribute()); 207606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 207706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 207819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 207906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2080f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 208119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeGetterForMainWorld(info); 208206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 208306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 208406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 208519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 208606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 208706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2088bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2089bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setPerWorldBindingsLongAttribute(cppValue); 209006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 209106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 209219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 209306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2094bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 209519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsLongAttributeAttributeSetterForMainWorld(jsValue, info); 209606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 209706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 209806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 209919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 210006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 210106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2102bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->perWorldBindingsReadonlyLongAttribute()); 210306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 210406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 210519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 210606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 210706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 210819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetter(info); 210906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 211006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 211106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 211219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsReadonlyLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 211306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 211406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2115bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->perWorldBindingsReadonlyLongAttribute()); 211606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 211706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 211819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void perWorldBindingsReadonlyLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 211906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 212006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 212119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterForMainWorld(info); 212206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 212306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 212406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 212519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 212606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 212706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2128bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingAccessPerWorldBindingsLongAttribute()); 212906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 213006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 213119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 213206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 213306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2134bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2135bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2136bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 0, 0, "Getter"); 213719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetter(info); 213806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 213906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 214006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 214119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 214206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 214306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2144bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2145bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue); 214606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 214706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 214819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 214906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2150bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2151bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2152bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) { 2153bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> loggerArg[] = { jsValue }; 2154bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter"); 2155bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 215619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetter(jsValue, info); 215706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 215806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 215906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 216019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 2161f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 2162f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2163f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingAccessPerWorldBindingsLongAttribute()); 2164f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 2165f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 216619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 2167f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 2168f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2169f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2170f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2171f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 0, 0, "Getter"); 217219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); 2173f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 2174f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 2175f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 217619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 217706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 217806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2179bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2180bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue); 218106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 218206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 218319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 218406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 2185bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2186bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2187bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) { 2188bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> loggerArg[] = { jsValue }; 2189bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter"); 2190bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 219119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterForMainWorld(jsValue, info); 219206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 219306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 219406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 219519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 21961e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 21971e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2198bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute()); 21991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22001e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 220119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 22021e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22031e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2204bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2205bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2206bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", 0, 0, "Getter"); 220719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(info); 22081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 22091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22101e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 221119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22131e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2214bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2215bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); 22161e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22171e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 221819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22191e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2220bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2221bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2222bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) { 2223bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8::Handle<v8::Value> loggerArg[] = { jsValue }; 2224bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute", 1, &loggerArg[0], "Setter"); 2225bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 222619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(jsValue, info); 22271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 22281e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22291e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 223019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 2231f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 2232f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2233f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute()); 2234f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 2235f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 223619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 2237f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 2238f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 223919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); 2240f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 2241f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 2242f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 224319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2246bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2247bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); 22481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 225019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2252bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 225319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(jsValue, info); 22541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 22551e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22561e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 225719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 22581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22591e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2260bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingGetterPerWorldBindingsLongAttribute()); 22611e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 226319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 22641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22651e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2266bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2267bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2268bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterPerWorldBindingsLongAttribute", 0, 0, "Getter"); 226919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetter(info); 22701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 22711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 227319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22741e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2276f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2277f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue); 22781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22791e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 228019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 22811e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2282f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 228319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetter(jsValue, info); 22841e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 22851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22861e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 228719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 22881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 22891e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2290f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingGetterPerWorldBindingsLongAttribute()); 22911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 22921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 229319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 22941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2295f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2296f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2297f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2298f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterPerWorldBindingsLongAttribute", 0, 0, "Getter"); 229919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); 23001e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23021e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 230319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2306bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2307bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue); 23081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 231019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2312bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 231319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterForMainWorld(jsValue, info); 23141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23151e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23161e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 231719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 23181e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23191e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2320bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute()); 23211e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23221e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 232319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 23241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23251e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 2326bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 2327bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (contextData && contextData->activityLogger()) 2328bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute", 0, 0, "Getter"); 232919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetter(info); 23301e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23311e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 233319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23351e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2336f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2337f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); 23381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23391e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 234019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2342f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 234319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(jsValue, info); 23441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 234719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info) 23481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2350f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute()); 23511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23521e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 235319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 23541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2355f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 235619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); 23571e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23591e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 236019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23611e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2363bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2364bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); 23651e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 236719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23681e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2369bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 237019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(jsValue, info); 23711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23731e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 237419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void raisesExceptionLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 23751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23761e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2377a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::GetterContext, "raisesExceptionLongAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 237851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) int jsValue = imp->raisesExceptionLongAttribute(exceptionState); 237951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(exceptionState.throwIfNeeded())) 23801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) return; 2381bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, jsValue); 23821e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23831e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 238419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void raisesExceptionLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 23851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 23861e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 238719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeGetter(info); 23881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 23891e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23901e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 239119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void raisesExceptionLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 23921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2393a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::SetterContext, "raisesExceptionLongAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 23941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2395bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 239651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->setRaisesExceptionLongAttribute(cppValue, exceptionState); 239751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 23981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 23991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 240019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void raisesExceptionLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2402bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 240319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeSetter(jsValue, info); 24041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24061e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 240719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectTestInterfaceAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 24081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2410bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->fastGetAttribute(HTMLNames::reflecttestinterfaceattributeAttr), imp); 24111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 241319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectTestInterfaceAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 24141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24151e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 241619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeGetter(info); 24171e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24181e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24191e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 242019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectTestInterfaceAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24211e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24221e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 242351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterface::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 2424bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2425bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::reflecttestinterfaceattributeAttr, WTF::getPtr(cppValue)); 24261e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 242819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectTestInterfaceAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24291e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2430bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2431bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 243219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeSetter(jsValue, info); 24331e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24351e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 243619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectReflectedNameAttributeTestAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 24371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2439bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->fastGetAttribute(HTMLNames::reflectedNameAttributeAttr), imp); 24401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 244219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectReflectedNameAttributeTestAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 24431e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 244519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeGetter(info); 24461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24471e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 244919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectReflectedNameAttributeTestAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24501e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 245251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterface::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 2453bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2454bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::reflectedNameAttributeAttr, WTF::getPtr(cppValue)); 24551e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24561e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 245719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectReflectedNameAttributeTestAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2459bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2460bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 246119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeSetter(jsValue, info); 24621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24631e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 246519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectBooleanAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 24661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2468bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueBool(info, imp->fastHasAttribute(HTMLNames::reflectbooleanattributeAttr)); 24691e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 247119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectBooleanAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 24721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24731e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 247419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectBooleanAttributeAttributeGetter(info); 24751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24761e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24771e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 247819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectBooleanAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24791e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2481bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(bool, cppValue, jsValue->BooleanValue()); 2482bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2483bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setBooleanAttribute(HTMLNames::reflectbooleanattributeAttr, cppValue); 24841e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 248619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectBooleanAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 24871e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2488bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2489bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 249019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectBooleanAttributeAttributeSetter(jsValue, info); 24911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 24921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24931e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 249419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 24951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 24961e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2497bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->getIntegralAttribute(HTMLNames::reflectlongattributeAttr)); 24981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 24991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 250019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 25011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25021e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 250319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectLongAttributeAttributeGetter(info); 25041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25061e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 250719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2510bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2511bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2512bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setIntegralAttribute(HTMLNames::reflectlongattributeAttr, cppValue); 25131e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 251519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25161e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2517bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2518bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 251919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectLongAttributeAttributeSetter(jsValue, info); 25201e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25211e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25221e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 252319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedShortAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 25241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25251e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2526bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueUnsigned(info, std::max(0, imp->fastGetAttribute(HTMLNames::reflectunsignedshortattributeAttr))); 25271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25281e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 252919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedShortAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 25301e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25311e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 253219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeGetter(info); 25331e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25351e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 253619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedShortAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 253919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned, cppValue, toUInt16(jsValue)); 2540bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2541bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::reflectunsignedshortattributeAttr, cppValue); 25421e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25431e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 254419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedShortAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2546bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2547bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 254819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeSetter(jsValue, info); 25491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25501e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 255219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 25531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2555bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueUnsigned(info, std::max(0, imp->getIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr))); 25561e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25571e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 255819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 25591e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25601e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 256119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeGetter(info); 25621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25631e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 256519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2568bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(unsigned, cppValue, toUInt32(jsValue)); 2569bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2570bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUnsignedIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr, cppValue); 25711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 257319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectUnsignedLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25741e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2575bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2576bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 257719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeSetter(jsValue, info); 25781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25791e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 258119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void idAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 25821e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2583bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2584bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getIdAttribute(), info.GetIsolate()); 25851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25861e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 258719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void idAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 25881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 25891e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 259019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::idAttributeGetter(info); 25911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 25921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 25931e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 259419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void idAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 25951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2596bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2597bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2598bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2599bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::idAttr, cppValue); 26001e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 260219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void idAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26031e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2604bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2605bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 260619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::idAttributeSetter(jsValue, info); 26071e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 261019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nameAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 26111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2613bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getNameAttribute(), info.GetIsolate()); 26141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26151e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 261619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nameAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 26171e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26181e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 261919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nameAttributeGetter(info); 26201e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26211e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26221e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 262319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nameAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26251e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2626bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2627bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2628bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::nameAttr, cppValue); 26291e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26301e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 263119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nameAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2633bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2634bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 263519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nameAttributeSetter(jsValue, info); 26361e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 263919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void classAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 26401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2642bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getClassAttribute(), info.GetIsolate()); 26431e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 264519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void classAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 26461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26471e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 264819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::classAttributeGetter(info); 26491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26501e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 265219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void classAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2655bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2656bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2657bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::classAttr, cppValue); 26581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26591e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 266019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void classAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26611e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2662bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2663bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 266419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::classAttributeSetter(jsValue, info); 26651e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 266819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedIdAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 26691e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2671bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getIdAttribute(), info.GetIsolate()); 26721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26731e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 267419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedIdAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 26751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26761e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 267719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedIdAttributeGetter(info); 26781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26791e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 268119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedIdAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26821e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26831e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2684bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2685bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2686bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::idAttr, cppValue); 26871e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 268919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedIdAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 26901e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2691bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2692bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 269319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedIdAttributeSetter(jsValue, info); 26941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 26951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 26961e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 269719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedNameAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 26981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 26991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2700bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getNameAttribute(), info.GetIsolate()); 27011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27021e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 270319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedNameAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 27041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 270619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedNameAttributeGetter(info); 27071e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 271019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedNameAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 27111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2713bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2714bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2715bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::nameAttr, cppValue); 27161e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27171e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 271819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedNameAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 27191e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2720bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2721bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 272219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedNameAttributeSetter(jsValue, info); 27231e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27251e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 272619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedClassAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 27271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27281e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2729bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getClassAttribute(), info.GetIsolate()); 27301e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27311e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 273219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedClassAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 27331e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 273519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedClassAttributeGetter(info); 27361e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 273919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedClassAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 27401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2742bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2743bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 2744bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::classAttr, cppValue); 27451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 274719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void reflectedClassAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 27481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2749bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 2750bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 275119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::reflectedClassAttributeSetter(jsValue, info); 27521e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 275519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void replaceableReadonlyLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 2756bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2757bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2758f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValueInt(info, imp->replaceableReadonlyLongAttribute()); 2759bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2760bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 276119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void replaceableReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 27621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27631e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 276419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::replaceableReadonlyLongAttributeAttributeGetter(info); 27651e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 276819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void runtimeEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 2769bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2770bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2771bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->runtimeEnabledLongAttribute()); 2772bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2773bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 277419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void runtimeEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 27751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 27761e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 277719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeGetter(info); 2778bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 2779bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2780bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 278119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void runtimeEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2782bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2783bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2784bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 2785bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setRuntimeEnabledLongAttribute(cppValue); 2786bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2787bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 278819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void runtimeEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2789bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2790bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 279119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeSetter(jsValue, info); 27921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 27931e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 27941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 279551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 279651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalRuntimeEnabledLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 2797bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2798bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 279951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueInt(info, imp->conditionalRuntimeEnabledLongAttribute()); 2800bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 280151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 2802bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 280351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 280451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalRuntimeEnabledLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 28051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28061e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 280751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeGetter(info); 28081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 281051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 28111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 281251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 281351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalRuntimeEnabledLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 28141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2815bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2816bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 281751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->setConditionalRuntimeEnabledLongAttribute(cppValue); 2818bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 281951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 2820bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 282151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 282251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalRuntimeEnabledLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2823bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2824bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 282551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeSetter(jsValue, info); 28261e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 282851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 28291e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 283019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 28311e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2833bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->setterCallWithActiveWindowAndFirstWindowStringAttribute(), info.GetIsolate()); 28341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28351e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 283619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 28371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 283919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetter(info); 28401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28411e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28421e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 284319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 28441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2846bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2847bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setSetterCallWithActiveWindowAndFirstWindowStringAttribute(activeDOMWindow(), firstDOMWindow(), cppValue); 28481e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 285019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 28511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2852bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 285319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetter(jsValue, info); 28541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28551e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28561e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 285719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterRaisesExceptionLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 28581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28591e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2860bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->setterRaisesExceptionLongAttribute()); 28611e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28621e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 286319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterRaisesExceptionLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 28641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28651e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 286619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeGetter(info); 28671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28681e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28691e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 287019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterRaisesExceptionLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 28711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2872a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::SetterContext, "setterRaisesExceptionLongAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 28731e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2874bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 287551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->setSetterRaisesExceptionLongAttribute(cppValue, exceptionState); 287651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 28771e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 287919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void setterRaisesExceptionLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 28801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2881bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 288219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeSetter(jsValue, info); 28831e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28841e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 288619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingFloatAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 28871e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2889bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValue(info, imp->strictTypeCheckingFloatAttribute()); 28901e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 289219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingFloatAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 28931e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 28941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 289519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeGetter(info); 28961e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 28971e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 28981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 289919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingFloatAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29001e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2902bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(float, cppValue, static_cast<float>(jsValue->NumberValue())); 2903bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setStrictTypeCheckingFloatAttribute(cppValue); 29041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 290619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingFloatAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29071e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2908bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 290919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeSetter(jsValue, info); 29101e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 291319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingTestInterfaceAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 29141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29151e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2916bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueFast(info, imp->strictTypeCheckingTestInterfaceAttribute(), imp); 29171e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29181e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 291919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingTestInterfaceAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 29201e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29211e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 292219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeGetter(info); 29231e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29251e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 292619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingTestInterfaceAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29271e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2928a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::SetterContext, "strictTypeCheckingTestInterfaceAttribute", "TestObjectPython", info.Holder(), info.GetIsolate()); 292951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!isUndefinedOrNull(jsValue) && !V8TestInterface::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate()))) { 2930a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("The provided value is not of type 'TestInterface'."); 2931a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 2932bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 2933bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 29341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 293551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterface*, cppValue, V8TestInterface::hasInstance(jsValue, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterface::toNative(v8::Handle<v8::Object>::Cast(jsValue)) : 0); 2936bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setStrictTypeCheckingTestInterfaceAttribute(WTF::getPtr(cppValue)); 29371e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29381e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 293919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void strictTypeCheckingTestInterfaceAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29401e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2941bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 294219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeSetter(jsValue, info); 29431e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29441e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29451e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 294619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatNullAsNullStringStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 2947bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2948bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2949bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->treatNullAsNullStringStringAttribute(), info.GetIsolate()); 2950bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2951bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 295219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatNullAsNullStringStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 29531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 295519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeGetter(info); 29561e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29571e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 295919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatNullAsNullStringStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29601e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2961bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2962bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, cppValue, jsValue); 2963bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTreatNullAsNullStringStringAttribute(cppValue); 2964bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 2965bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 296619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatNullAsNullStringStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 2967bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 2968bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 296919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeSetter(jsValue, info); 29701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29721e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 297319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsNullStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 29741e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2976bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueStringOrNull(info, imp->treatReturnedNullStringAsNullStringAttribute(), info.GetIsolate()); 29771e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 297919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsNullStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 29801e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29811e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 298219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeGetter(info); 29831e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29841e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29851e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 298619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsNullStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29871e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 29881e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 2989bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 2990bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTreatReturnedNullStringAsNullStringAttribute(cppValue); 29911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 299319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsNullStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 29941e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 2995bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 299619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeSetter(jsValue, info); 29971e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 29981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 29991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 300019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 30011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30021e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3003bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueStringOrUndefined(info, imp->treatReturnedNullStringAsUndefinedStringAttribute(), info.GetIsolate()); 30041e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30051e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 300619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 30071e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 300919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetter(info); 30101e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 30111e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30121e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 301319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 30141e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30151e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3016bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 3017bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setTreatReturnedNullStringAsUndefinedStringAttribute(cppValue); 3018bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3019bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 302019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3021bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3022bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 302319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetter(jsValue, info); 3024bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3025bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3026bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 302719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 3028bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3029bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3030bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getURLAttribute(HTMLNames::urlstringattributeAttr), info.GetIsolate()); 30311e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 303319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 30341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30351e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 303619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::urlStringAttributeAttributeGetter(info); 3037bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3038bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3039bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 304019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3041bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3042bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3043bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 3044bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 3045bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::urlstringattributeAttr, cppValue); 3046bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3047bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 304819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3049bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3050bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 3051bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 305219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::urlStringAttributeAttributeSetter(jsValue, info); 30531e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 30541e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30551e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 305619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 30571e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30581e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3059bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueString(info, imp->getURLAttribute(HTMLNames::ReflectUrlAttributeAttr), info.GetIsolate()); 30601e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30611e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 306219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 30631e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30641e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 306519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::urlStringAttributeAttributeGetter(info); 30661e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 30671e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30681e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 306919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 30701e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30711e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3072bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, cppValue, jsValue); 3073bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 3074bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setAttribute(HTMLNames::ReflectUrlAttributeAttr, cppValue); 30751e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 30761e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 307719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void urlStringAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3078bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3079bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 3080bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 308119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::urlStringAttributeAttributeSetter(jsValue, info); 3082bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3083bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3084bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 308519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unforgeableLongAttributeAttributeGetter(const v8::PropertyCallbackInfo<v8::Value>& info) 3086bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3087a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8TestObjectPython::domTemplate(info.GetIsolate(), worldType(info.GetIsolate()))); 3088bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (holder.IsEmpty()) 3089bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) return; 3090bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(holder); 3091bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) v8SetReturnValueInt(info, imp->unforgeableLongAttribute()); 3092bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3093bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 309419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unforgeableLongAttributeAttributeGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 30951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles){ 30961e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 309719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unforgeableLongAttributeAttributeGetter(info); 30981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 30991e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)} 3100bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 310119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unforgeableLongAttributeAttributeSetter(v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3102bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3103bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3104bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) V8TRYCATCH_VOID(int, cppValue, toInt32(jsValue)); 3105bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) imp->setUnforgeableLongAttribute(cppValue); 3106bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3107bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 310819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unforgeableLongAttributeAttributeSetterCallback(v8::Local<v8::String>, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3109bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3110bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMSetter"); 311119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unforgeableLongAttributeAttributeSetter(jsValue, info); 3112bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3113bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3114bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 311519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void TestObjectPythonConstructorGetter(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 3116f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3117f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::Value> data = info.Data(); 3118f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) ASSERT(data->IsExternal()); 3119f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->CreationContext()); 3120f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) if (!perContextData) 3121f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3122f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::unwrap(data))); 3123f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3124f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 3125bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)static void TestObjectPythonReplaceableAttributeSetter(v8::Local<v8::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3126bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3127bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) info.This()->ForceSet(name, jsValue); 3128bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 3129bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 3130bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)static void TestObjectPythonReplaceableAttributeSetterCallback(v8::Local<v8::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info) 3131bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 3132bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) TestObjectPythonV8Internal::TestObjectPythonReplaceableAttributeSetter(name, jsValue, info); 3133bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 31341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) 313519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3136f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 313719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 3138f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethod(); 3139f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 314006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 314119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3142f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3143f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 314419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodMethod(info); 3145f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3146f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 314706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 314851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void staticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 314951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 315051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython::staticVoidMethod(); 315151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 315251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 315351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void staticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 315451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 315551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 315651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::staticVoidMethodMethod(info); 315751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 315851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 315951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 316019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3161f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 316219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 316319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8DateOrNull(imp->dateMethod(), info.GetIsolate())); 3164f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3165f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 316619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dateMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3167f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3168f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 316919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::dateMethodMethod(info); 3170f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3171f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3172f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 317319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3174f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 317519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 317619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueString(info, imp->stringMethod(), info.GetIsolate()); 3177f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3178f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 317919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3180f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3181f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 318219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringMethodMethod(info); 3183f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3184f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3185f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 318619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyDOMTimeStampMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3187f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 318819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 318919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->readonlyDOMTimeStampMethod())); 3190f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3191f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 319219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void readonlyDOMTimeStampMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3193f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3194f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 319519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::readonlyDOMTimeStampMethodMethod(info); 3196f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3197f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3198f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 319919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3200f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 320119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 320219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueBool(info, imp->booleanMethod()); 3203f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3204f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 320519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void booleanMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3206f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3207f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 320819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::booleanMethodMethod(info); 3209f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3210f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3211f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 321219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3213f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 321419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 321519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueInt(info, imp->byteMethod()); 3216f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3217f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 321819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void byteMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3219f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3220f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 322119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::byteMethodMethod(info); 3222f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3223f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3224f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 322519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3226f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 322719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 322819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->doubleMethod()); 3229f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3230f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 323119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void doubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3232f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3233f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 323419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::doubleMethodMethod(info); 3235f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3236f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3237f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 323819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3239f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 324019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 324119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->floatMethod()); 3242f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3243f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 324419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void floatMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3245f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3246f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 324719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::floatMethodMethod(info); 3248f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3249f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3250f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 325119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3252f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 325319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 325419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueInt(info, imp->longMethod()); 3255f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3256f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 325719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3258f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3259f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 326019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longMethodMethod(info); 3261f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3262f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3263f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 326419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3265f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 326619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 326719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->longLongMethod())); 3268f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3269f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 327019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3271f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3272f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 327319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longLongMethodMethod(info); 3274f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3275f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3276f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 327719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3278f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 327919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 328019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueUnsigned(info, imp->octetMethod()); 3281f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3282f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 328319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void octetMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3284f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3285f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 328619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::octetMethodMethod(info); 3287f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3288f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3289f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 329019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3291f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 329219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 329319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueInt(info, imp->shortMethod()); 3294f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3295f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 329619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void shortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3297f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3298f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 329919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::shortMethodMethod(info); 3300f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3301f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3302f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 330319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3304f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 330519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 330619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueUnsigned(info, imp->unsignedLongMethod()); 3307f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3308f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 330919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3310f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3311f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 331219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongMethodMethod(info); 3313f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3314f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3315f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 331619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3317f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 331819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 331919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, static_cast<double>(imp->unsignedLongLongMethod())); 3320f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3321f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 332219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedLongLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3323f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3324f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 332519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedLongLongMethodMethod(info); 3326f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3327f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3328f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 332919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3330f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 333119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 333219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueUnsigned(info, imp->unsignedShortMethod()); 3333f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3334f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 333519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void unsignedShortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3336f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3337f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 333819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::unsignedShortMethodMethod(info); 3339f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3340f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3341f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 334219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDateArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3343f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 334419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 334519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDateArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3346f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3347f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 334819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 334919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(double, dateArg, toWebCoreDate(info[0])); 3350f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodDateArg(dateArg); 3351f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3352f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 335319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDateArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3354f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3355f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 335619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDateArgMethod(info); 3357f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3358f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3359f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 336019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3361f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 336219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 336319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3364f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3365f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 336619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 336719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]); 3368f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodStringArg(stringArg); 3369f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3370f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 337119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3372f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3373f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 337419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodStringArgMethod(info); 3375f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3376f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3377f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 337819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodBooleanArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3379f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 338019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 338119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodBooleanArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3382f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3383f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 338419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 338519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(bool, booleanArg, info[0]->BooleanValue()); 3386f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodBooleanArg(booleanArg); 3387f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3388f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 338919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3390f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3391f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 339219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodBooleanArgMethod(info); 3393f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3394f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3395f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 339619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodByteArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3397f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 339819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 339919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodByteArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3400f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3401f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 340219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 340319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, byteArg, toInt8(info[0])); 3404f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodByteArg(byteArg); 3405f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3406f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 340719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodByteArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3408f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3409f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 341019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodByteArgMethod(info); 3411f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3412f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3413f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 341419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDoubleArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3415f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 341619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 341719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDoubleArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3418f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3419f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 342019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 342119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(double, doubleArg, static_cast<double>(info[0]->NumberValue())); 3422f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodDoubleArg(doubleArg); 3423f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3424f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 342519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3426f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3427f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 342819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDoubleArgMethod(info); 3429f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3430f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3431f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 343219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodFloatArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3433f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 343419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 343519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodFloatArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3436f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3437f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 343819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 343919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(float, floatArg, static_cast<float>(info[0]->NumberValue())); 3440f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodFloatArg(floatArg); 3441f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3442f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 344319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3444f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3445f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 344619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodFloatArgMethod(info); 3447f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3448f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3449f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 345019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3451f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 345219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 345319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3454f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3455f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 345619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 345719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 3458f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArg(longArg); 3459f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3460f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 346119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3462f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3463f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 346419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongArgMethod(info); 3465f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3466f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3467f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 346819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3469f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 347019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 347119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3472f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3473f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 347419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 347519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(long long, longLongArg, toInt64(info[0])); 3476f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongLongArg(longLongArg); 3477f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3478f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 347919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3480f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3481f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 348219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongLongArgMethod(info); 3483f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3484f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3485f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 348619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOctetArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3487f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 348819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 348919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodOctetArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3490f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3491f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 349219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 349319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned, octetArg, toUInt8(info[0])); 3494f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodOctetArg(octetArg); 3495f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3496f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 349719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOctetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3498f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3499f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 350019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodOctetArgMethod(info); 3501f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3502f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3503f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 350419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3505f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 350619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 350719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodShortArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3508f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3509f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 351019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 351119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, shortArg, toInt16(info[0])); 3512f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodShortArg(shortArg); 3513f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3514f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 351519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3516f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3517f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 351819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodShortArgMethod(info); 3519f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3520f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3521f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 352219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3523f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 352419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 352519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodUnsignedLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3526f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3527f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 352819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 352919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned, unsignedLongArg, toUInt32(info[0])); 3530f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodUnsignedLongArg(unsignedLongArg); 3531f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3532f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 353319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3534f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3535f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 353619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodUnsignedLongArgMethod(info); 3537f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3538f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3539f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 354019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedLongLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3541f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 354219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 354319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodUnsignedLongLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3544f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3545f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 354619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 354719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned long long, unsignedLongLongArg, toUInt64(info[0])); 3548f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodUnsignedLongLongArg(unsignedLongLongArg); 3549f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3550f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 355119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3552f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3553f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 355419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodUnsignedLongLongArgMethod(info); 3555f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3556f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3557f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 355819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3559f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 356019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 356119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodUnsignedShortArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3562f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3563f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 356419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 356519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(unsigned, unsignedShortArg, toUInt16(info[0])); 3566f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodUnsignedShortArg(unsignedShortArg); 3567f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3568f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 356919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3570f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3571f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 357219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodUnsignedShortArgMethod(info); 3573f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3574f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3575f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 357619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3577f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 357819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 357919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->testInterfaceEmptyMethod()); 3580f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3581f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 358219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3583f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3584f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 358519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyMethodMethod(info); 3586f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3587f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3588f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 358919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3590f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 359119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 359219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3593f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3594f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 359519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 359651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3597f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); 3598f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3599f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 360019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3601f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3602f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 360319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgMethod(info); 3604f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3605f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3606f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 360719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3608f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 360919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 2)) { 361019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongArgTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(2, info.Length())), info.GetIsolate()); 3611f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3612f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 361319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 361419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 361551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[1], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[1])) : 0); 3616f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgTestInterfaceEmptyArg(longArg, testInterfaceEmptyArg); 3617f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3618f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 361919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 362019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 362119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 362219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongArgTestInterfaceEmptyArgMethod(info); 362319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 362419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 362519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 362619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void compareHowMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 362719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 362819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 362919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->compareHowMethod()); 363019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 363119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 363219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void compareHowMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 363319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 363419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 363519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::compareHowMethodMethod(info); 363619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 363719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 363819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 363919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3640f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 364119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 364219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->anyMethod().v8Value()); 364319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 364419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 364519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void anyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 364619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 364719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 364819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::anyMethodMethod(info); 364919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 365019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 365119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 365219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodMediaQueryListListenerArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 365319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 365419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 365519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodMediaQueryListListenerArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 365619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 365719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 365819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 365919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(RefPtr<MediaQueryListListener>, mediaQueryListListenerArg, MediaQueryListListener::create(ScriptValue(info[0], info.GetIsolate()))); 366019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodMediaQueryListListenerArg(mediaQueryListListenerArg); 366119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 366219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 366319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodMediaQueryListListenerArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 366419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 366519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 366619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodMediaQueryListListenerArgMethod(info); 366719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 366819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 366919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 367019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodCompareHowArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 367119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 367219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 367319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodCompareHowArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 367419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 367519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 367619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 367719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Range::CompareHow, compareHowArg, static_cast<Range::CompareHow>(info[0]->Int32Value())); 367819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodCompareHowArg(compareHowArg); 367919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 368019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 368119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodCompareHowArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 368219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 368319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 368419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodCompareHowArgMethod(info); 368519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 368619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 368719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 368819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodAnyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 368919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 369019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 369119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodAnyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 369219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 369319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 369419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 369519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(ScriptValue, anyArg, ScriptValue(info[0], info.GetIsolate())); 369619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodAnyArg(anyArg); 369719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 369819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 369919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodAnyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 370019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 370119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 370219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodAnyArgMethod(info); 370319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 370419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 370519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 370619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodAttrArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 370719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 370819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 370919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodAttrArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3710f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3711f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 371219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 371351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Attr*, attrArg, V8Attr::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8Attr::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3714f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodAttrArg(attrArg); 3715f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3716f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 371719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodAttrArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3718f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3719f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 372019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodAttrArgMethod(info); 3721f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3722f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3723f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 372419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDocumentArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3725f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 372619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 372719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDocumentArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3728f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3729f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 373019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 373151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Document*, documentArg, V8Document::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8Document::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3732f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodDocumentArg(documentArg); 3733f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3734f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 373519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDocumentArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3736f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3737f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 373819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDocumentArgMethod(info); 3739f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3740f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3741f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 374219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDocumentTypeArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3743f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 374419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 374519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDocumentTypeArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3746f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3747f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 374819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 374951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(DocumentType*, documentTypeArg, V8DocumentType::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8DocumentType::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3750f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodDocumentTypeArg(documentTypeArg); 3751f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3752f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 375319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDocumentTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3754f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3755f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 375619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDocumentTypeArgMethod(info); 3757f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3758f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3759f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 376019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodElementArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3761f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 376219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 376319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodElementArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3764f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3765f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 376619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 376751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Element*, elementArg, V8Element::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8Element::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3768f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodElementArg(elementArg); 3769f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3770f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 377119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodElementArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3772f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3773f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 377419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodElementArgMethod(info); 3775f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3776f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3777f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 377819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNodeArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3779f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 378019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 378119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodNodeArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3782f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3783f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 378419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 378551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Node*, nodeArg, V8Node::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 3786f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodNodeArg(nodeArg); 3787f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3788f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 378919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNodeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3790f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3791f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 379219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodNodeArgMethod(info); 3793f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3794f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3795f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 379619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3797f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 379819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 379919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->arrayBufferMethod()); 3800f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3801f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 380219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3803f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3804f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 380519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::arrayBufferMethodMethod(info); 3806f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3807f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3808f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 380919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferViewMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3810f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 381119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 381219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->arrayBufferViewMethod()); 3813f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3814f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 381519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void arrayBufferViewMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3816f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3817f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 381819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::arrayBufferViewMethodMethod(info); 3819f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3820f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3821f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 382219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3823f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 382419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 382519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->float32ArrayMethod()); 3826f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3827f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 382819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void float32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3829f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3830f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 383119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::float32ArrayMethodMethod(info); 3832f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3833f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3834f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 383519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void int32ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3836f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 383719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 383819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->int32ArrayMethod()); 3839f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3840f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 384119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void int32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3842f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3843f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 384419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::int32ArrayMethodMethod(info); 3845f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3846f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3847f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 384819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3849f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 385019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 385119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->uint8ArrayMethod()); 3852f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3853f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 385419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void uint8ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3855f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3856f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 385719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::uint8ArrayMethodMethod(info); 3858f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3859f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3860f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 386119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayBufferArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3862f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 386319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 386419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayBufferArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3865f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3866f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 386719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 386819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(ArrayBuffer*, arrayBufferArg, info[0]->IsArrayBuffer() ? V8ArrayBuffer::toNative(v8::Handle<v8::ArrayBuffer>::Cast(info[0])) : 0); 3869f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodArrayBufferArg(arrayBufferArg); 3870f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3871f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 387219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayBufferArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3873f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3874f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 387519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodArrayBufferArgMethod(info); 3876f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3877f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3878f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 387919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayBufferViewArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3880f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 388119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 388219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayBufferViewArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3883f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3884f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 388519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 388619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(ArrayBufferView*, arrayBufferViewArg, info[0]->IsArrayBufferView() ? V8ArrayBufferView::toNative(v8::Handle<v8::ArrayBufferView>::Cast(info[0])) : 0); 3887f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodArrayBufferViewArg(arrayBufferViewArg); 3888f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3889f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 389019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3891f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3892f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 389319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodArrayBufferViewArgMethod(info); 3894f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3895f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3896f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 389719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodFloat32ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3898f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 389919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 390019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodFloat32ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3901f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3902f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 390319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 390419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Float32Array*, float32ArrayArg, info[0]->IsFloat32Array() ? V8Float32Array::toNative(v8::Handle<v8::Float32Array>::Cast(info[0])) : 0); 3905f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodFloat32ArrayArg(float32ArrayArg); 3906f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3907f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 390819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodFloat32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3909f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3910f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 391119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodFloat32ArrayArgMethod(info); 3912f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3913f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3914f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 391519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodInt32ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3916f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 391719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 391819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodInt32ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3919f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3920f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 392119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 392219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Int32Array*, int32ArrayArg, info[0]->IsInt32Array() ? V8Int32Array::toNative(v8::Handle<v8::Int32Array>::Cast(info[0])) : 0); 3923f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodInt32ArrayArg(int32ArrayArg); 3924f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3925f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 392619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodInt32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3927f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3928f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 392919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodInt32ArrayArgMethod(info); 3930f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3931f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3932f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 393319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUint8ArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3934f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 393519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 393619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodUint8ArrayArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3937f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3938f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 393919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 394019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Uint8Array*, uint8ArrayArg, info[0]->IsUint8Array() ? V8Uint8Array::toNative(v8::Handle<v8::Uint8Array>::Cast(info[0])) : 0); 3941f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodUint8ArrayArg(uint8ArrayArg); 3942f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3943f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 394419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodUint8ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3945f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3946f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 394719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodUint8ArrayArgMethod(info); 3948f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3949f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3950f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 395119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3952f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 395319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 395419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->longArrayMethod(), info.GetIsolate())); 3955f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3956f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 395719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3958f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3959f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 396019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longArrayMethodMethod(info); 3961f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3962f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3963f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 396419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3965f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 396619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 396719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->stringArrayMethod(), info.GetIsolate())); 3968f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3969f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 397019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3971f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3972f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 397319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringArrayMethodMethod(info); 3974f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3975f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3976f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 397719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3978f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 397919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 398019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->testInterfaceEmptyArrayMethod(), info.GetIsolate())); 3981f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3982f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 398319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 3984f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 3985f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 398619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyArrayMethodMethod(info); 3987f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 3988f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 3989f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 399019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 3991f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 399219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 399319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 3994f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 3995f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 399619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 399719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<int>, arrayLongArg, toNativeArray<int>(info[0], 1, info.GetIsolate())); 3998f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodArrayLongArg(arrayLongArg); 3999f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4000f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 400119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4002f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4003f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 400419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodArrayLongArgMethod(info); 4005f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4006f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4007f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 400819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4009f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 401019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 401119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4012f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4013f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 401419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 401519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<String>, arrayStringArg, toNativeArray<String>(info[0], 1, info.GetIsolate())); 4016f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodArrayStringArg(arrayStringArg); 4017f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4018f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 401919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4020f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4021f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 402219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodArrayStringArgMethod(info); 4023f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4024f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4025f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 402619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4027f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 402819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 402919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodArrayTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4030f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4031f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 403219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 403319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, arrayTestInterfaceEmptyArg, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(info[0], 1, info.GetIsolate()))); 4034f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodArrayTestInterfaceEmptyArg(arrayTestInterfaceEmptyArg); 4035f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4036f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 403719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodArrayTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4038f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4039f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 404019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodArrayTestInterfaceEmptyArgMethod(info); 4041f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4042f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4043f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 404419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4045f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 404619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 404719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->sequenceLongMethod(), info.GetIsolate())); 4048f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4049f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 405019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4051f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4052f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 405319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::sequenceLongMethodMethod(info); 4054f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4055f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4056f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 405719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4058f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 405919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 406019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->sequenceStringMethod(), info.GetIsolate())); 4061f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4062f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 406319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4064f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4065f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 406619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::sequenceStringMethodMethod(info); 4067f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4068f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4069f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 407019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceTestInterfaceEmptyMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4071f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 407219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 407319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, v8Array(imp->sequenceTestInterfaceEmptyMethod(), info.GetIsolate())); 4074f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4075f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 407619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void sequenceTestInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4077f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4078f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 407919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::sequenceTestInterfaceEmptyMethodMethod(info); 4080f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4081f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4082f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 408319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4084f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 408519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 408619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4087f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4088f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 408919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 409019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<int>, sequenceLongArg, toNativeArray<int>(info[0], 1, info.GetIsolate())); 4091f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodSequenceLongArg(sequenceLongArg); 4092f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4093f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 409419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4095f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4096f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 409719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodSequenceLongArgMethod(info); 4098f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4099f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4100f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 410119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4102f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 410319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 410419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4105f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4106f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 410719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 410819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<String>, sequenceStringArg, toNativeArray<String>(info[0], 1, info.GetIsolate())); 4109f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodSequenceStringArg(sequenceStringArg); 4110f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4111f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 411219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4113f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4114f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 411519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodSequenceStringArgMethod(info); 4116f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4117f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4118f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 411919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4120f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 412119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 412219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4123f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4124f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 412519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 412619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<RefPtr<TestInterfaceEmpty> >, sequenceTestInterfaceEmptyArg, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(info[0], 1, info.GetIsolate()))); 4127f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodSequenceTestInterfaceEmptyArg(sequenceTestInterfaceEmptyArg); 4128f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4129f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 413019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSequenceTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4131f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4132f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 413319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodSequenceTestInterfaceEmptyArgMethod(info); 4134f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4135f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4136f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 413719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNullableStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4138f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 413919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 414019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodNullableStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 414119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 414219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 414319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 414451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, nullableTestInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 414519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodNullableStringArg(nullableTestInterfaceEmptyArg); 4146f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4147f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 414819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNullableStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4149f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4150f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 415119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodNullableStringArgMethod(info); 4152f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4153f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4154f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 415519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4156f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 415719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 415819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueString(info, imp->testEnumMethod(), info.GetIsolate()); 415919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 416019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 416119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testEnumMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 416219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 416319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 416419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testEnumMethodMethod(info); 416519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 416619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 416719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 416819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestEnumArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 416919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 417019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 417119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestEnumArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4172f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4173f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 417419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 417519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, testEnumTypeArg, info[0]); 4176f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) String string = testEnumTypeArg; 4177f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) if (!(string == "" || string == "EnumValue1" || string == "EnumValue2" || string == "EnumValue3")) { 417819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestEnumArg", "TestObjectPython", "parameter 1 ('" + string + "') is not a valid enum value."), info.GetIsolate()); 4179f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4180f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 4181f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodTestEnumArg(testEnumTypeArg); 4182f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4183f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 418419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 418519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 418619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 418719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTestEnumArgMethod(info); 418819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 418919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 419019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 419119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dictionaryMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 419219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 419319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 419419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->dictionaryMethod()); 419519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 419619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 419719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void dictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4198f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4199f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 420019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::dictionaryMethodMethod(info); 4201f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4202f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4203f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 420419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4205f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 420619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 420719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->nodeFilterMethod()); 4208f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4209f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 421019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void nodeFilterMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4211f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4212f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 421319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::nodeFilterMethodMethod(info); 4214f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4215f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4216f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 421719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4218f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 421919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 422019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->promiseMethod().v8Value()); 4221f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4222f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 422319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void promiseMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4224f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4225f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 422619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::promiseMethodMethod(info); 4227f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4228f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4229f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 423019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4231f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 423219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 423319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->serializedScriptValueMethod() ? imp->serializedScriptValueMethod()->deserialize() : v8::Handle<v8::Value>(v8::Null(info.GetIsolate()))); 4234f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4235f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 423619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void serializedScriptValueMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4237f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4238f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 423919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::serializedScriptValueMethodMethod(info); 4240f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4241f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4242f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 424319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xPathNSResolverMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4244f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 424519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 424619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->xPathNSResolverMethod()); 4247f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4248f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 424919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void xPathNSResolverMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4250f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4251f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 425219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::xPathNSResolverMethodMethod(info); 4253f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4254f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4255f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 425619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4257f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 425819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 425919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDictionaryArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 426019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 426119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 426219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 426319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Dictionary, dictionaryArg, Dictionary(info[0], info.GetIsolate())); 426419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (!dictionaryArg.isUndefinedOrNull() && !dictionaryArg.isObject()) { 426519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodDictionaryArg", "TestObjectPython", "parameter 1 ('dictionaryArg') is not an object."), info.GetIsolate()); 4266f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4267f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 426819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodDictionaryArg(dictionaryArg); 4269f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4270f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 427119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4272f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4273f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 427419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDictionaryArgMethod(info); 4275f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4276f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4277f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 427819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNodeFilterArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4279f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 428019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 428119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodNodeFilterArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4282f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4283f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 428419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 428519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(RefPtr<NodeFilter>, nodeFilterArg, toNodeFilter(info[0], info.GetIsolate())); 428651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodNodeFilterArg(nodeFilterArg.release()); 4287f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4288f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 428919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodNodeFilterArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4290f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4291f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 429219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodNodeFilterArgMethod(info); 4293f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4294f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4295f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 429619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodPromiseArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4297f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 429819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 429919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodPromiseArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4300f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4301f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 430219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 430319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(ScriptPromise, promiseArg, ScriptPromise(info[0])); 430419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (!promiseArg.isUndefinedOrNull() && !promiseArg.isObject()) { 430519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodPromiseArg", "TestObjectPython", "parameter 1 ('promiseArg') is not an object."), info.GetIsolate()); 430619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 430719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 430819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodPromiseArg(promiseArg); 430919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 431019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 431119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodPromiseArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 431219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 431319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 431419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodPromiseArgMethod(info); 431519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 431619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 431719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 431819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSerializedScriptValueArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 431919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 432019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 432119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodSerializedScriptValueArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 432219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 432319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 432419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 4325f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) bool serializedScriptValueArgDidThrow = false; 432619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) RefPtr<SerializedScriptValue> serializedScriptValueArg = SerializedScriptValue::create(info[0], 0, 0, serializedScriptValueArgDidThrow, info.GetIsolate()); 4327f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) if (serializedScriptValueArgDidThrow) 4328f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4329f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodSerializedScriptValueArg(serializedScriptValueArg); 4330f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4331f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 433219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodSerializedScriptValueArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4333f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4334f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 433519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodSerializedScriptValueArgMethod(info); 4336f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4337f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4338f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 433919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodXPathNSResolverArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4340f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 434119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 434219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodXPathNSResolverArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4343f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4344f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 434519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 434619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(RefPtr<XPathNSResolver>, xPathNSResolverArg, toXPathNSResolver(info[0], info.GetIsolate())); 434751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodXPathNSResolverArg(xPathNSResolverArg.release()); 4348f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4349f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 435019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodXPathNSResolverArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4351f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4352f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 435319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodXPathNSResolverArgMethod(info); 4354f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4355f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4356f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 435751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodSequenceDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 435851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 435951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 436051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodSequenceDictionaryArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 436151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 436251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 436351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 436451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Vector<Dictionary>, sequenceDictionaryArg, toNativeArray<Dictionary>(info[0], 1, info.GetIsolate())); 436551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodSequenceDictionaryArg(sequenceDictionaryArg); 436651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 436751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 436851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodSequenceDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 436951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 437051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 437151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodSequenceDictionaryArgMethod(info); 437251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 437351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 437451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 437519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4376f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 437719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 2)) { 437819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodStringArgLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(2, info.Length())), info.GetIsolate()); 4379f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4380f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 438119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 438219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]); 438319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[1])); 4384f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodStringArgLongArg(stringArg, longArg); 4385f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4386f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 438719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4388f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4389f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 439019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodStringArgLongArgMethod(info); 4391f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4392f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4393f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 439419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4395f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 439619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 439719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 4398f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodOptionalStringArg(); 4399f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4400f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 440119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, optionalStringArg, info[0]); 440219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodOptionalStringArg(optionalStringArg); 4403f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4404f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 440519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4406f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4407f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 440819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodOptionalStringArgMethod(info); 4409f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4410f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4411f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 441219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4413f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 441419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 441519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 4416f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodOptionalTestInterfaceEmptyArg(); 4417f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4418f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 441951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 442019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) imp->voidMethodOptionalTestInterfaceEmptyArg(optionalTestInterfaceEmptyArg); 4421f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4422f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 442319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4424f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4425f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 442619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodOptionalTestInterfaceEmptyArgMethod(info); 4427f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4428f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4429f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 443019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4431f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 443219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 443319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 4434f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodOptionalLongArg(); 4435f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4436f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 443719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[0])); 4438f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodOptionalLongArg(optionalLongArg); 4439f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4440f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 444119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 444219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 444319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 444419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodOptionalLongArgMethod(info); 444519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 444619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 444719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 444819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 444919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 445019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 445119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 445219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueString(info, imp->stringMethodOptionalLongArg(), info.GetIsolate()); 445319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 445419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 445519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[0])); 445619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueString(info, imp->stringMethodOptionalLongArg(optionalLongArg), info.GetIsolate()); 445719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 445819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 445919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void stringMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4460f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4461f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 446219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::stringMethodOptionalLongArgMethod(info); 4463f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4464f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4465f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 446619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4467f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 446819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 446919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 447019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->testInterfaceEmptyMethodOptionalLongArg()); 4471f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4472f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 447319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[0])); 447419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValue(info, imp->testInterfaceEmptyMethodOptionalLongArg(optionalLongArg)); 4475f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4476f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 447719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void testInterfaceEmptyMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4478f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4479f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 448019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::testInterfaceEmptyMethodOptionalLongArgMethod(info); 4481f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4482f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4483f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 448419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4485f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 448619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 448719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 448819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueInt(info, imp->longMethodOptionalLongArg()); 4489f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4490f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 449119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[0])); 449219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) v8SetReturnValueInt(info, imp->longMethodOptionalLongArg(optionalLongArg)); 4493f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4494f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 449519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void longMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4496f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4497f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 449819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::longMethodOptionalLongArgMethod(info); 4499f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4500f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4501f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 450219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4503f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 450419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 450519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongArgOptionalLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4506f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4507f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 450819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 450919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 451019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 1)) { 4511f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalLongArg(longArg); 4512f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4513f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 451419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[1])); 4515f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalLongArg(longArg, optionalLongArg); 4516f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4517f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 451819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4519f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4520f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 452119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgMethod(info); 4522f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4523f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4524f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 452519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalLongArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4526f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 452719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 452819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongArgOptionalLongArgOptionalLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4529f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4530f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 453119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 453219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 453319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 1)) { 4534f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg); 4535f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4536f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 453719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg1, toInt32(info[1])); 453819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 2)) { 4539f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg, optionalLongArg1); 4540f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4541f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 454219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg2, toInt32(info[2])); 4543f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg, optionalLongArg1, optionalLongArg2); 4544f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4545f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 454619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4547f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4548f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 454919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgOptionalLongArgMethod(info); 4550f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4551f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4552f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 455319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4554f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 455519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 455619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodLongArgOptionalTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4557f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4558f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 455919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 456019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 456119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 1)) { 4562f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalTestInterfaceEmptyArg(longArg); 4563f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4564f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 456551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmpty, V8TestInterfaceEmpty::hasInstance(info[1], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[1])) : 0); 4566f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodLongArgOptionalTestInterfaceEmptyArg(longArg, optionalTestInterfaceEmpty); 4567f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4568f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 456919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4570f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4571f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 457219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodLongArgOptionalTestInterfaceEmptyArgMethod(info); 4573f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4574f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4575f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 457619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4577f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 457819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 457919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArgOptionalLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4580f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4581f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 458219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 458351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, optionalTestInterfaceEmpty, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 458419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() <= 1)) { 4585f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodTestInterfaceEmptyArgOptionalLongArg(optionalTestInterfaceEmpty); 4586f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4587f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 458819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[1])); 4589f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodTestInterfaceEmptyArgOptionalLongArg(optionalTestInterfaceEmpty, longArg); 4590f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4591f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 459219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4593f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4594f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 459519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgOptionalLongArgMethod(info); 4596f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4597f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4598f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 459951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodOptionalDictionaryArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 460051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 460151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 460251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Dictionary, optionalDictionaryArg, Dictionary(info[0], info.GetIsolate())); 460351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!optionalDictionaryArg.isUndefinedOrNull() && !optionalDictionaryArg.isObject()) { 460451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodOptionalDictionaryArg", "TestObjectPython", "parameter 1 ('optionalDictionaryArg') is not an object."), info.GetIsolate()); 460551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 460651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 460751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodOptionalDictionaryArg(optionalDictionaryArg); 460851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 460951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 461051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodOptionalDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 461151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 461251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 461351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodOptionalDictionaryArgMethod(info); 461451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 461551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 461651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 461719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodVariadicStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4618f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 461919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 462019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<String>, variadicStringArgs, toNativeArguments<String>(info, 0)); 4621f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodVariadicStringArg(variadicStringArgs); 4622f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4623f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 462419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4625f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4626f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 462719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodVariadicStringArgMethod(info); 4628f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4629f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4630f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 463119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgVariadicStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4632f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 463319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 463419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodStringArgVariadicStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4635f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4636f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 463719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 463819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringArg, info[0]); 463919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TRYCATCH_VOID(Vector<String>, variadicStringArgs, toNativeArguments<String>(info, 1)); 4640f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodStringArgVariadicStringArg(stringArg, variadicStringArgs); 4641f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4642f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 464319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodStringArgVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4644f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4645f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 464619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodStringArgVariadicStringArgMethod(info); 4647f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4648f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4649f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 465019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodVariadicTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4651f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 465219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 4653f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) Vector<RefPtr<TestInterfaceEmpty> > variadicTestInterfaceEmptyArgs; 465419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) for (int i = 0; i < info.Length(); ++i) { 465551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!V8TestInterfaceEmpty::hasInstance(info[i], info.GetIsolate(), worldType(info.GetIsolate()))) { 465619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodVariadicTestInterfaceEmptyArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceEmpty'."), info.GetIsolate()); 4657f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4658f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 465919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) variadicTestInterfaceEmptyArgs.append(V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[i]))); 4660f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 4661f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodVariadicTestInterfaceEmptyArg(variadicTestInterfaceEmptyArgs); 4662f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4663f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 466419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 4665f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 4666f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 466719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethod(info); 4668f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 4669f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4670f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 467119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 4672f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 467319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 467419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 4675f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4676f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 467719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 467851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 4679f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) Vector<RefPtr<TestInterfaceEmpty> > variadicTestInterfaceEmptyArgs; 468019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) for (int i = 1; i < info.Length(); ++i) { 468151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!V8TestInterfaceEmpty::hasInstance(info[i], info.GetIsolate(), worldType(info.GetIsolate()))) { 468219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", "TestObjectPython", "parameter 2 is not of type 'TestInterfaceEmpty'."), info.GetIsolate()); 4683f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return; 4684f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 468519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) variadicTestInterfaceEmptyArgs.append(V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[i]))); 4686f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) } 4687f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) imp->voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg(testInterfaceEmptyArg, variadicTestInterfaceEmptyArgs); 4688f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 4689f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 469019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 469119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 469219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 469319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethod(info); 469419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 469519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 469619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 469751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodA1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 469819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 469919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 470051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodA", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 470119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 470219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 470319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 470451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 470551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodA(longArg); 470619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 470719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 470851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodA2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 470919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 471051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 2)) { 471151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodA", "TestObjectPython", ExceptionMessages::notEnoughArguments(2, info.Length())), info.GetIsolate()); 471251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 471351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 471451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 471551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg1, toInt32(info[0])); 471651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg2, toInt32(info[1])); 471751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodA(longArg1, longArg2); 471819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 471919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 472051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodAMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 472119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 472251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 472351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodA1Method(info); 472451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 472551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 472651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 2))) { 472751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodA2Method(info); 472851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 472951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4730e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodA", "TestObjectPython", info.Holder(), info.GetIsolate()); 473119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4732a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4733a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 473419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 473519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 4736a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4737a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 473819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 473919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 474051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodAMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 474119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 474219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 474351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodAMethod(info); 474419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 474519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 474619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 474751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodB1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 474819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 474951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 475051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodB", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 475151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 475251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 475319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 475451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 475551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodB(longArg); 475619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 475719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 475851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodB2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 475919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 476051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 476151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodB", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 476251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 476351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 476451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 476551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg1, toInt32(info[0])); 476651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() <= 1)) { 476751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodB(longArg1); 476851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 476951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 477051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg2, toInt32(info[1])); 477151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodB(longArg1, longArg2); 477219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 477319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 477451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodBMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 477519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 477651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 477751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodB1Method(info); 477851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 477951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 478051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1)) || ((info.Length() == 2))) { 478151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodB2Method(info); 478251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 478351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4784e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodB", "TestObjectPython", info.Holder(), info.GetIsolate()); 478551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4786a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4787a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 478851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 478951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4790a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4791a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 479219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 479319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 479451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodBMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 479519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 479619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 479751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodBMethod(info); 479819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 479919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 480019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 480151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodC1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 480219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 480351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 480451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodC", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 480551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 480651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 480719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 480851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 480951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodC(longArg); 481019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 481119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 481251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodC2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 481319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 481451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 481551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodC", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 481651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 481751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 481851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 481951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 482051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Vector<int>, longArgs, toNativeArguments<int>(info, 1)); 482151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodC(longArg, longArgs); 482219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 482319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 482451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodCMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 482519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 482651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 482751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodC1Method(info); 482851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 482951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 483051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if () { 483151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodC2Method(info); 483251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 483351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4834e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodC", "TestObjectPython", info.Holder(), info.GetIsolate()); 483551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4836a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4837a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 483851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 483951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4840a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4841a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 484251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 484351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 484451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodCMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 484551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 484651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 484751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodCMethod(info); 484851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 484951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 485051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 485151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodD1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 485251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 485351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 485451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodD", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 485551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 485651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 485751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 485851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 485951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodD(longArg); 486051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 486151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 486251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodD2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 486351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 486451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 486551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodD", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 486651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 486751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 486851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 486951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 487051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodD(testInterfaceEmptyArg); 487151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 487251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 487351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodDMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 487451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 487551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 487651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodD1Method(info); 487751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 487851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 487951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1) && (V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate()))))) { 488051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodD2Method(info); 488151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 488251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4883e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodD", "TestObjectPython", info.Holder(), info.GetIsolate()); 488451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4885a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4886a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 488751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 488851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4889a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4890a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 489151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 489251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 489351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodDMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 489451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 489551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 489651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodDMethod(info); 489751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 489851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 489951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 490051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodE1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 490151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 490251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 490351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodE", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 490451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 490551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 490651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 490751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 490851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodE(longArg); 490951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 491051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 491151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodE2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 491251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 491351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 491451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodE", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 491551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 491651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 491751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 491851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(Vector<int>, longArrayArg, toNativeArray<int>(info[0], 1, info.GetIsolate())); 491951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodE(longArrayArg); 492051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 492151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 492251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodEMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 492351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 492451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 492551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodE1Method(info); 492651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 492751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 492851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1) && (info[0]->IsArray()))) { 492951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodE2Method(info); 493051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 493151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4932e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodE", "TestObjectPython", info.Holder(), info.GetIsolate()); 493351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4934a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4935a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 493651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 493751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4938a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4939a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 494051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 494151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 494251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodEMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 494351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 494451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 494551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodEMethod(info); 494651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 494751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 494851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 494951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodF1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 495051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 495151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 495251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodF", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 495351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 495451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 495551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 495651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 495751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodF(longArg); 495851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 495951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 496051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodF2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 496151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 496251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 496351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodF", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 496451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 496551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 496651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 496751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyNullableArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 496851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodF(testInterfaceEmptyNullableArg); 496951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 497051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 497151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodFMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 497251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 497351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 497451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodF1Method(info); 497551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 497651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 497751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1) && (info[0]->IsNull() || V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate()))))) { 497851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodF2Method(info); 497951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 498051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4981e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedMethodF", "TestObjectPython", info.Holder(), info.GetIsolate()); 498251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 4983a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 4984a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 498551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 498651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 4987a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 4988a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 498951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 499051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 499151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodFMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 499251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 499351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 499451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodFMethod(info); 499551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 499651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 499751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 499851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodG1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 499951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 500051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 500151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodG(); 500251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 500351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 500451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodG2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 500551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 500651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 500751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodG", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 500851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 500951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 501051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 501151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, strictTypeCheckingStringArg, info[0]); 501251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedMethodG(strictTypeCheckingStringArg); 501351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 501451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 501551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodGMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 501651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 501751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 0))) { 501851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodG1Method(info); 501951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 502051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 502151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1) && (info[0]->IsNull() || info[0]->IsUndefined() || info[0]->IsString() || info[0]->IsObject()))) { 502251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedMethodG2Method(info); 502351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 502451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 502551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedMethodG", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate()); 502651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 502751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 502851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedMethodGMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 502951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 503051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 503151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedMethodGMethod(info); 503251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 503351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 503451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 503551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethod1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 503651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 503751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 503851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedPerWorldBindingsMethod(); 503951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 504051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 504151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethod1MethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 504251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 504351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 504451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedPerWorldBindingsMethod(); 504551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 504651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 504751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethod2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 504851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 504951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 505051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 505151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 505251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 505351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 505451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 505551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedPerWorldBindingsMethod(longArg); 505651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 505751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 505851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 505951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 506051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 0))) { 506151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedPerWorldBindingsMethod1Method(info); 506251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 506351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 506451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 506551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedPerWorldBindingsMethod2Method(info); 506651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 506751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 506851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate()); 506951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 507051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 507151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 507251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 507351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 507451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethod(info); 507551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 507651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 507751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 507851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethod2MethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 507951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 508051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 508151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 508251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 508351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 508451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 508551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 508651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->overloadedPerWorldBindingsMethod(longArg); 508751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 508851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 508951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 509051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 509151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 0))) { 509251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedPerWorldBindingsMethod1MethodForMainWorld(info); 509351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 509451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 509551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 509651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedPerWorldBindingsMethod2MethodForMainWorld(info); 509751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 509851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 509951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedPerWorldBindingsMethod", "TestObjectPython", "No function was found that matched the signature provided."), info.GetIsolate()); 510051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 510151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 510251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedPerWorldBindingsMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 510351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 510451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 510551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodForMainWorld(info); 510651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 510751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 510851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 510951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedStaticMethod1Method(const v8::FunctionCallbackInfo<v8::Value>& info) 511051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 511151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 511251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedStaticMethod", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 511351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 511451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 511551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg, toInt32(info[0])); 511651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython::overloadedStaticMethod(longArg); 511751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 511851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 511951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedStaticMethod2Method(const v8::FunctionCallbackInfo<v8::Value>& info) 512051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 512151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 2)) { 512251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("overloadedStaticMethod", "TestObjectPython", ExceptionMessages::notEnoughArguments(2, info.Length())), info.GetIsolate()); 512351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 512451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 512551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg1, toInt32(info[0])); 512651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, longArg2, toInt32(info[1])); 512751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython::overloadedStaticMethod(longArg1, longArg2); 512851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 512951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 513051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedStaticMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 513151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 513251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 1))) { 513351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedStaticMethod1Method(info); 513451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 513551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 513651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (((info.Length() == 2))) { 513751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) overloadedStaticMethod2Method(info); 513851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 513951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 5140e08f70592b3fc0d5e68b9b914c9196e813720070Torne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "overloadedStaticMethod", "TestObjectPython", info.Holder(), info.GetIsolate()); 514151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 5142a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments(1, info.Length())); 5143a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 514451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 514551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 5146a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwTypeError("No function was found that matched the signature provided."); 5147a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) exceptionState.throwIfNeeded(); 514851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 514951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 515051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void overloadedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 515151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 515251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 515351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::overloadedStaticMethodMethod(info); 515451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 515551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 515651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 515751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void addEventListenerMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 515851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 5159a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "addEventListener", "TestObjectPython", info.Holder(), info.GetIsolate()); 516051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) EventTarget* impl = V8TestObjectPython::toNative(info.Holder()); 516151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (DOMWindow* window = impl->toDOMWindow()) { 516251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!BindingSecurity::shouldAllowAccessToFrame(window->frame(), exceptionState)) { 516351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 516451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 516551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 516651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!window->document()) 516751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 516851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 516951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) RefPtr<EventListener> listener = V8EventListenerList::getEventListener(info[1], false, ListenerFindOrCreate); 517051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (listener) { 517151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, eventName, info[0]); 517251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) impl->addEventListener(eventName, listener, info[2]->BooleanValue()); 517351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!impl->toNode()) 517451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) createHiddenDependency(info.Holder(), info[1], V8TestObjectPython::eventListenerCacheIndex, info.GetIsolate()); 517551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 517651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 517751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 517851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void addEventListenerMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 517951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 518051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 518151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::addEventListenerMethod(info); 518251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 518351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 518451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 518551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void removeEventListenerMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 518651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 5187a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "removeEventListener", "TestObjectPython", info.Holder(), info.GetIsolate()); 518851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) EventTarget* impl = V8TestObjectPython::toNative(info.Holder()); 518951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (DOMWindow* window = impl->toDOMWindow()) { 519051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!BindingSecurity::shouldAllowAccessToFrame(window->frame(), exceptionState)) { 519151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 519251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 519351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 519451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!window->document()) 519551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 519651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 519751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) RefPtr<EventListener> listener = V8EventListenerList::getEventListener(info[1], false, ListenerFindOnly); 519851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (listener) { 519951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, eventName, info[0]); 520051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) impl->removeEventListener(eventName, listener.get(), info[2]->BooleanValue()); 520151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!impl->toNode()) 520251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) removeHiddenDependency(info.Holder(), info[1], V8TestObjectPython::eventListenerCacheIndex, info.GetIsolate()); 520351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 520451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 520551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 520651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void removeEventListenerMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 520751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 520851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 520951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::removeEventListenerMethod(info); 521051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 521151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 521251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 521351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodClampUnsignedShortArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 521451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 521551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 521651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodClampUnsignedShortArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 521751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 521851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 521951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 522051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) unsigned clampUnsignedShortArg = 0; 522151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(double, clampUnsignedShortArgNativeValue, info[0]->NumberValue()); 522251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!std::isnan(clampUnsignedShortArgNativeValue)) 522351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) clampUnsignedShortArg = clampTo<unsigned short>(clampUnsignedShortArgNativeValue); 522451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodClampUnsignedShortArg(clampUnsignedShortArg); 522551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 522651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 522751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodClampUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 522851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 522951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 523051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodClampUnsignedShortArgMethod(info); 523151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 523251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 523351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 523451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodClampUnsignedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 523551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 523651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 523751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodClampUnsignedLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 523851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 523951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 524051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 524151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) unsigned clampUnsignedLongArg = 0; 524251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(double, clampUnsignedLongArgNativeValue, info[0]->NumberValue()); 524351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!std::isnan(clampUnsignedLongArgNativeValue)) 524451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) clampUnsignedLongArg = clampTo<unsigned long>(clampUnsignedLongArgNativeValue); 524551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodClampUnsignedLongArg(clampUnsignedLongArg); 524651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 524751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 524851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodClampUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 524951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 525051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 525151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodClampUnsignedLongArgMethod(info); 525251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 525351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 525451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 525551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 525651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 525751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 525851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, defaultUndefinedTestInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 525951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodDefaultUndefinedTestInterfaceEmptyArg(defaultUndefinedTestInterfaceEmptyArg); 526051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 526151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 526251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 526351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 526451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 526551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethod(info); 526651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 526751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 526851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 526951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 527051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 527151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 527251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, defaultUndefinedLongArg, toInt32(info[0])); 527351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodDefaultUndefinedLongArg(defaultUndefinedLongArg); 527451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 527551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 527651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 527751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 527851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 527951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDefaultUndefinedLongArgMethod(info); 528051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 528151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 528251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 528351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 528451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 528551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 528651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, defaultUndefinedStringArg, info[0]); 528751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodDefaultUndefinedStringArg(defaultUndefinedStringArg); 528851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 528951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 529051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultUndefinedStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 529151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 529251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 529351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDefaultUndefinedStringArgMethod(info); 529451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 529551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 529651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 529751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodDefaultNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 529851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 529951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 530051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, defaultNullStringStringArg, argumentOrNull(info, 0)); 530151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodDefaultNullStringStringArg(defaultNullStringStringArg); 530219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 530319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 530419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)static void voidMethodDefaultNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 530519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 530619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 530751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodDefaultNullStringStringArgMethod(info); 530851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 530951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 531051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 531151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodEnforceRangeLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 531251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 531351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 531451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodEnforceRangeLongArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 531551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 531651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 531751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 531851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_WITH_TYPECHECK_VOID(int, enforceRangeLongArg, toInt32(info[0], EnforceRange, ok), info.GetIsolate()); 531951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodEnforceRangeLongArg(enforceRangeLongArg); 532051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 532151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 532251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodEnforceRangeLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 532351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 532451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 532551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodEnforceRangeLongArgMethod(info); 532651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 532751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 532851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 532951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodTreatNullAsNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 533051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 533151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 533251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTreatNullAsNullStringStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 533351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 533451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 533551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 533651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithNullCheck>, treatNullAsNullStringStringArg, info[0]); 533751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodTreatNullAsNullStringStringArg(treatNullAsNullStringStringArg); 533851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 533951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 534051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodTreatNullAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 534151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 534251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 534351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringStringArgMethod(info); 534451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 534551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 534651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 534751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 534851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 534951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 535051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 535151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 535251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 535351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 535451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullCheck>, treatNullAsNullStringStringArg, info[0]); 535551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg(treatNullAsNullStringStringArg); 535651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 535751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 535851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 535951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 536051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 536151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethod(info); 536251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 536351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 536451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 536551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingAccessForAllWorldsMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 536651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 536751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 536851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->activityLoggingAccessForAllWorldsMethod(); 536951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 537051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 537151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingAccessForAllWorldsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 537251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 537351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 537451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 537551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (contextData && contextData->activityLogger()) { 537651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0); 537751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingAccessForAllWorldsMethod", info.Length(), loggerArgs.data(), "Method"); 537851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 537951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsMethodMethod(info); 538051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 538151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 538251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 538351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 538451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 538551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 538651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 538751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 538851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 538951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 539051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithScriptStateVoidMethod(&state); 539151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 539251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 539351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 539451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 539551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 539651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 539751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 539851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 539951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 540051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 540151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 540251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithScriptStateVoidMethodMethod(info); 540351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 540451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 540551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 540651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateLongMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 540751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 540851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 540951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 541051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 541151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 541251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 541351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) int result = imp->callWithScriptStateLongMethod(&state); 541451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 541551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 541651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 541751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 541851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 541951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 542051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueInt(info, result); 542151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 542251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 542351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 542451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 542551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 542651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithScriptStateLongMethodMethod(info); 542751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 542851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 542951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 543051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithExecutionContextVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 543151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 543251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 543351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ExecutionContext* scriptContext = getExecutionContext(); 543451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithExecutionContextVoidMethod(scriptContext); 543551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 543651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 543751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 543851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 543951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 544051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithExecutionContextVoidMethodMethod(info); 544151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 544251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 544351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 544451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateExecutionContextVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 544551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 544651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 544751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 544851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 544951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 545051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 545151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ExecutionContext* scriptContext = getExecutionContext(); 545251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithScriptStateExecutionContextVoidMethod(&state, scriptContext); 545351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 545451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 545551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 545651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 545751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 545851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 545951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 546051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 546151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 546251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 546351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 546451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithScriptStateExecutionContextVoidMethodMethod(info); 546551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 546651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 546751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 546851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateScriptArgumentsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 546951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 547051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 547151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 547251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 547351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 547451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 547551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 0)); 547651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithScriptStateScriptArgumentsVoidMethod(&state, scriptArguments.release()); 547751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 547851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 547951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 548051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 548151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 548251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 548351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 548451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 548551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateScriptArgumentsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 548651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 548751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 548851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodMethod(info); 548951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 549051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 549151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 549251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 549351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 549451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 549551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 549651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 549751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 549851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 549951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 550051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 1)); 550151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(&state, scriptArguments.release()); 550251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 550351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 550451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 550551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 550651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 550751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 550851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 550951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 551051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(bool, optionalBooleanArg, info[0]->BooleanValue()); 551151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState* currentState = ScriptState::current(); 551251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!currentState) 551351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 551451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ScriptState& state = *currentState; 551551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) RefPtr<ScriptArguments> scriptArguments(createScriptArguments(info, 1)); 551651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(&state, scriptArguments.release(), optionalBooleanArg); 551751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (state.hadException()) { 551851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Value> exception = state.exception(); 551951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) state.clearException(); 552051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwError(exception, info.GetIsolate()); 552151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 552251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 552351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 552451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 552551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 552651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 552751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 552851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethod(info); 552951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 553051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 553151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 553251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithActiveWindowMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 553351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 553451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 553551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithActiveWindow(activeDOMWindow()); 553651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 553751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 553851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithActiveWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 553951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 554051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 554151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithActiveWindowMethod(info); 554251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 554351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 554451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 554551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithActiveWindowScriptWindowMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 554651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 554751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 554851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->callWithActiveWindowScriptWindow(activeDOMWindow(), firstDOMWindow()); 554951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 555051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 555151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void callWithActiveWindowScriptWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 555251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 555351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 555451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::callWithActiveWindowScriptWindowMethod(info); 555551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 555651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 555751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 555851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void checkSecurityForNodeVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 555951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 556051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 556151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (!BindingSecurity::shouldAllowAccessToNode(imp->checkSecurityForNodeVoidMethod(exceptionState), exceptionState)) { 556251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueNull(info); 556351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) exceptionState.throwIfNeeded(); 556451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 556551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 556651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->checkSecurityForNodeVoidMethod(); 556751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 556851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 556951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void checkSecurityForNodeVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 557051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 557151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 557251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::checkSecurityForNodeVoidMethodMethod(info); 557351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 557451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 557551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 557651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 557751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalConditionVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 557851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 557951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 558051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->conditionalConditionVoidMethod(); 558151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 558251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 558351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 558451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 558551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalConditionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 558651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 558751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 558851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::conditionalConditionVoidMethodMethod(info); 558951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 559051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 559151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 559251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 559351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 559451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalCondition1AndCondition2VoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 559551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 559651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 559751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->conditionalCondition1AndCondition2VoidMethod(); 559851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 559951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 560051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 560151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 560251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalCondition1AndCondition2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 560351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 560451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 560551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::conditionalCondition1AndCondition2VoidMethodMethod(info); 560651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 560751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 560851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 560951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 561051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 561151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalConditionStaticVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 561251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 561351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython::conditionalConditionStaticVoidMethod(); 561451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 561551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 561651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 561751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 561851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalConditionStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 561951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 562051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 562151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::conditionalConditionStaticVoidMethodMethod(info); 562251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 562351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 562451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 562551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 562651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 562751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 562851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 562951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPython::customVoidMethodMethodCustom(info); 563051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 563151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 563251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 563351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 563451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void conditionalConditionCustomVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 563551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 563651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 563751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPython::conditionalConditionCustomVoidMethodMethodCustom(info); 563851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 563951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 564051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 564151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 564251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customElementCallbacksVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 564351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 564451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 564551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope; 564651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->customElementCallbacksVoidMethod(); 564751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 564851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 564951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void customElementCallbacksVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 565051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 565151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 565251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::customElementCallbacksVoidMethodMethod(info); 565319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 565419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 565519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 565651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void deprecatedVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 565751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 565851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 565951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->deprecatedVoidMethod(); 566051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 566151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 566251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void deprecatedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 566351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 566451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 566551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) UseCounter::countDeprecation(activeExecutionContext(), UseCounter::voidMethod); 566651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::deprecatedVoidMethodMethod(info); 566751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 566851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 566951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 567051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void doNotCheckSignatureVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 567151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 567251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 567351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->doNotCheckSignatureVoidMethod(); 567451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 567551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 567651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void doNotCheckSignatureVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 567751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 567851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 567951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::doNotCheckSignatureVoidMethodMethod(info); 568051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 568151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 568251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 568351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void implementedAsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 568451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 568551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 568651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->implementedAsMethodName(); 568751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 568851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 568951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void implementedAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 569051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 569151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 569251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::implementedAsVoidMethodMethod(info); 569351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 569451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 569551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 569651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void measureAsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 569751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 569851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 569951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->measureAsVoidMethod(); 570051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 570151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 570251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void measureAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 570351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 570451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 570551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) UseCounter::count(activeDOMWindow(), UseCounter::TestFeature); 570651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::measureAsVoidMethodMethod(info); 570751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 570851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 570951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 571051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void notEnumerableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 571151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 571251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 571351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->notEnumerableVoidMethod(); 571451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 571551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 571651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void notEnumerableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 571751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 571851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 571951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::notEnumerableVoidMethodMethod(info); 572051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 572151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 572251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 572351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perContextEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 572451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 572551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 572651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perContextEnabledVoidMethod(); 572751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 572851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 572951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perContextEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 573051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 573151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 573251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perContextEnabledVoidMethodMethod(info); 573351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 573451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 573551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 573651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 573751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 573851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 573951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsVoidMethod(); 574051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 574151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 574251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 574351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 574451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 574551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethod(info); 574651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 574751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 574851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 574951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 575051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 575151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 575251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsVoidMethod(); 575351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 575451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 575551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 575651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 575751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 575851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodForMainWorld(info); 575951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 576051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 576151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 576251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 576351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 576451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 576551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->activityLoggingForAllWorldsPerWorldBindingsVoidMethod(); 576651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 576751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 576851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 576951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 577051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 577151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 577251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (contextData && contextData->activityLogger()) { 577351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0); 577451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingForAllWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method"); 577551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 577651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethod(info); 577751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 577851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 577951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 578051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 578151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 578251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 578351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->activityLoggingForAllWorldsPerWorldBindingsVoidMethod(); 578451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 578551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 578651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 578751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 578851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 578951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 579051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (contextData && contextData->activityLogger()) { 579151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0); 579251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingForAllWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method"); 579351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 579451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodForMainWorld(info); 579551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 579651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 579751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 579851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 579951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 580051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 580151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod(); 580251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 580351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 580451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 580551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 580651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 580751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->GetCurrentContext()); 580851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (contextData && contextData->activityLogger()) { 580951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle<v8::Value> >(info, 0); 581051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) contextData->activityLogger()->log("TestObjectPython.activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", info.Length(), loggerArgs.data(), "Method"); 581151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 581251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethod(info); 581351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 581451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 581551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 581651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 581751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 581851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 581951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod(); 582051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 582151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 582251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 582351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 582451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 582551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodForMainWorld(info); 582651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 582751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 582851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 582951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 583019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 583119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 583251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 583319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 583419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 583519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 583651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 583751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); 583819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 583919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 584051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 5841f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles){ 5842f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 584351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethod(info); 584419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 584519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 584619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 584751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 584819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 584919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 585051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 585119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 585219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 585319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 585451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 585551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); 585619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 585719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 585851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 585919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 586019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 586151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodForMainWorld(info); 586219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 586319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 586419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 586551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void raisesExceptionVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 586651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 5867a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethod", "TestObjectPython", info.Holder(), info.GetIsolate()); 586851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 586951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->raisesExceptionVoidMethod(exceptionState); 587051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (exceptionState.throwIfNeeded()) 587151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 587251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 587351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 587451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void raisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 587551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 587651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 587751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::raisesExceptionVoidMethodMethod(info); 587851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 587951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 588051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 588151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void raisesExceptionVoidMethodOptionalLongArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 588251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 5883a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ExceptionState exceptionState(ExceptionState::ExecutionContext, "raisesExceptionVoidMethodOptionalLongArg", "TestObjectPython", info.Holder(), info.GetIsolate()); 588451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 588551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (UNLIKELY(info.Length() <= 0)) { 588651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->raisesExceptionVoidMethodOptionalLongArg(exceptionState); 588751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (exceptionState.throwIfNeeded()) 588851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 588951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 589051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 589151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(int, optionalLongArg, toInt32(info[0])); 589251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->raisesExceptionVoidMethodOptionalLongArg(optionalLongArg, exceptionState); 589351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (exceptionState.throwIfNeeded()) 589451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 589551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 589651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 589751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void raisesExceptionVoidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 589851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 589951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 590051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalLongArgMethod(info); 590151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 590251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 590351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 590451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void readOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 590551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 590651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 590751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->readOnlyVoidMethod(); 590851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 590951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 591051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void readOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 591151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 591251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 591351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::readOnlyVoidMethodMethod(info); 591451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 591551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 591651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 591751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void notEnumerableReadOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 591851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 591951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 592051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->notEnumerableReadOnlyVoidMethod(); 592151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 592251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 592351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void notEnumerableReadOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 592451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 592551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 592651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::notEnumerableReadOnlyVoidMethodMethod(info); 592751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 592851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 592951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 593051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void runtimeEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 593151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 593251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 593351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->runtimeEnabledVoidMethod(); 593451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 593551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 593651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void runtimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 593751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 593851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 593951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethod(info); 594051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 594151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 594251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 594351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsRuntimeEnabledVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 594451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 594551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 594651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsRuntimeEnabledVoidMethod(); 594751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 594851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 594951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 595051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 595151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 595251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethod(info); 595351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 595451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 595551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 595651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsRuntimeEnabledVoidMethodMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 595751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 595851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 595951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->perWorldBindingsRuntimeEnabledVoidMethod(); 596051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 596151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 596251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 596351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 596451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 596551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodForMainWorld(info); 596651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 596751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 596851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 596951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 597019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 597119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) if (UNLIKELY(info.Length() < 1)) { 597251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyArg", "TestObjectPython", ExceptionMessages::notEnoughArguments(1, info.Length())), info.GetIsolate()); 597319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) return; 597419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) } 597519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 597651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (info.Length() > 0 && !isUndefinedOrNull(info[0]) && !V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate()))) { 597751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) throwTypeError(ExceptionMessages::failedToExecute("strictTypeCheckingVoidMethodTestInterfaceEmptyArg", "TestObjectPython", "parameter 1 is not of type 'TestInterfaceEmpty'."), info.GetIsolate()); 597851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return; 597951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 598051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TRYCATCH_VOID(TestInterfaceEmpty*, testInterfaceEmptyArg, V8TestInterfaceEmpty::hasInstance(info[0], info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestInterfaceEmpty::toNative(v8::Handle<v8::Object>::Cast(info[0])) : 0); 598151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->strictTypeCheckingVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); 598219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles)} 598319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 598451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 598519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles){ 598619cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 598751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethod(info); 598851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 598951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 599051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 599151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void treatReturnedNullStringAsNullStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 599251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 599351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 599451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueStringOrNull(info, imp->treatReturnedNullStringAsNullStringMethod(), info.GetIsolate()); 599551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 599651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 599751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void treatReturnedNullStringAsNullStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 599851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 599951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 600051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringMethodMethod(info); 600151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 600251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 600351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 600451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 600551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 600651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 600751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8SetReturnValueStringOrUndefined(info, imp->treatReturnedNullStringAsUndefinedStringMethod(), info.GetIsolate()); 600851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 600951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 601051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void treatReturnedNullStringAsUndefinedStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 601151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 601251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 601351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethod(info); 601451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 601551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 601651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 601751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void unforgeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) 601851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 601951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPython* imp = V8TestObjectPython::toNative(info.Holder()); 602051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) imp->unforgeableVoidMethod(); 602151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 602251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 602351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static void unforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 602451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 602551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 602651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) TestObjectPythonV8Internal::unforgeableVoidMethodMethod(info); 6027f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 6028f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} 6029f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6030f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)} // namespace TestObjectPythonV8Internal 6031f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6032f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)static const V8DOMConfiguration::AttributeConfiguration V8TestObjectPythonAttributes[] = { 6033f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyStringAttribute", TestObjectPythonV8Internal::readonlyStringAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6034f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyTestInterfaceEmptyAttribute", TestObjectPythonV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6035f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyLongAttribute", TestObjectPythonV8Internal::readonlyLongAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6036f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"dateAttribute", TestObjectPythonV8Internal::dateAttributeAttributeGetterCallback, TestObjectPythonV8Internal::dateAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6037f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"stringAttribute", TestObjectPythonV8Internal::stringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::stringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6038f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyDOMTimeStampAttribute", TestObjectPythonV8Internal::readonlyDOMTimeStampAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6039f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"booleanAttribute", TestObjectPythonV8Internal::booleanAttributeAttributeGetterCallback, TestObjectPythonV8Internal::booleanAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6040f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"byteAttribute", TestObjectPythonV8Internal::byteAttributeAttributeGetterCallback, TestObjectPythonV8Internal::byteAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6041f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"doubleAttribute", TestObjectPythonV8Internal::doubleAttributeAttributeGetterCallback, TestObjectPythonV8Internal::doubleAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6042f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"floatAttribute", TestObjectPythonV8Internal::floatAttributeAttributeGetterCallback, TestObjectPythonV8Internal::floatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6043f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longAttribute", TestObjectPythonV8Internal::longAttributeAttributeGetterCallback, TestObjectPythonV8Internal::longAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6044f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longLongAttribute", TestObjectPythonV8Internal::longLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::longLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6045f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"octetAttribute", TestObjectPythonV8Internal::octetAttributeAttributeGetterCallback, TestObjectPythonV8Internal::octetAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6046f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"shortAttribute", TestObjectPythonV8Internal::shortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::shortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6047f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedLongAttribute", TestObjectPythonV8Internal::unsignedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6048f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedLongLongAttribute", TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedLongLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6049f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedShortAttribute", TestObjectPythonV8Internal::unsignedShortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unsignedShortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6050f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"cssAttribute", TestObjectPythonV8Internal::cssAttributeAttributeGetterCallback, TestObjectPythonV8Internal::cssAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6051f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"imeAttribute", TestObjectPythonV8Internal::imeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::imeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6052f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"svgAttribute", TestObjectPythonV8Internal::svgAttributeAttributeGetterCallback, TestObjectPythonV8Internal::svgAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6053f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"xmlAttribute", TestObjectPythonV8Internal::xmlAttributeAttributeGetterCallback, TestObjectPythonV8Internal::xmlAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6054f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"nodeFilterAttribute", TestObjectPythonV8Internal::nodeFilterAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nodeFilterAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6055f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"serializedScriptValueAttribute", TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeGetterCallback, TestObjectPythonV8Internal::serializedScriptValueAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6056f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"anyAttribute", TestObjectPythonV8Internal::anyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::anyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 605719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"promiseAttribute", TestObjectPythonV8Internal::promiseAttributeAttributeGetterCallback, TestObjectPythonV8Internal::promiseAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6058f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"documentAttribute", TestObjectPythonV8Internal::documentAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6059f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"documentFragmentAttribute", TestObjectPythonV8Internal::documentFragmentAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentFragmentAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6060f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"documentTypeAttribute", TestObjectPythonV8Internal::documentTypeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::documentTypeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6061f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"elementAttribute", TestObjectPythonV8Internal::elementAttributeAttributeGetterCallback, TestObjectPythonV8Internal::elementAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6062f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"entityAttribute", TestObjectPythonV8Internal::entityAttributeAttributeGetterCallback, TestObjectPythonV8Internal::entityAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6063f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"nodeAttribute", TestObjectPythonV8Internal::nodeAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nodeAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6064f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"shadowRootAttribute", TestObjectPythonV8Internal::shadowRootAttributeAttributeGetterCallback, TestObjectPythonV8Internal::shadowRootAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6065f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"arrayBufferAttribute", TestObjectPythonV8Internal::arrayBufferAttributeAttributeGetterCallback, TestObjectPythonV8Internal::arrayBufferAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6066f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"float32ArrayAttribute", TestObjectPythonV8Internal::float32ArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::float32ArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6067f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"uint8ArrayAttribute", TestObjectPythonV8Internal::uint8ArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::uint8ArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6068f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testInterfaceEmptyAttribute", TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceEmptyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6069f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"self", TestObjectPythonV8Internal::selfAttributeGetterCallback, TestObjectPythonV8Internal::selfAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6070f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyWindowAttribute", TestObjectPythonV8Internal::readonlyWindowAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6071f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"htmlCollectionAttribute", TestObjectPythonV8Internal::htmlCollectionAttributeAttributeGetterCallback, TestObjectPythonV8Internal::htmlCollectionAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6072f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"htmlElementAttribute", TestObjectPythonV8Internal::htmlElementAttributeAttributeGetterCallback, TestObjectPythonV8Internal::htmlElementAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6073f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"stringArrayAttribute", TestObjectPythonV8Internal::stringArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::stringArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6074f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testInterfaceEmptyArrayAttribute", TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testInterfaceEmptyArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6075f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"floatArrayAttribute", TestObjectPythonV8Internal::floatArrayAttributeAttributeGetterCallback, TestObjectPythonV8Internal::floatArrayAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6076f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"nullableStringAttribute", TestObjectPythonV8Internal::nullableStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nullableStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6077f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"nullableLongAttribute", TestObjectPythonV8Internal::nullableLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::nullableLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6078f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testEnumAttribute", TestObjectPythonV8Internal::testEnumAttributeAttributeGetterCallback, TestObjectPythonV8Internal::testEnumAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6079f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6080f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"eventHandlerAttribute", TestObjectPythonV8Internal::eventHandlerAttributeAttributeGetterCallback, TestObjectPythonV8Internal::eventHandlerAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6081f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"activityLoggingAccessForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6082f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"activityLoggingGetterForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6083f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"activityLoggingSetterForAllWorldsLongAttribute", TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6084f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"cachedAttributeAnyAttribute", TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::cachedAttributeAnyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6085f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"callWithExecutionContextAnyAttribute", TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeGetterCallback, TestObjectPythonV8Internal::callWithExecutionContextAnyAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6086f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"checkSecurityForNodeReadonlyDocumentAttribute", TestObjectPythonV8Internal::checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 608751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 6088f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"conditionalLongAttribute", TestObjectPythonV8Internal::conditionalLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 608951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 609051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 6091f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"conditionalAndLongAttribute", TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalAndLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 609251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 609351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 6094f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"conditionalOrLongAttribute", TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalOrLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 609551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) || ENABLE(CONDITION_2) 609651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"customObjectAttribute", TestObjectPythonV8Internal::customObjectAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customObjectAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6097f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customGetterLongAttribute", TestObjectPythonV8Internal::customGetterLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customGetterLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 609851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"customGetterReadonlyObjectAttribute", TestObjectPythonV8Internal::customGetterReadonlyObjectAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6099f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customSetterLongAttribute", TestObjectPythonV8Internal::customSetterLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customSetterLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 610051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 6101f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customLongAttribute", TestObjectPythonV8Internal::customLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 610251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 6103f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customElementsCallbacksReadonlyLongAttribute", TestObjectPythonV8Internal::customElementsCallbacksReadonlyLongAttributeAttributeGetterCallback, 0, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6104f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"deprecatedLongAttribute", TestObjectPythonV8Internal::deprecatedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::deprecatedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6105f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"enforceRangeLongAttribute", TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::enforceRangeLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6106f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"getterRaisesExceptionLongAttribute", TestObjectPythonV8Internal::getterRaisesExceptionLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::getterRaisesExceptionLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6107f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"implementedAsLongAttribute", TestObjectPythonV8Internal::implementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::implementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6108f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customImplementedAsLongAttribute", TestObjectPythonV8Internal::customImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6109f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customGetterImplementedAsLongAttribute", TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customGetterImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6110f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"customSetterImplementedAsLongAttribute", TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::customSetterImplementedAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6111f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"measureAsLongAttribute", TestObjectPythonV8Internal::measureAsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::measureAsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6112f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"notEnumerableLongAttribute", TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::notEnumerableLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::DontEnum), 0 /* on instance */}, 6113f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6114f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"perWorldBindingsReadonlyLongAttribute", TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterCallback, 0, TestObjectPythonV8Internal::perWorldBindingsReadonlyLongAttributeAttributeGetterCallbackForMainWorld, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6115f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6116f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6117f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6118f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"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 */}, 6119f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"raisesExceptionLongAttribute", TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::raisesExceptionLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6120f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectTestInterfaceAttribute", TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6121f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectReflectedNameAttributeTestAttribute", TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectReflectedNameAttributeTestAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6122f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectBooleanAttribute", TestObjectPythonV8Internal::reflectBooleanAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectBooleanAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6123f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectLongAttribute", TestObjectPythonV8Internal::reflectLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6124f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectUnsignedShortAttribute", TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectUnsignedShortAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6125f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectUnsignedLongAttribute", TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::reflectUnsignedLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6126f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"id", TestObjectPythonV8Internal::idAttributeGetterCallback, TestObjectPythonV8Internal::idAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6127f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"name", TestObjectPythonV8Internal::nameAttributeGetterCallback, TestObjectPythonV8Internal::nameAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6128f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"class", TestObjectPythonV8Internal::classAttributeGetterCallback, TestObjectPythonV8Internal::classAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6129f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectedId", TestObjectPythonV8Internal::reflectedIdAttributeGetterCallback, TestObjectPythonV8Internal::reflectedIdAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6130f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectedName", TestObjectPythonV8Internal::reflectedNameAttributeGetterCallback, TestObjectPythonV8Internal::reflectedNameAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6131f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"reflectedClass", TestObjectPythonV8Internal::reflectedClassAttributeGetterCallback, TestObjectPythonV8Internal::reflectedClassAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6132f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"replaceableReadonlyLongAttribute", TestObjectPythonV8Internal::replaceableReadonlyLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::TestObjectPythonReplaceableAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6133f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"setterCallWithActiveWindowAndFirstWindowStringAttribute", TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::setterCallWithActiveWindowAndFirstWindowStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6134f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"setterRaisesExceptionLongAttribute", TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::setterRaisesExceptionLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6135f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"strictTypeCheckingFloatAttribute", TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeGetterCallback, TestObjectPythonV8Internal::strictTypeCheckingFloatAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6136f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"strictTypeCheckingTestInterfaceAttribute", TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeGetterCallback, TestObjectPythonV8Internal::strictTypeCheckingTestInterfaceAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6137f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"treatNullAsNullStringStringAttribute", TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatNullAsNullStringStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6138f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"treatReturnedNullStringAsNullStringAttribute", TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6139f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"treatReturnedNullStringAsUndefinedStringAttribute", TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6140f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"urlStringAttribute", TestObjectPythonV8Internal::urlStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::urlStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6141f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"urlStringAttribute", TestObjectPythonV8Internal::urlStringAttributeAttributeGetterCallback, TestObjectPythonV8Internal::urlStringAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}, 6142f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unforgeableLongAttribute", TestObjectPythonV8Internal::unforgeableLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::unforgeableLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::PROHIBITS_OVERWRITING), static_cast<v8::PropertyAttribute>(v8::DontDelete), 0 /* on instance */}, 6143f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)}; 6144f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 614551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static const V8DOMConfiguration::AccessorConfiguration V8TestObjectPythonAccessors[] = { 614651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"exposeJSAccessorsLongAttribute", TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::exposeJSAccessorsLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None)}, 614751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)}; 614851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 6149f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)static const V8DOMConfiguration::MethodConfiguration V8TestObjectPythonMethods[] = { 6150f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethod", TestObjectPythonV8Internal::voidMethodMethodCallback, 0, 0}, 6151f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"dateMethod", TestObjectPythonV8Internal::dateMethodMethodCallback, 0, 0}, 6152f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"stringMethod", TestObjectPythonV8Internal::stringMethodMethodCallback, 0, 0}, 6153f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"readonlyDOMTimeStampMethod", TestObjectPythonV8Internal::readonlyDOMTimeStampMethodMethodCallback, 0, 0}, 6154f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"booleanMethod", TestObjectPythonV8Internal::booleanMethodMethodCallback, 0, 0}, 6155f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"byteMethod", TestObjectPythonV8Internal::byteMethodMethodCallback, 0, 0}, 6156f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"doubleMethod", TestObjectPythonV8Internal::doubleMethodMethodCallback, 0, 0}, 6157f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"floatMethod", TestObjectPythonV8Internal::floatMethodMethodCallback, 0, 0}, 6158f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longMethod", TestObjectPythonV8Internal::longMethodMethodCallback, 0, 0}, 6159f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longLongMethod", TestObjectPythonV8Internal::longLongMethodMethodCallback, 0, 0}, 6160f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"octetMethod", TestObjectPythonV8Internal::octetMethodMethodCallback, 0, 0}, 6161f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"shortMethod", TestObjectPythonV8Internal::shortMethodMethodCallback, 0, 0}, 6162f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedLongMethod", TestObjectPythonV8Internal::unsignedLongMethodMethodCallback, 0, 0}, 6163f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedLongLongMethod", TestObjectPythonV8Internal::unsignedLongLongMethodMethodCallback, 0, 0}, 6164f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"unsignedShortMethod", TestObjectPythonV8Internal::unsignedShortMethodMethodCallback, 0, 0}, 6165f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodDateArg", TestObjectPythonV8Internal::voidMethodDateArgMethodCallback, 0, 1}, 6166f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodStringArg", TestObjectPythonV8Internal::voidMethodStringArgMethodCallback, 0, 1}, 6167f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodBooleanArg", TestObjectPythonV8Internal::voidMethodBooleanArgMethodCallback, 0, 1}, 6168f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodByteArg", TestObjectPythonV8Internal::voidMethodByteArgMethodCallback, 0, 1}, 6169f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodDoubleArg", TestObjectPythonV8Internal::voidMethodDoubleArgMethodCallback, 0, 1}, 6170f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodFloatArg", TestObjectPythonV8Internal::voidMethodFloatArgMethodCallback, 0, 1}, 6171f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodLongArg", TestObjectPythonV8Internal::voidMethodLongArgMethodCallback, 0, 1}, 6172f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodLongLongArg", TestObjectPythonV8Internal::voidMethodLongLongArgMethodCallback, 0, 1}, 6173f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodOctetArg", TestObjectPythonV8Internal::voidMethodOctetArgMethodCallback, 0, 1}, 6174f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodShortArg", TestObjectPythonV8Internal::voidMethodShortArgMethodCallback, 0, 1}, 6175f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodUnsignedLongArg", TestObjectPythonV8Internal::voidMethodUnsignedLongArgMethodCallback, 0, 1}, 6176f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodUnsignedLongLongArg", TestObjectPythonV8Internal::voidMethodUnsignedLongLongArgMethodCallback, 0, 1}, 6177f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodUnsignedShortArg", TestObjectPythonV8Internal::voidMethodUnsignedShortArgMethodCallback, 0, 1}, 6178f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testInterfaceEmptyMethod", TestObjectPythonV8Internal::testInterfaceEmptyMethodMethodCallback, 0, 0}, 617919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"compareHowMethod", TestObjectPythonV8Internal::compareHowMethodMethodCallback, 0, 0}, 618019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"anyMethod", TestObjectPythonV8Internal::anyMethodMethodCallback, 0, 0}, 618119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodMediaQueryListListenerArg", TestObjectPythonV8Internal::voidMethodMediaQueryListListenerArgMethodCallback, 0, 1}, 618219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodCompareHowArg", TestObjectPythonV8Internal::voidMethodCompareHowArgMethodCallback, 0, 1}, 618319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodAnyArg", TestObjectPythonV8Internal::voidMethodAnyArgMethodCallback, 0, 1}, 6184f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"arrayBufferMethod", TestObjectPythonV8Internal::arrayBufferMethodMethodCallback, 0, 0}, 6185f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"arrayBufferViewMethod", TestObjectPythonV8Internal::arrayBufferViewMethodMethodCallback, 0, 0}, 6186f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"float32ArrayMethod", TestObjectPythonV8Internal::float32ArrayMethodMethodCallback, 0, 0}, 6187f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"int32ArrayMethod", TestObjectPythonV8Internal::int32ArrayMethodMethodCallback, 0, 0}, 6188f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"uint8ArrayMethod", TestObjectPythonV8Internal::uint8ArrayMethodMethodCallback, 0, 0}, 6189f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longArrayMethod", TestObjectPythonV8Internal::longArrayMethodMethodCallback, 0, 0}, 6190f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"stringArrayMethod", TestObjectPythonV8Internal::stringArrayMethodMethodCallback, 0, 0}, 6191f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testInterfaceEmptyArrayMethod", TestObjectPythonV8Internal::testInterfaceEmptyArrayMethodMethodCallback, 0, 0}, 6192f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodArrayLongArg", TestObjectPythonV8Internal::voidMethodArrayLongArgMethodCallback, 0, 1}, 6193f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodArrayStringArg", TestObjectPythonV8Internal::voidMethodArrayStringArgMethodCallback, 0, 1}, 6194f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodArrayTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodArrayTestInterfaceEmptyArgMethodCallback, 0, 1}, 6195f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"sequenceLongMethod", TestObjectPythonV8Internal::sequenceLongMethodMethodCallback, 0, 0}, 6196f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"sequenceStringMethod", TestObjectPythonV8Internal::sequenceStringMethodMethodCallback, 0, 0}, 6197f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"sequenceTestInterfaceEmptyMethod", TestObjectPythonV8Internal::sequenceTestInterfaceEmptyMethodMethodCallback, 0, 0}, 6198f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodSequenceLongArg", TestObjectPythonV8Internal::voidMethodSequenceLongArgMethodCallback, 0, 1}, 6199f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodSequenceStringArg", TestObjectPythonV8Internal::voidMethodSequenceStringArgMethodCallback, 0, 1}, 6200f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodSequenceTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodSequenceTestInterfaceEmptyArgMethodCallback, 0, 1}, 6201f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testEnumMethod", TestObjectPythonV8Internal::testEnumMethodMethodCallback, 0, 0}, 6202f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodTestEnumArg", TestObjectPythonV8Internal::voidMethodTestEnumArgMethodCallback, 0, 1}, 620319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"dictionaryMethod", TestObjectPythonV8Internal::dictionaryMethodMethodCallback, 0, 0}, 6204f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"nodeFilterMethod", TestObjectPythonV8Internal::nodeFilterMethodMethodCallback, 0, 0}, 620519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"promiseMethod", TestObjectPythonV8Internal::promiseMethodMethodCallback, 0, 0}, 6206f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"serializedScriptValueMethod", TestObjectPythonV8Internal::serializedScriptValueMethodMethodCallback, 0, 0}, 6207f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"xPathNSResolverMethod", TestObjectPythonV8Internal::xPathNSResolverMethodMethodCallback, 0, 0}, 620819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodDictionaryArg", TestObjectPythonV8Internal::voidMethodDictionaryArgMethodCallback, 0, 1}, 6209f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodNodeFilterArg", TestObjectPythonV8Internal::voidMethodNodeFilterArgMethodCallback, 0, 1}, 621019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodPromiseArg", TestObjectPythonV8Internal::voidMethodPromiseArgMethodCallback, 0, 1}, 6211f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodSerializedScriptValueArg", TestObjectPythonV8Internal::voidMethodSerializedScriptValueArgMethodCallback, 0, 1}, 621251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"voidMethodSequenceDictionaryArg", TestObjectPythonV8Internal::voidMethodSequenceDictionaryArgMethodCallback, 0, 1}, 6213f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodStringArgLongArg", TestObjectPythonV8Internal::voidMethodStringArgLongArgMethodCallback, 0, 2}, 6214f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodOptionalStringArg", TestObjectPythonV8Internal::voidMethodOptionalStringArgMethodCallback, 0, 0}, 6215f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodOptionalTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodOptionalTestInterfaceEmptyArgMethodCallback, 0, 0}, 6216f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodOptionalLongArg", TestObjectPythonV8Internal::voidMethodOptionalLongArgMethodCallback, 0, 0}, 6217f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"stringMethodOptionalLongArg", TestObjectPythonV8Internal::stringMethodOptionalLongArgMethodCallback, 0, 0}, 6218f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"testInterfaceEmptyMethodOptionalLongArg", TestObjectPythonV8Internal::testInterfaceEmptyMethodOptionalLongArgMethodCallback, 0, 0}, 6219f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"longMethodOptionalLongArg", TestObjectPythonV8Internal::longMethodOptionalLongArgMethodCallback, 0, 0}, 6220f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodLongArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgMethodCallback, 0, 1}, 6221f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodLongArgOptionalLongArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback, 0, 1}, 6222f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodLongArgOptionalTestInterfaceEmptyArg", TestObjectPythonV8Internal::voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback, 0, 1}, 6223f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodTestInterfaceEmptyArgOptionalLongArg", TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback, 0, 1}, 622451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"voidMethodOptionalDictionaryArg", TestObjectPythonV8Internal::voidMethodOptionalDictionaryArgMethodCallback, 0, 0}, 6225f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodVariadicStringArg", TestObjectPythonV8Internal::voidMethodVariadicStringArgMethodCallback, 0, 1}, 6226f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) {"voidMethodStringArgVariadicStringArg", TestObjectPythonV8Internal::voidMethodStringArgVariadicStringArgMethodCallback, 0, 2}, 622751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodA", TestObjectPythonV8Internal::overloadedMethodAMethodCallback, 0, 1}, 622851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodB", TestObjectPythonV8Internal::overloadedMethodBMethodCallback, 0, 1}, 622951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodC", TestObjectPythonV8Internal::overloadedMethodCMethodCallback, 0, 1}, 623051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodD", TestObjectPythonV8Internal::overloadedMethodDMethodCallback, 0, 1}, 623151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodE", TestObjectPythonV8Internal::overloadedMethodEMethodCallback, 0, 1}, 623251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodF", TestObjectPythonV8Internal::overloadedMethodFMethodCallback, 0, 1}, 623351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedMethodG", TestObjectPythonV8Internal::overloadedMethodGMethodCallback, 0, 0}, 623451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"overloadedPerWorldBindingsMethod", TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodCallback, TestObjectPythonV8Internal::overloadedPerWorldBindingsMethodMethodCallbackForMainWorld, 0}, 623551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"addEventListener", TestObjectPythonV8Internal::addEventListenerMethodCallback, 0, 2}, 623651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"removeEventListener", TestObjectPythonV8Internal::removeEventListenerMethodCallback, 0, 2}, 623719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodClampUnsignedShortArg", TestObjectPythonV8Internal::voidMethodClampUnsignedShortArgMethodCallback, 0, 1}, 623819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodClampUnsignedLongArg", TestObjectPythonV8Internal::voidMethodClampUnsignedLongArgMethodCallback, 0, 1}, 623919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodDefaultUndefinedLongArg", TestObjectPythonV8Internal::voidMethodDefaultUndefinedLongArgMethodCallback, 0, 0}, 624019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodDefaultUndefinedStringArg", TestObjectPythonV8Internal::voidMethodDefaultUndefinedStringArgMethodCallback, 0, 0}, 624119cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodDefaultNullStringStringArg", TestObjectPythonV8Internal::voidMethodDefaultNullStringStringArgMethodCallback, 0, 0}, 624219cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodEnforceRangeLongArg", TestObjectPythonV8Internal::voidMethodEnforceRangeLongArgMethodCallback, 0, 1}, 624319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodTreatNullAsNullStringStringArg", TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringStringArgMethodCallback, 0, 1}, 624419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) {"voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg", TestObjectPythonV8Internal::voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArgMethodCallback, 0, 1}, 624551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"activityLoggingAccessForAllWorldsMethod", TestObjectPythonV8Internal::activityLoggingAccessForAllWorldsMethodMethodCallback, 0, 0}, 624651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithScriptStateVoidMethod", TestObjectPythonV8Internal::callWithScriptStateVoidMethodMethodCallback, 0, 0}, 624751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithScriptStateLongMethod", TestObjectPythonV8Internal::callWithScriptStateLongMethodMethodCallback, 0, 0}, 624851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithExecutionContextVoidMethod", TestObjectPythonV8Internal::callWithExecutionContextVoidMethodMethodCallback, 0, 0}, 624951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithScriptStateExecutionContextVoidMethod", TestObjectPythonV8Internal::callWithScriptStateExecutionContextVoidMethodMethodCallback, 0, 0}, 625051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithScriptStateScriptArgumentsVoidMethod", TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodMethodCallback, 0, 0}, 625151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg", TestObjectPythonV8Internal::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback, 0, 0}, 625251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithActiveWindow", TestObjectPythonV8Internal::callWithActiveWindowMethodCallback, 0, 0}, 625351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"callWithActiveWindowScriptWindow", TestObjectPythonV8Internal::callWithActiveWindowScriptWindowMethodCallback, 0, 0}, 625451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"checkSecurityForNodeVoidMethod", TestObjectPythonV8Internal::checkSecurityForNodeVoidMethodMethodCallback, 0, 0}, 625551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 625651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"conditionalConditionVoidMethod", TestObjectPythonV8Internal::conditionalConditionVoidMethodMethodCallback, 0, 0}, 625751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 625851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 625951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"conditionalCondition1AndCondition2VoidMethod", TestObjectPythonV8Internal::conditionalCondition1AndCondition2VoidMethodMethodCallback, 0, 0}, 626051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION_1) && ENABLE(CONDITION_2) 626151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"customVoidMethod", TestObjectPythonV8Internal::customVoidMethodMethodCallback, 0, 0}, 626251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 626351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"conditionalConditionCustomVoidMethod", TestObjectPythonV8Internal::conditionalConditionCustomVoidMethodMethodCallback, 0, 0}, 626451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 626551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"customElementCallbacksVoidMethod", TestObjectPythonV8Internal::customElementCallbacksVoidMethodMethodCallback, 0, 0}, 626651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"deprecatedVoidMethod", TestObjectPythonV8Internal::deprecatedVoidMethodMethodCallback, 0, 0}, 626751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"implementedAsVoidMethod", TestObjectPythonV8Internal::implementedAsVoidMethodMethodCallback, 0, 0}, 626851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"measureAsVoidMethod", TestObjectPythonV8Internal::measureAsVoidMethodMethodCallback, 0, 0}, 626951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"perWorldBindingsVoidMethod", TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::perWorldBindingsVoidMethodMethodCallbackForMainWorld, 0}, 627051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"activityLoggingForAllWorldsPerWorldBindingsVoidMethod", TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0}, 627151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod", TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback, TestObjectPythonV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld, 0}, 627251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"raisesExceptionVoidMethod", TestObjectPythonV8Internal::raisesExceptionVoidMethodMethodCallback, 0, 0}, 627351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"raisesExceptionVoidMethodOptionalLongArg", TestObjectPythonV8Internal::raisesExceptionVoidMethodOptionalLongArgMethodCallback, 0, 0}, 627451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"strictTypeCheckingVoidMethodTestInterfaceEmptyArg", TestObjectPythonV8Internal::strictTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback, 0, 1}, 627551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"treatReturnedNullStringAsNullStringMethod", TestObjectPythonV8Internal::treatReturnedNullStringAsNullStringMethodMethodCallback, 0, 0}, 627651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"treatReturnedNullStringAsUndefinedStringMethod", TestObjectPythonV8Internal::treatReturnedNullStringAsUndefinedStringMethodMethodCallback, 0, 0}, 6277f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)}; 6278f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 627951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)static v8::Handle<v8::FunctionTemplate> ConfigureV8TestObjectPythonTemplate(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate, WrapperWorldType currentWorldType) 628006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 628151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) functionTemplate->ReadOnlyPrototype(); 628206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 628306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) v8::Local<v8::Signature> defaultSignature; 628451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestObjectPython", v8::Local<v8::FunctionTemplate>(), V8TestObjectPython::internalFieldCount, 628506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) V8TestObjectPythonAttributes, WTF_ARRAY_LENGTH(V8TestObjectPythonAttributes), 628651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8TestObjectPythonAccessors, WTF_ARRAY_LENGTH(V8TestObjectPythonAccessors), 628719cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) V8TestObjectPythonMethods, WTF_ARRAY_LENGTH(V8TestObjectPythonMethods), 628819cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) isolate, currentWorldType); 6289a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Local<v8::ObjectTemplate> ALLOW_UNUSED instanceTemplate = functionTemplate->InstanceTemplate(); 6290a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Local<v8::ObjectTemplate> ALLOW_UNUSED prototypeTemplate = functionTemplate->PrototypeTemplate(); 62911e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) { 62921e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\ 6293bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) {"runtimeEnabledLongAttribute", TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::runtimeEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}; 629451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate, currentWorldType); 62951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) } 629651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 62971e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) { 62981e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\ 629951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) {"conditionalRuntimeEnabledLongAttribute", TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::conditionalRuntimeEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}; 630051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate, currentWorldType); 63011e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) } 630251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 6303a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) static const V8DOMConfiguration::ConstantConfiguration V8TestObjectPythonConstants[] = { 6304a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_0", 0}, 6305a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_1", 1}, 6306a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_2", 2}, 6307a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_4", 4}, 6308a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_8", 8}, 6309a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_9", -1}, 6310a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_10", "my constant string"}, 6311a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_11", 0xffffffff}, 6312a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_12", 0x01}, 6313a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_13", 0X20}, 6314a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_14", 0x1abc}, 6315a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_15", 010}, 6316a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_16", -010}, 6317a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_16", -0x1A}, 6318a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_VALUE_17", -0X1a}, 6319a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"DEPRECATED_CONSTANT", 1}, 6320a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) {"CONST_JAVASCRIPT", 1}, 6321a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) }; 6322a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) V8DOMConfiguration::installConstants(functionTemplate, prototypeTemplate, V8TestObjectPythonConstants, WTF_ARRAY_LENGTH(V8TestObjectPythonConstants), isolate); 6323a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) { 6324a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) static const V8DOMConfiguration::ConstantConfiguration constantConfiguration = {"FEATURE_ENABLED_CONST", static_cast<signed int>(1)}; 6325a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) V8DOMConfiguration::installConstants(functionTemplate, prototypeTemplate, &constantConfiguration, 1, isolate); 6326a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) } 6327a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(0 == TestObjectPython::CONST_VALUE_0, TheValueOfTestObjectPython_CONST_VALUE_0DoesntMatchWithImplementation); 6328a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(1 == TestObjectPython::CONST_VALUE_1, TheValueOfTestObjectPython_CONST_VALUE_1DoesntMatchWithImplementation); 6329a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(2 == TestObjectPython::CONST_VALUE_2, TheValueOfTestObjectPython_CONST_VALUE_2DoesntMatchWithImplementation); 6330a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(4 == TestObjectPython::CONST_VALUE_4, TheValueOfTestObjectPython_CONST_VALUE_4DoesntMatchWithImplementation); 6331a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(8 == TestObjectPython::CONST_VALUE_8, TheValueOfTestObjectPython_CONST_VALUE_8DoesntMatchWithImplementation); 6332a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(-1 == TestObjectPython::CONST_VALUE_9, TheValueOfTestObjectPython_CONST_VALUE_9DoesntMatchWithImplementation); 6333a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT("my constant string" == TestObjectPython::CONST_VALUE_10, TheValueOfTestObjectPython_CONST_VALUE_10DoesntMatchWithImplementation); 6334a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(0xffffffff == TestObjectPython::CONST_VALUE_11, TheValueOfTestObjectPython_CONST_VALUE_11DoesntMatchWithImplementation); 6335a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(0x01 == TestObjectPython::CONST_VALUE_12, TheValueOfTestObjectPython_CONST_VALUE_12DoesntMatchWithImplementation); 6336a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(0X20 == TestObjectPython::CONST_VALUE_13, TheValueOfTestObjectPython_CONST_VALUE_13DoesntMatchWithImplementation); 6337a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(0x1abc == TestObjectPython::CONST_VALUE_14, TheValueOfTestObjectPython_CONST_VALUE_14DoesntMatchWithImplementation); 6338a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(010 == TestObjectPython::CONST_VALUE_15, TheValueOfTestObjectPython_CONST_VALUE_15DoesntMatchWithImplementation); 6339a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(-010 == TestObjectPython::CONST_VALUE_16, TheValueOfTestObjectPython_CONST_VALUE_16DoesntMatchWithImplementation); 6340a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(-0x1A == TestObjectPython::CONST_VALUE_16, TheValueOfTestObjectPython_CONST_VALUE_16DoesntMatchWithImplementation); 6341a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(-0X1a == TestObjectPython::CONST_VALUE_17, TheValueOfTestObjectPython_CONST_VALUE_17DoesntMatchWithImplementation); 6342a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(1 == TestObjectPython::DEPRECATED_CONSTANT, TheValueOfTestObjectPython_DEPRECATED_CONSTANTDoesntMatchWithImplementation); 6343a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(1 == TestObjectPython::FEATURE_ENABLED_CONST, TheValueOfTestObjectPython_FEATURE_ENABLED_CONSTDoesntMatchWithImplementation); 6344a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) COMPILE_ASSERT(1 == TestObjectPython::CONST_IMPL, TheValueOfTestObjectPython_CONST_IMPLDoesntMatchWithImplementation); 6345a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->Set(v8::String::NewFromUtf8(isolate, "staticVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::staticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0)); 6346f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6347f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodTestInterfaceEmptyArg' 6348f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodTestInterfaceEmptyArgArgc = 1; 6349a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodTestInterfaceEmptyArgArgv[voidMethodTestInterfaceEmptyArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6350a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodTestInterfaceEmptyArgArgc, voidMethodTestInterfaceEmptyArgArgv); 6351a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgMethodCallback, v8Undefined(), voidMethodTestInterfaceEmptyArgSignature, 1)); 6352f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6353f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodLongArgTestInterfaceEmptyArg' 6354f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodLongArgTestInterfaceEmptyArgArgc = 2; 6355a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodLongArgTestInterfaceEmptyArgArgv[voidMethodLongArgTestInterfaceEmptyArgArgc] = { v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6356a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodLongArgTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodLongArgTestInterfaceEmptyArgArgc, voidMethodLongArgTestInterfaceEmptyArgArgv); 6357a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodLongArgTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodLongArgTestInterfaceEmptyArgMethodCallback, v8Undefined(), voidMethodLongArgTestInterfaceEmptyArgSignature, 2)); 6358f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6359f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodAttrArg' 6360f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodAttrArgArgc = 1; 6361a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodAttrArgArgv[voidMethodAttrArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8Attr::wrapperTypeInfo, currentWorldType) }; 6362a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodAttrArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodAttrArgArgc, voidMethodAttrArgArgv); 6363a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodAttrArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodAttrArgMethodCallback, v8Undefined(), voidMethodAttrArgSignature, 1)); 6364f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6365f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodDocumentArg' 6366f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodDocumentArgArgc = 1; 6367a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodDocumentArgArgv[voidMethodDocumentArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8Document::wrapperTypeInfo, currentWorldType) }; 6368a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodDocumentArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodDocumentArgArgc, voidMethodDocumentArgArgv); 6369a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodDocumentArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodDocumentArgMethodCallback, v8Undefined(), voidMethodDocumentArgSignature, 1)); 6370f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6371f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodDocumentTypeArg' 6372f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodDocumentTypeArgArgc = 1; 6373a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodDocumentTypeArgArgv[voidMethodDocumentTypeArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8DocumentType::wrapperTypeInfo, currentWorldType) }; 6374a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodDocumentTypeArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodDocumentTypeArgArgc, voidMethodDocumentTypeArgArgv); 6375a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodDocumentTypeArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodDocumentTypeArgMethodCallback, v8Undefined(), voidMethodDocumentTypeArgSignature, 1)); 6376f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6377f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodElementArg' 6378f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodElementArgArgc = 1; 6379a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodElementArgArgv[voidMethodElementArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8Element::wrapperTypeInfo, currentWorldType) }; 6380a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodElementArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodElementArgArgc, voidMethodElementArgArgv); 6381a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodElementArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodElementArgMethodCallback, v8Undefined(), voidMethodElementArgSignature, 1)); 6382f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6383f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodNodeArg' 6384f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodNodeArgArgc = 1; 6385a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodNodeArgArgv[voidMethodNodeArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8Node::wrapperTypeInfo, currentWorldType) }; 6386a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodNodeArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodNodeArgArgc, voidMethodNodeArgArgv); 6387a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodNodeArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodNodeArgMethodCallback, v8Undefined(), voidMethodNodeArgSignature, 1)); 6388f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6389f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodArrayBufferArg' 6390f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodArrayBufferArgArgc = 1; 6391f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodArrayBufferArgArgv[voidMethodArrayBufferArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6392a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodArrayBufferArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodArrayBufferArgArgc, voidMethodArrayBufferArgArgv); 6393a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodArrayBufferArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodArrayBufferArgMethodCallback, v8Undefined(), voidMethodArrayBufferArgSignature, 1)); 6394f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6395f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodArrayBufferViewArg' 6396f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodArrayBufferViewArgArgc = 1; 6397f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodArrayBufferViewArgArgv[voidMethodArrayBufferViewArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6398a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodArrayBufferViewArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodArrayBufferViewArgArgc, voidMethodArrayBufferViewArgArgv); 6399a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodArrayBufferViewArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodArrayBufferViewArgMethodCallback, v8Undefined(), voidMethodArrayBufferViewArgSignature, 1)); 6400f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6401f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodFloat32ArrayArg' 6402f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodFloat32ArrayArgArgc = 1; 6403f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodFloat32ArrayArgArgv[voidMethodFloat32ArrayArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6404a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodFloat32ArrayArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodFloat32ArrayArgArgc, voidMethodFloat32ArrayArgArgv); 6405a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodFloat32ArrayArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodFloat32ArrayArgMethodCallback, v8Undefined(), voidMethodFloat32ArrayArgSignature, 1)); 6406f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6407f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodInt32ArrayArg' 6408f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodInt32ArrayArgArgc = 1; 6409f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodInt32ArrayArgArgv[voidMethodInt32ArrayArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6410a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodInt32ArrayArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodInt32ArrayArgArgc, voidMethodInt32ArrayArgArgv); 6411a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodInt32ArrayArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodInt32ArrayArgMethodCallback, v8Undefined(), voidMethodInt32ArrayArgSignature, 1)); 6412f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6413f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodUint8ArrayArg' 6414f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodUint8ArrayArgArgc = 1; 6415f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodUint8ArrayArgArgv[voidMethodUint8ArrayArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6416a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodUint8ArrayArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodUint8ArrayArgArgc, voidMethodUint8ArrayArgArgv); 6417a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodUint8ArrayArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodUint8ArrayArgMethodCallback, v8Undefined(), voidMethodUint8ArrayArgSignature, 1)); 6418f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 641919cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) // Custom Signature 'voidMethodNullableStringArg' 642019cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) const int voidMethodNullableStringArgArgc = 1; 6421a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodNullableStringArgArgv[voidMethodNullableStringArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6422a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodNullableStringArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodNullableStringArgArgc, voidMethodNullableStringArgArgv); 6423a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodNullableStringArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodNullableStringArgMethodCallback, v8Undefined(), voidMethodNullableStringArgSignature, 1)); 6424f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6425f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodXPathNSResolverArg' 6426f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodXPathNSResolverArgArgc = 1; 6427f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodXPathNSResolverArgArgv[voidMethodXPathNSResolverArgArgc] = { v8::Handle<v8::FunctionTemplate>() }; 6428a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodXPathNSResolverArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodXPathNSResolverArgArgc, voidMethodXPathNSResolverArgArgv); 6429a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodXPathNSResolverArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodXPathNSResolverArgMethodCallback, v8Undefined(), voidMethodXPathNSResolverArgSignature, 1)); 6430f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6431f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodVariadicTestInterfaceEmptyArg' 6432f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodVariadicTestInterfaceEmptyArgArgc = 1; 6433a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodVariadicTestInterfaceEmptyArgArgv[voidMethodVariadicTestInterfaceEmptyArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6434a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodVariadicTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodVariadicTestInterfaceEmptyArgArgc, voidMethodVariadicTestInterfaceEmptyArgArgv); 6435a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodVariadicTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethodCallback, v8Undefined(), voidMethodVariadicTestInterfaceEmptyArgSignature, 1)); 6436f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 6437f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Custom Signature 'voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg' 6438f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) const int voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgArgc = 2; 6439a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgArgv[voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType), V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6440a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgArgc, voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgArgv); 6441a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback, v8Undefined(), voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgSignature, 2)); 6442a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->Set(v8::String::NewFromUtf8(isolate, "overloadedStaticMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::overloadedStaticMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 1)); 644319cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) 644419cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) // Custom Signature 'voidMethodDefaultUndefinedTestInterfaceEmptyArg' 644519cde67944066db31e633d9e386f2aa9bf9fadb3Torne (Richard Coles) const int voidMethodDefaultUndefinedTestInterfaceEmptyArgArgc = 1; 6446a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> voidMethodDefaultUndefinedTestInterfaceEmptyArgArgv[voidMethodDefaultUndefinedTestInterfaceEmptyArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6447a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> voidMethodDefaultUndefinedTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, voidMethodDefaultUndefinedTestInterfaceEmptyArgArgc, voidMethodDefaultUndefinedTestInterfaceEmptyArgArgv); 6448a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "voidMethodDefaultUndefinedTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback, v8Undefined(), voidMethodDefaultUndefinedTestInterfaceEmptyArgSignature, 0)); 644951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#if ENABLE(CONDITION) 6450a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->Set(v8::String::NewFromUtf8(isolate, "conditionalConditionStaticVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::conditionalConditionStaticVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0)); 645151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)#endif // ENABLE(CONDITION) 6452a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "doNotCheckSignatureVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::doNotCheckSignatureVoidMethodMethodCallback, v8Undefined(), v8::Local<v8::Signature>(), 0)); 6453a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "notEnumerableVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::notEnumerableVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::DontEnum)); 645451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 645551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) // Custom Signature 'perWorldBindingsVoidMethodTestInterfaceEmptyArg' 645651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) const int perWorldBindingsVoidMethodTestInterfaceEmptyArgArgc = 1; 6457a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::FunctionTemplate> perWorldBindingsVoidMethodTestInterfaceEmptyArgArgv[perWorldBindingsVoidMethodTestInterfaceEmptyArgArgc] = { V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8TestInterfaceEmpty::wrapperTypeInfo, currentWorldType) }; 6458a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Handle<v8::Signature> perWorldBindingsVoidMethodTestInterfaceEmptyArgSignature = v8::Signature::New(isolate, functionTemplate, perWorldBindingsVoidMethodTestInterfaceEmptyArgArgc, perWorldBindingsVoidMethodTestInterfaceEmptyArgArgv); 645951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (currentWorldType == MainWorld) { 6460a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBindingsVoidMethodTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld, v8Undefined(), perWorldBindingsVoidMethodTestInterfaceEmptyArgSignature, 1)); 646151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } else { 6462a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBindingsVoidMethodTestInterfaceEmptyArg", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback, v8Undefined(), perWorldBindingsVoidMethodTestInterfaceEmptyArgSignature, 1)); 646351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 6464a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "readOnlyVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::readOnlyVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly)); 6465a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "notEnumerableReadOnlyVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::notEnumerableReadOnlyVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0), static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::DontEnum | v8::ReadOnly)); 646651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) 6467a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "runtimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::runtimeEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); 646851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (currentWorldType == MainWorld) { 646951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) 6470a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBindingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld, v8Undefined(), defaultSignature, 0)); 647151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } else { 647251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (RuntimeEnabledFeatures::featureNameEnabled()) 6473a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perWorldBindingsRuntimeEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); 647451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) } 6475a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) instanceTemplate->Set(v8::String::NewFromUtf8(isolate, "unforgeableVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::unforgeableVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)); 6476a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->SetNativeDataProperty(v8::String::NewFromUtf8(isolate, "staticStringAttribute", v8::String::kInternalizedString), 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)); 6477a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->SetNativeDataProperty(v8::String::NewFromUtf8(isolate, "staticLongAttribute", v8::String::kInternalizedString), 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)); 647806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 647906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) // Custom toString template 6480a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) functionTemplate->Set(v8::String::NewFromUtf8(isolate, "toString", v8::String::kInternalizedString), V8PerIsolateData::current()->toStringTemplate()); 648151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return functionTemplate; 648206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 648306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 6484a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)v8::Handle<v8::FunctionTemplate> V8TestObjectPython::domTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) 648506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 648606f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) V8PerIsolateData* data = V8PerIsolateData::from(isolate); 6487f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWorldType).find(&wrapperTypeInfo); 648806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) if (result != data->templateMap(currentWorldType).end()) 648906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) return result->value.newLocal(isolate); 649006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 649106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); 6492a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::EscapableHandleScope handleScope(isolate); 6493a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Local<v8::FunctionTemplate> templ = 6494a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) ConfigureV8TestObjectPythonTemplate(data->rawDOMTemplate(&wrapperTypeInfo, currentWorldType), isolate, currentWorldType); 6495f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent<v8::FunctionTemplate>(isolate, templ)); 6496a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) return handleScope.Escape(templ); 649706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 649806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 649951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)bool V8TestObjectPython::hasInstance(v8::Handle<v8::Value> jsValue, v8::Isolate* isolate, WrapperWorldType currentWorldType) 6500bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles){ 6501f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValue, currentWorldType); 6502bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)} 6503bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) 650451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)bool V8TestObjectPython::hasInstanceInAnyWorld(v8::Handle<v8::Value> jsValue, v8::Isolate* isolate) 650506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 6506f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValue, MainWorld) 6507f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValue, IsolatedWorld) 6508f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) || V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, jsValue, WorkerWorld); 650906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 651006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 651151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)void V8TestObjectPython::installPerContextEnabledProperties(v8::Handle<v8::Object> instanceTemplate, TestObjectPython* impl, v8::Isolate* isolate) 651206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 651351b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) v8::Local<v8::Object> prototypeTemplate = v8::Local<v8::Object>::Cast(instanceTemplate->GetPrototype()); 6514bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) if (ContextFeatures::featureNameEnabled(impl->document())) { 6515bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\ 6516bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) {"perContextEnabledLongAttribute", TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeGetterCallback, TestObjectPythonV8Internal::perContextEnabledLongAttributeAttributeSetterCallback, 0, 0, 0, static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None), 0 /* on instance */}; 651751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate); 6518bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) } 651906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 652006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 652151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)void V8TestObjectPython::installPerContextEnabledMethods(v8::Handle<v8::Object> prototypeTemplate, v8::Isolate* isolate) 652251b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 6523a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate, worldType(isolate))); 652451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 652551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) ExecutionContext* context = toExecutionContext(prototypeTemplate->CreationContext()); 652651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) if (context && context->isDocument() && ContextFeatures::featureNameEnabled(toDocument(context))) 6527a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) prototypeTemplate->Set(v8::String::NewFromUtf8(isolate, "perContextEnabledVoidMethod", v8::String::kInternalizedString), v8::FunctionTemplate::New(isolate, TestObjectPythonV8Internal::perContextEnabledVoidMethodMethodCallback, v8Undefined(), defaultSignature, 0)->GetFunction()); 652851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 652951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 653006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)v8::Handle<v8::Object> V8TestObjectPython::createWrapper(PassRefPtr<TestObjectPython> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 653106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 65321e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) ASSERT(impl); 653306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) ASSERT(!DOMDataStore::containsWrapper<V8TestObjectPython>(impl.get(), isolate)); 653406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { 653506f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) const WrapperTypeInfo* actualInfo = ScriptWrappable::getTypeInfoFromObject(impl.get()); 6536f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapperTypeInfo. These will both have 653706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) // the same object de-ref functions, though, so use that as the basis of the check. 6538f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction); 653906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) } 654006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 6541f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); 654206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) if (UNLIKELY(wrapper.IsEmpty())) 654306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) return wrapper; 654406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 6545bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) installPerContextEnabledProperties(wrapper, impl.get(), isolate); 6546f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) V8DOMWrapper::associateObjectWithWrapper<V8TestObjectPython>(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent); 654706f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) return wrapper; 654806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 654906f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 655006f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)void V8TestObjectPython::derefObject(void* object) 655106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles){ 655206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) fromInternalPointer(object)->deref(); 655306f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} 655406f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles) 655551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)template<> 655651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)v8::Handle<v8::Value> toV8NoInline(TestObjectPython* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 655751b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles){ 655851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) return toV8(impl, creationContext, isolate); 655951b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)} 656051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 656106f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)} // namespace WebCore 6562