Changeset 245068 in webkit
- Timestamp:
- May 8, 2019 2:14:39 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 99 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r245063 r245068 1 2019-05-08 Robin Morisset <rmorisset@apple.com> 2 3 All prototypes should call didBecomePrototype() 4 https://bugs.webkit.org/show_bug.cgi?id=196315 5 6 Reviewed by Saam Barati. 7 8 This changelog already landed, but the commit was missing the actual changes. 9 10 * stress/function-prototype-indexed-accessor.js: Added. 11 1 12 2019-05-08 Caio Lima <ticaiolima@gmail.com> 2 13 -
trunk/Source/JavaScriptCore/ChangeLog
r245064 r245068 1 2019-05-08 Robin Morisset <rmorisset@apple.com> 2 3 All prototypes should call didBecomePrototype() 4 https://bugs.webkit.org/show_bug.cgi?id=196315 5 6 Reviewed by Saam Barati. 7 8 This changelog already landed, but the commit was missing the actual changes. 9 10 Otherwise we won't remember to run haveABadTime() when someone adds to them an indexed accessor. 11 12 I added a check used in both Structure::finishCreation() and Structure::changePrototypeTransition to make sure we don't 13 create structures with invalid prototypes. 14 It found a lot of objects that are used as prototypes in JSGlobalObject and yet were missing didBecomePrototype() in their finishCreation(). 15 Somewhat surprisingly, some of them have names like FunctionConstructor and not only FooPrototype. 16 17 * runtime/BigIntPrototype.cpp: 18 (JSC::BigIntPrototype::finishCreation): 19 * runtime/BooleanPrototype.cpp: 20 (JSC::BooleanPrototype::finishCreation): 21 * runtime/DatePrototype.cpp: 22 (JSC::DatePrototype::finishCreation): 23 * runtime/ErrorConstructor.cpp: 24 (JSC::ErrorConstructor::finishCreation): 25 * runtime/ErrorPrototype.cpp: 26 (JSC::ErrorPrototype::finishCreation): 27 * runtime/FunctionConstructor.cpp: 28 (JSC::FunctionConstructor::finishCreation): 29 * runtime/FunctionPrototype.cpp: 30 (JSC::FunctionPrototype::finishCreation): 31 * runtime/IntlCollatorPrototype.cpp: 32 (JSC::IntlCollatorPrototype::finishCreation): 33 * runtime/IntlDateTimeFormatPrototype.cpp: 34 (JSC::IntlDateTimeFormatPrototype::finishCreation): 35 * runtime/IntlNumberFormatPrototype.cpp: 36 (JSC::IntlNumberFormatPrototype::finishCreation): 37 * runtime/IntlPluralRulesPrototype.cpp: 38 (JSC::IntlPluralRulesPrototype::finishCreation): 39 * runtime/JSArrayBufferPrototype.cpp: 40 (JSC::JSArrayBufferPrototype::finishCreation): 41 * runtime/JSDataViewPrototype.cpp: 42 (JSC::JSDataViewPrototype::finishCreation): 43 * runtime/JSGenericTypedArrayViewPrototypeInlines.h: 44 (JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation): 45 * runtime/JSGlobalObject.cpp: 46 (JSC::createConsoleProperty): 47 * runtime/JSPromisePrototype.cpp: 48 (JSC::JSPromisePrototype::finishCreation): 49 * runtime/JSTypedArrayViewConstructor.cpp: 50 (JSC::JSTypedArrayViewConstructor::finishCreation): 51 * runtime/JSTypedArrayViewPrototype.cpp: 52 (JSC::JSTypedArrayViewPrototype::finishCreation): 53 * runtime/NumberPrototype.cpp: 54 (JSC::NumberPrototype::finishCreation): 55 * runtime/RegExpPrototype.cpp: 56 (JSC::RegExpPrototype::finishCreation): 57 * runtime/StringPrototype.cpp: 58 (JSC::StringPrototype::finishCreation): 59 * runtime/Structure.cpp: 60 (JSC::Structure::isValidPrototype): 61 (JSC::Structure::changePrototypeTransition): 62 * runtime/Structure.h: 63 * runtime/SymbolPrototype.cpp: 64 (JSC::SymbolPrototype::finishCreation): 65 * wasm/js/WebAssemblyCompileErrorPrototype.cpp: 66 (JSC::WebAssemblyCompileErrorPrototype::finishCreation): 67 * wasm/js/WebAssemblyInstancePrototype.cpp: 68 (JSC::WebAssemblyInstancePrototype::finishCreation): 69 * wasm/js/WebAssemblyLinkErrorPrototype.cpp: 70 (JSC::WebAssemblyLinkErrorPrototype::finishCreation): 71 * wasm/js/WebAssemblyMemoryPrototype.cpp: 72 (JSC::WebAssemblyMemoryPrototype::finishCreation): 73 * wasm/js/WebAssemblyModulePrototype.cpp: 74 (JSC::WebAssemblyModulePrototype::finishCreation): 75 * wasm/js/WebAssemblyPrototype.cpp: 76 (JSC::WebAssemblyPrototype::finishCreation): 77 * wasm/js/WebAssemblyRuntimeErrorPrototype.cpp: 78 (JSC::WebAssemblyRuntimeErrorPrototype::finishCreation): 79 * wasm/js/WebAssemblyTablePrototype.cpp: 80 (JSC::WebAssemblyTablePrototype::finishCreation): 81 1 82 2019-05-08 Keith Miller <keith_miller@apple.com> 2 83 -
trunk/Source/JavaScriptCore/runtime/BigIntPrototype.cpp
r244713 r245068 74 74 ASSERT(inherits(vm, info())); 75 75 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "BigInt"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 76 didBecomePrototype(); 76 77 } 77 78 -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
r244713 r245068 60 60 Base::finishCreation(vm); 61 61 setInternalValue(vm, jsBoolean(false)); 62 didBecomePrototype(); 62 63 63 64 ASSERT(inherits(vm, info())); -
trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp
r244713 r245068 516 516 JSFunction* toPrimitiveFunction = JSFunction::create(vm, globalObject, 1, "[Symbol.toPrimitive]"_s, dateProtoFuncToPrimitiveSymbol, NoIntrinsic); 517 517 putDirectWithoutTransition(vm, vm.propertyNames->toPrimitiveSymbol, toPrimitiveFunction, PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 518 didBecomePrototype(); 518 519 519 520 // The constructor will be added later, after DateConstructor has been built. -
trunk/Source/JavaScriptCore/runtime/ErrorConstructor.cpp
r244713 r245068 49 49 putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(1), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 50 50 putDirectWithoutTransition(vm, vm.propertyNames->stackTraceLimit, jsNumber(globalObject(vm)->stackTraceLimit().valueOr(Options::defaultErrorStackTraceLimit())), static_cast<unsigned>(PropertyAttribute::None)); 51 didBecomePrototype(); 51 52 } 52 53 -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
r244713 r245068 67 67 putDirectWithoutTransition(vm, vm.propertyNames->name, jsString(&vm, name), static_cast<unsigned>(PropertyAttribute::DontEnum)); 68 68 putDirectWithoutTransition(vm, vm.propertyNames->message, jsEmptyString(&vm), static_cast<unsigned>(PropertyAttribute::DontEnum)); 69 didBecomePrototype(); 69 70 } 70 71 -
trunk/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
r244713 r245068 62 62 putDirectWithoutTransition(vm, vm.propertyNames->prototype, functionPrototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); 63 63 putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(1), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); 64 didBecomePrototype(); 64 65 } 65 66 -
trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp
r244713 r245068 55 55 Base::finishCreation(vm, name, NameVisibility::Visible, NameAdditionMode::WithoutStructureTransition); 56 56 putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); 57 didBecomePrototype(); 57 58 } 58 59 -
trunk/Source/JavaScriptCore/runtime/IntlCollatorPrototype.cpp
r244713 r245068 77 77 78 78 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Object"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 79 didBecomePrototype(); 79 80 } 80 81 -
trunk/Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp
r244713 r245068 91 91 92 92 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Object"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 93 didBecomePrototype(); 93 94 } 94 95 -
trunk/Source/JavaScriptCore/runtime/IntlNumberFormatPrototype.cpp
r244713 r245068 89 89 90 90 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Object"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 91 didBecomePrototype(); 91 92 } 92 93 -
trunk/Source/JavaScriptCore/runtime/IntlPluralRulesPrototype.cpp
r244713 r245068 76 76 77 77 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Object"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 78 didBecomePrototype(); 78 79 } 79 80 -
trunk/Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp
r244713 r245068 122 122 else 123 123 JSC_NATIVE_GETTER_WITHOUT_TRANSITION(vm.propertyNames->byteLength, sharedArrayBufferProtoGetterFuncByteLength, PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 124 didBecomePrototype(); 124 125 } 125 126 -
trunk/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp
r244713 r245068 111 111 Base::finishCreation(vm); 112 112 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "DataView"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 113 didBecomePrototype(); 113 114 } 114 115 -
trunk/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeInlines.h
r244713 r245068 46 46 putDirect(vm, vm.propertyNames->BYTES_PER_ELEMENT, jsNumber(ViewClass::elementSize), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly | PropertyAttribute::DontDelete); 47 47 48 didBecomePrototype(); 48 49 } 49 50 -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r244713 r245068 233 233 { 234 234 JSGlobalObject* global = jsCast<JSGlobalObject*>(object); 235 return ConsoleObject::create(vm, global, ConsoleObject::createStructure(vm, global, constructEmptyObject(global->globalExec()))); 235 JSValue prototype = constructEmptyObject(global->globalExec()); 236 prototype.getObject()->didBecomePrototype(); 237 return ConsoleObject::create(vm, global, ConsoleObject::createStructure(vm, global, prototype)); 236 238 } 237 239 -
trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp
r244713 r245068 78 78 Base::finishCreation(vm); 79 79 putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Promise"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 80 didBecomePrototype(); 80 81 } 81 82 -
trunk/Source/JavaScriptCore/runtime/JSTypedArrayViewConstructor.cpp
r244713 r245068 56 56 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->of, typedArrayConstructorOfCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 57 57 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->from, typedArrayConstructorFromCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 58 59 didBecomePrototype(); 58 60 } 59 61 -
trunk/Source/JavaScriptCore/runtime/JSTypedArrayViewPrototype.cpp
r244713 r245068 335 335 putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, valuesFunction, static_cast<unsigned>(PropertyAttribute::DontEnum)); 336 336 337 didBecomePrototype(); 337 338 } 338 339 -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp
r244713 r245068 83 83 JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->toString, numberProtoFuncToString, static_cast<unsigned>(PropertyAttribute::DontEnum), 1, NumberPrototypeToStringIntrinsic); 84 84 ASSERT(inherits(vm, info())); 85 didBecomePrototype(); 85 86 } 86 87 -
trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp
r244713 r245068 82 82 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->splitSymbol, regExpPrototypeSplitCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 83 83 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->test, regExpPrototypeTestCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 84 85 didBecomePrototype(); 84 86 } 85 87 -
trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp
r244713 r245068 173 173 // The constructor will be added later, after StringConstructor has been built 174 174 putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); 175 176 didBecomePrototype(); 175 177 } 176 178 -
trunk/Source/JavaScriptCore/runtime/Structure.cpp
r244713 r245068 322 322 } 323 323 324 bool Structure::isValidPrototype(JSValue prototype) 325 { 326 return prototype.isNull() || (prototype.isObject() && prototype.getObject()->mayBePrototype()); 327 } 328 324 329 void Structure::findStructuresAndMapForMaterialization(Vector<Structure*, 8>& structures, Structure*& structure, PropertyTable*& table) 325 330 { … … 545 550 Structure* Structure::changePrototypeTransition(VM& vm, Structure* structure, JSValue prototype, DeferredStructureTransitionWatchpointFire& deferred) 546 551 { 547 ASSERT( prototype.isObject() || prototype.isNull());552 ASSERT(isValidPrototype(prototype)); 548 553 549 554 DeferGC deferGC(vm.heap); -
trunk/Source/JavaScriptCore/runtime/Structure.h
r244713 r245068 143 143 { 144 144 Base::finishCreation(vm); 145 ASSERT(m_prototype.get().isEmpty() || m_prototype.isObject() || m_prototype.isNull());145 ASSERT(m_prototype.get().isEmpty() || isValidPrototype(m_prototype.get())); 146 146 } 147 147 … … 681 681 void checkConsistency(); 682 682 683 JS_EXPORT_PRIVATE static bool isValidPrototype(JSValue); 684 683 685 // This may grab the lock, or not. Do not call when holding the Structure's lock. 684 686 PropertyTable* ensurePropertyTableIfNotEmpty(VM& vm) -
trunk/Source/JavaScriptCore/runtime/SymbolPrototype.cpp
r244713 r245068 68 68 JSFunction* toPrimitiveFunction = JSFunction::create(vm, globalObject, 1, "[Symbol.toPrimitive]"_s, symbolProtoFuncValueOf, NoIntrinsic); 69 69 putDirectWithoutTransition(vm, vm.propertyNames->toPrimitiveSymbol, toPrimitiveFunction, PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); 70 71 didBecomePrototype(); 70 72 } 71 73 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp
r244713 r245068 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp
r244713 r245068 87 87 { 88 88 Base::finishCreation(vm); 89 didBecomePrototype(); 89 90 } 90 91 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp
r244713 r245068 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryPrototype.cpp
r244713 r245068 110 110 Base::finishCreation(vm); 111 111 ASSERT(inherits(vm, info())); 112 didBecomePrototype(); 112 113 } 113 114 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp
r244713 r245068 57 57 { 58 58 Base::finishCreation(vm); 59 didBecomePrototype(); 59 60 } 60 61 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.cpp
r244713 r245068 382 382 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("instantiateStreaming", webAssemblyPrototypeInstantiateStreamingCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 383 383 } 384 385 didBecomePrototype(); 384 386 } 385 387 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp
r244713 r245068 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyTablePrototype.cpp
r244713 r245068 165 165 Base::finishCreation(vm); 166 166 ASSERT(inherits(vm, info())); 167 didBecomePrototype(); 167 168 } 168 169 -
trunk/Source/WebCore/ChangeLog
r245066 r245068 1 2019-05-08 Robin Morisset <rmorisset@apple.com> 2 3 All prototypes should call didBecomePrototype() 4 https://bugs.webkit.org/show_bug.cgi?id=196315 5 6 Reviewed by Saam Barati. 7 8 This changelog already landed, but the commit was missing the actual changes. 9 10 It was found by existing tests, with the new assert in JSC::Structure 11 12 * bindings/js/JSWindowProxy.cpp: 13 (WebCore::JSWindowProxy::setWindow): 14 * bindings/scripts/CodeGeneratorJS.pm: 15 (GeneratePrototypeDeclaration): 16 (GenerateConstructorHelperMethods): 17 * bindings/scripts/test/JS/JSInterfaceName.cpp: 18 (WebCore::JSInterfaceNamePrototype::JSInterfaceNamePrototype): 19 * bindings/scripts/test/JS/JSMapLike.cpp: 20 (WebCore::JSMapLikePrototype::JSMapLikePrototype): 21 * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: 22 (WebCore::JSReadOnlyMapLikePrototype::JSReadOnlyMapLikePrototype): 23 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: 24 (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype): 25 * bindings/scripts/test/JS/JSTestCEReactions.cpp: 26 (WebCore::JSTestCEReactionsPrototype::JSTestCEReactionsPrototype): 27 * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: 28 (WebCore::JSTestCEReactionsStringifierPrototype::JSTestCEReactionsStringifierPrototype): 29 * bindings/scripts/test/JS/JSTestCallTracer.cpp: 30 (WebCore::JSTestCallTracerPrototype::JSTestCallTracerPrototype): 31 * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: 32 (WebCore::JSTestClassWithJSBuiltinConstructorPrototype::JSTestClassWithJSBuiltinConstructorPrototype): 33 * bindings/scripts/test/JS/JSTestDOMJIT.cpp: 34 (WebCore::JSTestDOMJITPrototype::JSTestDOMJITPrototype): 35 (WebCore::JSTestDOMJITConstructor::prototypeForStructure): 36 * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: 37 (WebCore::JSTestEnabledBySettingPrototype::JSTestEnabledBySettingPrototype): 38 * bindings/scripts/test/JS/JSTestEventConstructor.cpp: 39 (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype): 40 (WebCore::JSTestEventConstructorConstructor::prototypeForStructure): 41 * bindings/scripts/test/JS/JSTestEventTarget.cpp: 42 (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype): 43 (WebCore::JSTestEventTargetConstructor::prototypeForStructure): 44 * bindings/scripts/test/JS/JSTestException.cpp: 45 (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype): 46 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: 47 (WebCore::JSTestGenerateIsReachablePrototype::JSTestGenerateIsReachablePrototype): 48 * bindings/scripts/test/JS/JSTestGlobalObject.h: 49 (WebCore::JSTestGlobalObjectPrototype::JSTestGlobalObjectPrototype): 50 * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: 51 (WebCore::JSTestIndexedSetterNoIdentifierPrototype::JSTestIndexedSetterNoIdentifierPrototype): 52 * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: 53 (WebCore::JSTestIndexedSetterThrowingExceptionPrototype::JSTestIndexedSetterThrowingExceptionPrototype): 54 * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: 55 (WebCore::JSTestIndexedSetterWithIdentifierPrototype::JSTestIndexedSetterWithIdentifierPrototype): 56 * bindings/scripts/test/JS/JSTestInterface.cpp: 57 (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype): 58 * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: 59 (WebCore::JSTestInterfaceLeadingUnderscorePrototype::JSTestInterfaceLeadingUnderscorePrototype): 60 * bindings/scripts/test/JS/JSTestIterable.cpp: 61 (WebCore::JSTestIterablePrototype::JSTestIterablePrototype): 62 * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: 63 (WebCore::JSTestJSBuiltinConstructorPrototype::JSTestJSBuiltinConstructorPrototype): 64 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 65 (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype): 66 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: 67 (WebCore::JSTestNamedAndIndexedSetterNoIdentifierPrototype::JSTestNamedAndIndexedSetterNoIdentifierPrototype): 68 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: 69 (WebCore::JSTestNamedAndIndexedSetterThrowingExceptionPrototype::JSTestNamedAndIndexedSetterThrowingExceptionPrototype): 70 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: 71 (WebCore::JSTestNamedAndIndexedSetterWithIdentifierPrototype::JSTestNamedAndIndexedSetterWithIdentifierPrototype): 72 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: 73 (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype): 74 * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: 75 (WebCore::JSTestNamedDeleterNoIdentifierPrototype::JSTestNamedDeleterNoIdentifierPrototype): 76 * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: 77 (WebCore::JSTestNamedDeleterThrowingExceptionPrototype::JSTestNamedDeleterThrowingExceptionPrototype): 78 * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: 79 (WebCore::JSTestNamedDeleterWithIdentifierPrototype::JSTestNamedDeleterWithIdentifierPrototype): 80 * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: 81 (WebCore::JSTestNamedDeleterWithIndexedGetterPrototype::JSTestNamedDeleterWithIndexedGetterPrototype): 82 * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: 83 (WebCore::JSTestNamedGetterCallWithPrototype::JSTestNamedGetterCallWithPrototype): 84 * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: 85 (WebCore::JSTestNamedGetterNoIdentifierPrototype::JSTestNamedGetterNoIdentifierPrototype): 86 * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: 87 (WebCore::JSTestNamedGetterWithIdentifierPrototype::JSTestNamedGetterWithIdentifierPrototype): 88 * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: 89 (WebCore::JSTestNamedSetterNoIdentifierPrototype::JSTestNamedSetterNoIdentifierPrototype): 90 * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: 91 (WebCore::JSTestNamedSetterThrowingExceptionPrototype::JSTestNamedSetterThrowingExceptionPrototype): 92 * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: 93 (WebCore::JSTestNamedSetterWithIdentifierPrototype::JSTestNamedSetterWithIdentifierPrototype): 94 * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: 95 (WebCore::JSTestNamedSetterWithIndexedGetterPrototype::JSTestNamedSetterWithIndexedGetterPrototype): 96 * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: 97 (WebCore::JSTestNamedSetterWithIndexedGetterAndSetterPrototype::JSTestNamedSetterWithIndexedGetterAndSetterPrototype): 98 * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: 99 (WebCore::JSTestNamedSetterWithOverrideBuiltinsPrototype::JSTestNamedSetterWithOverrideBuiltinsPrototype): 100 * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: 101 (WebCore::JSTestNamedSetterWithUnforgablePropertiesPrototype::JSTestNamedSetterWithUnforgablePropertiesPrototype): 102 * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: 103 (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype): 104 * bindings/scripts/test/JS/JSTestNode.cpp: 105 (WebCore::JSTestNodePrototype::JSTestNodePrototype): 106 (WebCore::JSTestNodeConstructor::prototypeForStructure): 107 * bindings/scripts/test/JS/JSTestObj.cpp: 108 (WebCore::JSTestObjPrototype::JSTestObjPrototype): 109 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: 110 (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype): 111 * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: 112 (WebCore::JSTestOverloadedConstructorsWithSequencePrototype::JSTestOverloadedConstructorsWithSequencePrototype): 113 * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: 114 (WebCore::JSTestOverrideBuiltinsPrototype::JSTestOverrideBuiltinsPrototype): 115 * bindings/scripts/test/JS/JSTestPluginInterface.cpp: 116 (WebCore::JSTestPluginInterfacePrototype::JSTestPluginInterfacePrototype): 117 * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: 118 (WebCore::JSTestPromiseRejectionEventPrototype::JSTestPromiseRejectionEventPrototype): 119 (WebCore::JSTestPromiseRejectionEventConstructor::prototypeForStructure): 120 * bindings/scripts/test/JS/JSTestSerialization.cpp: 121 (WebCore::JSTestSerializationPrototype::JSTestSerializationPrototype): 122 * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: 123 (WebCore::JSTestSerializationIndirectInheritancePrototype::JSTestSerializationIndirectInheritancePrototype): 124 (WebCore::JSTestSerializationIndirectInheritanceConstructor::prototypeForStructure): 125 * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: 126 (WebCore::JSTestSerializationInheritPrototype::JSTestSerializationInheritPrototype): 127 (WebCore::JSTestSerializationInheritConstructor::prototypeForStructure): 128 * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: 129 (WebCore::JSTestSerializationInheritFinalPrototype::JSTestSerializationInheritFinalPrototype): 130 (WebCore::JSTestSerializationInheritFinalConstructor::prototypeForStructure): 131 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: 132 (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype): 133 * bindings/scripts/test/JS/JSTestStringifier.cpp: 134 (WebCore::JSTestStringifierPrototype::JSTestStringifierPrototype): 135 * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: 136 (WebCore::JSTestStringifierAnonymousOperationPrototype::JSTestStringifierAnonymousOperationPrototype): 137 * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: 138 (WebCore::JSTestStringifierNamedOperationPrototype::JSTestStringifierNamedOperationPrototype): 139 * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: 140 (WebCore::JSTestStringifierOperationImplementedAsPrototype::JSTestStringifierOperationImplementedAsPrototype): 141 * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: 142 (WebCore::JSTestStringifierOperationNamedToStringPrototype::JSTestStringifierOperationNamedToStringPrototype): 143 * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: 144 (WebCore::JSTestStringifierReadOnlyAttributePrototype::JSTestStringifierReadOnlyAttributePrototype): 145 * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: 146 (WebCore::JSTestStringifierReadWriteAttributePrototype::JSTestStringifierReadWriteAttributePrototype): 147 * bindings/scripts/test/JS/JSTestTypedefs.cpp: 148 (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype): 149 1 150 2019-05-08 Don Olmstead <don.olmstead@sony.com> 2 151 -
trunk/Source/WebCore/bindings/js/JSWindowProxy.cpp
r244713 r245068 98 98 // Perhaps the issue is that structure objects aren't seen when scanning the stack? 99 99 Strong<JSNonFinalObject> prototype(vm, isRemoteDOMWindow ? static_cast<JSNonFinalObject*>(JSRemoteDOMWindowPrototype::create(vm, nullptr, &prototypeStructure)) : static_cast<JSNonFinalObject*>(JSDOMWindowPrototype::create(vm, nullptr, &prototypeStructure))); 100 prototype->didBecomePrototype(); 100 101 101 102 JSDOMGlobalObject* window = nullptr; -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r244713 r245068 7071 7071 push(@$outputArray, " : JSC::JSNonFinalObject(vm, structure)\n"); 7072 7072 push(@$outputArray, " {\n"); 7073 push(@$outputArray, " didBecomePrototype();\n"); 7073 7074 push(@$outputArray, " }\n"); 7074 7075 … … 7305 7306 if (!$generatingNamedConstructor and $interface->parentType) { 7306 7307 my $parentClassName = "JS" . $interface->parentType->name; 7307 push(@$outputArray, " return ${parentClassName}::getConstructor(vm, &globalObject);\n"); 7308 push(@$outputArray, " auto result = ${parentClassName}::getConstructor(vm, &globalObject);\n"); 7309 push(@$outputArray, " result.getObject()->didBecomePrototype();\n"); 7310 push(@$outputArray, " return result;\n"); 7308 7311 } else { 7309 7312 AddToImplIncludes("<JavaScriptCore/FunctionPrototype.h>"); -
trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp
r244713 r245068 63 63 : JSC::JSNonFinalObject(vm, structure) 64 64 { 65 didBecomePrototype(); 65 66 } 66 67 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp
r244713 r245068 82 82 : JSC::JSNonFinalObject(vm, structure) 83 83 { 84 didBecomePrototype(); 84 85 } 85 86 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp
r244713 r245068 79 79 : JSC::JSNonFinalObject(vm, structure) 80 80 { 81 didBecomePrototype(); 81 82 } 82 83 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
r244713 r245068 76 76 : JSC::JSNonFinalObject(vm, structure) 77 77 { 78 didBecomePrototype(); 78 79 } 79 80 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp
r244713 r245068 88 88 : JSC::JSNonFinalObject(vm, structure) 89 89 { 90 didBecomePrototype(); 90 91 } 91 92 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp
r244713 r245068 75 75 : JSC::JSNonFinalObject(vm, structure) 76 76 { 77 didBecomePrototype(); 77 78 } 78 79 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp
r244713 r245068 93 93 : JSC::JSNonFinalObject(vm, structure) 94 94 { 95 didBecomePrototype(); 95 96 } 96 97 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp
r244713 r245068 64 64 : JSC::JSNonFinalObject(vm, structure) 65 65 { 66 didBecomePrototype(); 66 67 } 67 68 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp
r244713 r245068 486 486 : JSC::JSNonFinalObject(vm, structure) 487 487 { 488 didBecomePrototype(); 488 489 } 489 490 … … 495 496 template<> JSValue JSTestDOMJITConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 496 497 { 497 return JSNode::getConstructor(vm, &globalObject); 498 auto result = JSNode::getConstructor(vm, &globalObject); 499 result.getObject()->didBecomePrototype(); 500 return result; 498 501 } 499 502 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp
r244713 r245068 85 85 : JSC::JSNonFinalObject(vm, structure) 86 86 { 87 didBecomePrototype(); 87 88 } 88 89 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
r244713 r245068 145 145 : JSC::JSNonFinalObject(vm, structure) 146 146 { 147 didBecomePrototype(); 147 148 } 148 149 … … 171 172 template<> JSValue JSTestEventConstructorConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 172 173 { 173 return JSEvent::getConstructor(vm, &globalObject); 174 auto result = JSEvent::getConstructor(vm, &globalObject); 175 result.getObject()->didBecomePrototype(); 176 return result; 174 177 } 175 178 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
r244713 r245068 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 … … 82 83 template<> JSValue JSTestEventTargetConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 83 84 { 84 return JSEventTarget::getConstructor(vm, &globalObject); 85 auto result = JSEventTarget::getConstructor(vm, &globalObject); 86 result.getObject()->didBecomePrototype(); 87 return result; 85 88 } 86 89 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h
r244713 r245068 103 103 : JSC::JSNonFinalObject(vm, structure) 104 104 { 105 didBecomePrototype(); 105 106 } 106 107 public: -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp
r244713 r245068 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
r244713 r245068 169 169 : JSC::JSNonFinalObject(vm, structure) 170 170 { 171 didBecomePrototype(); 171 172 } 172 173 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp
r244713 r245068 74 74 : JSC::JSNonFinalObject(vm, structure) 75 75 { 76 didBecomePrototype(); 76 77 } 77 78 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp
r244713 r245068 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp
r244713 r245068 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp
r244713 r245068 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp
r244713 r245068 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp
r244713 r245068 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp
r244713 r245068 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp
r244713 r245068 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp
r244713 r245068 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp
r244713 r245068 89 89 : JSC::JSNonFinalObject(vm, structure) 90 90 { 91 didBecomePrototype(); 91 92 } 92 93 … … 109 110 template<> JSValue JSTestNodeConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 110 111 { 111 return JSNode::getConstructor(vm, &globalObject); 112 auto result = JSNode::getConstructor(vm, &globalObject); 113 result.getObject()->didBecomePrototype(); 114 return result; 112 115 } 113 116 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
r244713 r245068 1820 1820 : JSC::JSNonFinalObject(vm, structure) 1821 1821 { 1822 didBecomePrototype(); 1822 1823 } 1823 1824 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp
r244713 r245068 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp
r244713 r245068 68 68 : JSC::JSNonFinalObject(vm, structure) 69 69 { 70 didBecomePrototype(); 70 71 } 71 72 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp
r244713 r245068 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp
r244713 r245068 64 64 : JSC::JSNonFinalObject(vm, structure) 65 65 { 66 didBecomePrototype(); 66 67 } 67 68 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp
r244713 r245068 148 148 : JSC::JSNonFinalObject(vm, structure) 149 149 { 150 didBecomePrototype(); 150 151 } 151 152 … … 175 176 template<> JSValue JSTestPromiseRejectionEventConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 176 177 { 177 return JSEvent::getConstructor(vm, &globalObject); 178 auto result = JSEvent::getConstructor(vm, &globalObject); 179 result.getObject()->didBecomePrototype(); 180 return result; 178 181 } 179 182 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerialization.cpp
r244713 r245068 105 105 : JSC::JSNonFinalObject(vm, structure) 106 106 { 107 didBecomePrototype(); 107 108 } 108 109 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp
r244713 r245068 62 62 : JSC::JSNonFinalObject(vm, structure) 63 63 { 64 didBecomePrototype(); 64 65 } 65 66 … … 71 72 template<> JSValue JSTestSerializationIndirectInheritanceConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 72 73 { 73 return JSTestSerializationInherit::getConstructor(vm, &globalObject); 74 auto result = JSTestSerializationInherit::getConstructor(vm, &globalObject); 75 result.getObject()->didBecomePrototype(); 76 return result; 74 77 } 75 78 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInherit.cpp
r244713 r245068 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 … … 81 82 template<> JSValue JSTestSerializationInheritConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 82 83 { 83 return JSTestSerialization::getConstructor(vm, &globalObject); 84 auto result = JSTestSerialization::getConstructor(vm, &globalObject); 85 result.getObject()->didBecomePrototype(); 86 return result; 84 87 } 85 88 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp
r244713 r245068 74 74 : JSC::JSNonFinalObject(vm, structure) 75 75 { 76 didBecomePrototype(); 76 77 } 77 78 … … 83 84 template<> JSValue JSTestSerializationInheritFinalConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject) 84 85 { 85 return JSTestSerializationInherit::getConstructor(vm, &globalObject); 86 auto result = JSTestSerializationInherit::getConstructor(vm, &globalObject); 87 result.getObject()->didBecomePrototype(); 88 return result; 86 89 } 87 90 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
r244713 r245068 87 87 : JSC::JSNonFinalObject(vm, structure) 88 88 { 89 didBecomePrototype(); 89 90 } 90 91 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.cpp
r244713 r245068 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp
r244713 r245068 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp
r244713 r245068 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp
r244713 r245068 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp
r244713 r245068 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp
r244713 r245068 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp
r244713 r245068 115 115 : JSC::JSNonFinalObject(vm, structure) 116 116 { 117 didBecomePrototype(); 117 118 } 118 119
Note: See TracChangeset
for help on using the changeset viewer.