Changeset 246714 in webkit
- Timestamp:
- Jun 22, 2019 11:46:21 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 103 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r246709 r246714 1 2019-06-22 Robin Morisset <rmorisset@apple.com> and Yusuke Suzuki <ysuzuki@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 * stress/function-prototype-indexed-accessor.js: Added. 9 1 10 2019-06-22 Yusuke Suzuki <ysuzuki@apple.com> 2 11 -
trunk/Source/JavaScriptCore/ChangeLog
r246709 r246714 1 2019-06-22 Robin Morisset <rmorisset@apple.com> and Yusuke Suzuki <ysuzuki@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 Otherwise we won't remember to run haveABadTime() when someone adds to them an indexed accessor. 9 10 I added a check used in both Structure::finishCreation() and Structure::changePrototypeTransition to make sure we don't 11 create structures with invalid prototypes. 12 It found a lot of objects that are used as prototypes in JSGlobalObject and yet were missing didBecomePrototype() in their finishCreation(). 13 Somewhat surprisingly, some of them have names like FunctionConstructor and not only FooPrototype. 14 15 * runtime/BigIntPrototype.cpp: 16 (JSC::BigIntPrototype::finishCreation): 17 * runtime/BooleanPrototype.cpp: 18 (JSC::BooleanPrototype::finishCreation): 19 * runtime/DatePrototype.cpp: 20 (JSC::DatePrototype::finishCreation): 21 * runtime/ErrorConstructor.cpp: 22 (JSC::ErrorConstructor::finishCreation): 23 * runtime/ErrorPrototype.cpp: 24 (JSC::ErrorPrototype::finishCreation): 25 * runtime/FunctionConstructor.cpp: 26 (JSC::FunctionConstructor::finishCreation): 27 * runtime/FunctionPrototype.cpp: 28 (JSC::FunctionPrototype::finishCreation): 29 * runtime/IntlCollatorPrototype.cpp: 30 (JSC::IntlCollatorPrototype::finishCreation): 31 * runtime/IntlDateTimeFormatPrototype.cpp: 32 (JSC::IntlDateTimeFormatPrototype::finishCreation): 33 * runtime/IntlNumberFormatPrototype.cpp: 34 (JSC::IntlNumberFormatPrototype::finishCreation): 35 * runtime/IntlPluralRulesPrototype.cpp: 36 (JSC::IntlPluralRulesPrototype::finishCreation): 37 * runtime/JSArrayBufferPrototype.cpp: 38 (JSC::JSArrayBufferPrototype::finishCreation): 39 * runtime/JSDataViewPrototype.cpp: 40 (JSC::JSDataViewPrototype::finishCreation): 41 * runtime/JSGenericTypedArrayViewPrototypeInlines.h: 42 (JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation): 43 * runtime/JSGlobalObject.cpp: 44 (JSC::createConsoleProperty): 45 * runtime/JSPromisePrototype.cpp: 46 (JSC::JSPromisePrototype::finishCreation): 47 * runtime/JSTypedArrayViewConstructor.cpp: 48 (JSC::JSTypedArrayViewConstructor::finishCreation): 49 * runtime/JSTypedArrayViewPrototype.cpp: 50 (JSC::JSTypedArrayViewPrototype::finishCreation): 51 * runtime/NumberPrototype.cpp: 52 (JSC::NumberPrototype::finishCreation): 53 * runtime/RegExpPrototype.cpp: 54 (JSC::RegExpPrototype::finishCreation): 55 * runtime/StringPrototype.cpp: 56 (JSC::StringPrototype::finishCreation): 57 * runtime/Structure.cpp: 58 (JSC::Structure::isValidPrototype): 59 (JSC::Structure::changePrototypeTransition): 60 * runtime/Structure.h: 61 * runtime/StructureInlines.h: 62 (JSC::Structure::setPrototypeWithoutTransition): 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-06-22 Yusuke Suzuki <ysuzuki@apple.com> 2 83 -
trunk/Source/JavaScriptCore/runtime/BigIntPrototype.cpp
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r246709 r246714 237 237 { 238 238 JSGlobalObject* global = jsCast<JSGlobalObject*>(object); 239 return ConsoleObject::create(vm, global, ConsoleObject::createStructure(vm, global, constructEmptyObject(global->globalExec()))); 239 JSObject* prototype = constructEmptyObject(global->globalExec()); 240 prototype->didBecomePrototype(); 241 return ConsoleObject::create(vm, global, ConsoleObject::createStructure(vm, global, prototype)); 240 242 } 241 243 -
trunk/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r246034 r246714 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
r246567 r246714 83 83 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->splitSymbol, regExpPrototypeSplitCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 84 84 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->test, regExpPrototypeTestCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 85 86 didBecomePrototype(); 85 87 } 86 88 -
trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp
r246567 r246714 174 174 // The constructor will be added later, after StringConstructor has been built 175 175 putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); 176 177 didBecomePrototype(); 176 178 } 177 179 -
trunk/Source/JavaScriptCore/runtime/Structure.cpp
r245082 r246714 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
r245082 r246714 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/StructureInlines.h
r240255 r246714 494 494 ALWAYS_INLINE void Structure::setPrototypeWithoutTransition(VM& vm, JSValue prototype) 495 495 { 496 ASSERT(isValidPrototype(prototype)); 496 497 m_prototype.set(vm, this, prototype); 497 498 } -
trunk/Source/JavaScriptCore/runtime/SymbolPrototype.cpp
r245082 r246714 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
r245082 r246714 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp
r245082 r246714 87 87 { 88 88 Base::finishCreation(vm); 89 didBecomePrototype(); 89 90 } 90 91 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp
r245082 r246714 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyMemoryPrototype.cpp
r245082 r246714 110 110 Base::finishCreation(vm); 111 111 ASSERT(inherits(vm, info())); 112 didBecomePrototype(); 112 113 } 113 114 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp
r245082 r246714 57 57 { 58 58 Base::finishCreation(vm); 59 didBecomePrototype(); 59 60 } 60 61 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.cpp
r245082 r246714 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
r245082 r246714 58 58 { 59 59 Base::finishCreation(vm); 60 didBecomePrototype(); 60 61 } 61 62 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyTablePrototype.cpp
r246139 r246714 167 167 Base::finishCreation(vm); 168 168 ASSERT(inherits(vm, info())); 169 didBecomePrototype(); 169 170 } 170 171 -
trunk/Source/WebCore/ChangeLog
r246710 r246714 1 2019-06-22 Robin Morisset <rmorisset@apple.com> and Yusuke Suzuki <ysuzuki@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 * bindings/js/JSDOMIterator.h: 9 (WebCore::IteratorTraits>::finishCreation): 10 * bindings/js/JSDOMWindowProperties.h: 11 (WebCore::JSDOMWindowProperties::create): Deleted. 12 (WebCore::JSDOMWindowProperties::createStructure): Deleted. 13 (WebCore::JSDOMWindowProperties::JSDOMWindowProperties): Deleted. 14 * bindings/js/JSWindowProxy.cpp: 15 (WebCore::JSWindowProxy::setWindow): 16 * bindings/scripts/CodeGeneratorJS.pm: 17 (GeneratePrototypeDeclaration): 18 (GenerateConstructorHelperMethods): 19 * bindings/scripts/test/JS/JSInterfaceName.cpp: 20 (WebCore::JSInterfaceNamePrototype::JSInterfaceNamePrototype): 21 * bindings/scripts/test/JS/JSMapLike.cpp: 22 (WebCore::JSMapLikePrototype::JSMapLikePrototype): 23 * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: 24 (WebCore::JSReadOnlyMapLikePrototype::JSReadOnlyMapLikePrototype): 25 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: 26 (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype): 27 * bindings/scripts/test/JS/JSTestCEReactions.cpp: 28 (WebCore::JSTestCEReactionsPrototype::JSTestCEReactionsPrototype): 29 * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: 30 (WebCore::JSTestCEReactionsStringifierPrototype::JSTestCEReactionsStringifierPrototype): 31 * bindings/scripts/test/JS/JSTestCallTracer.cpp: 32 (WebCore::JSTestCallTracerPrototype::JSTestCallTracerPrototype): 33 * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: 34 (WebCore::JSTestClassWithJSBuiltinConstructorPrototype::JSTestClassWithJSBuiltinConstructorPrototype): 35 * bindings/scripts/test/JS/JSTestDOMJIT.cpp: 36 (WebCore::JSTestDOMJITPrototype::JSTestDOMJITPrototype): 37 (WebCore::JSTestDOMJITConstructor::prototypeForStructure): 38 * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: 39 (WebCore::JSTestEnabledBySettingPrototype::JSTestEnabledBySettingPrototype): 40 * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: 41 (WebCore::JSTestEnabledForContextPrototype::JSTestEnabledForContextPrototype): 42 * bindings/scripts/test/JS/JSTestEventConstructor.cpp: 43 (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype): 44 (WebCore::JSTestEventConstructorConstructor::prototypeForStructure): 45 * bindings/scripts/test/JS/JSTestEventTarget.cpp: 46 (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype): 47 (WebCore::JSTestEventTargetConstructor::prototypeForStructure): 48 * bindings/scripts/test/JS/JSTestException.cpp: 49 (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype): 50 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: 51 (WebCore::JSTestGenerateIsReachablePrototype::JSTestGenerateIsReachablePrototype): 52 * bindings/scripts/test/JS/JSTestGlobalObject.h: 53 (WebCore::JSTestGlobalObjectPrototype::JSTestGlobalObjectPrototype): 54 * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: 55 (WebCore::JSTestIndexedSetterNoIdentifierPrototype::JSTestIndexedSetterNoIdentifierPrototype): 56 * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: 57 (WebCore::JSTestIndexedSetterThrowingExceptionPrototype::JSTestIndexedSetterThrowingExceptionPrototype): 58 * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: 59 (WebCore::JSTestIndexedSetterWithIdentifierPrototype::JSTestIndexedSetterWithIdentifierPrototype): 60 * bindings/scripts/test/JS/JSTestInterface.cpp: 61 (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype): 62 * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: 63 (WebCore::JSTestInterfaceLeadingUnderscorePrototype::JSTestInterfaceLeadingUnderscorePrototype): 64 * bindings/scripts/test/JS/JSTestIterable.cpp: 65 (WebCore::JSTestIterablePrototype::JSTestIterablePrototype): 66 * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: 67 (WebCore::JSTestJSBuiltinConstructorPrototype::JSTestJSBuiltinConstructorPrototype): 68 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 69 (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype): 70 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: 71 (WebCore::JSTestNamedAndIndexedSetterNoIdentifierPrototype::JSTestNamedAndIndexedSetterNoIdentifierPrototype): 72 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: 73 (WebCore::JSTestNamedAndIndexedSetterThrowingExceptionPrototype::JSTestNamedAndIndexedSetterThrowingExceptionPrototype): 74 * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: 75 (WebCore::JSTestNamedAndIndexedSetterWithIdentifierPrototype::JSTestNamedAndIndexedSetterWithIdentifierPrototype): 76 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: 77 (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype): 78 * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: 79 (WebCore::JSTestNamedDeleterNoIdentifierPrototype::JSTestNamedDeleterNoIdentifierPrototype): 80 * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: 81 (WebCore::JSTestNamedDeleterThrowingExceptionPrototype::JSTestNamedDeleterThrowingExceptionPrototype): 82 * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: 83 (WebCore::JSTestNamedDeleterWithIdentifierPrototype::JSTestNamedDeleterWithIdentifierPrototype): 84 * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: 85 (WebCore::JSTestNamedDeleterWithIndexedGetterPrototype::JSTestNamedDeleterWithIndexedGetterPrototype): 86 * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: 87 (WebCore::JSTestNamedGetterCallWithPrototype::JSTestNamedGetterCallWithPrototype): 88 * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: 89 (WebCore::JSTestNamedGetterNoIdentifierPrototype::JSTestNamedGetterNoIdentifierPrototype): 90 * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: 91 (WebCore::JSTestNamedGetterWithIdentifierPrototype::JSTestNamedGetterWithIdentifierPrototype): 92 * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: 93 (WebCore::JSTestNamedSetterNoIdentifierPrototype::JSTestNamedSetterNoIdentifierPrototype): 94 * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: 95 (WebCore::JSTestNamedSetterThrowingExceptionPrototype::JSTestNamedSetterThrowingExceptionPrototype): 96 * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: 97 (WebCore::JSTestNamedSetterWithIdentifierPrototype::JSTestNamedSetterWithIdentifierPrototype): 98 * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: 99 (WebCore::JSTestNamedSetterWithIndexedGetterPrototype::JSTestNamedSetterWithIndexedGetterPrototype): 100 * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: 101 (WebCore::JSTestNamedSetterWithIndexedGetterAndSetterPrototype::JSTestNamedSetterWithIndexedGetterAndSetterPrototype): 102 * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: 103 (WebCore::JSTestNamedSetterWithOverrideBuiltinsPrototype::JSTestNamedSetterWithOverrideBuiltinsPrototype): 104 * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: 105 (WebCore::JSTestNamedSetterWithUnforgablePropertiesPrototype::JSTestNamedSetterWithUnforgablePropertiesPrototype): 106 * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: 107 (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype): 108 * bindings/scripts/test/JS/JSTestNode.cpp: 109 (WebCore::JSTestNodePrototype::JSTestNodePrototype): 110 (WebCore::JSTestNodeConstructor::prototypeForStructure): 111 * bindings/scripts/test/JS/JSTestObj.cpp: 112 (WebCore::JSTestObjPrototype::JSTestObjPrototype): 113 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: 114 (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype): 115 * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: 116 (WebCore::JSTestOverloadedConstructorsWithSequencePrototype::JSTestOverloadedConstructorsWithSequencePrototype): 117 * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: 118 (WebCore::JSTestOverrideBuiltinsPrototype::JSTestOverrideBuiltinsPrototype): 119 * bindings/scripts/test/JS/JSTestPluginInterface.cpp: 120 (WebCore::JSTestPluginInterfacePrototype::JSTestPluginInterfacePrototype): 121 * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: 122 (WebCore::JSTestPromiseRejectionEventPrototype::JSTestPromiseRejectionEventPrototype): 123 (WebCore::JSTestPromiseRejectionEventConstructor::prototypeForStructure): 124 * bindings/scripts/test/JS/JSTestSerialization.cpp: 125 (WebCore::JSTestSerializationPrototype::JSTestSerializationPrototype): 126 * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: 127 (WebCore::JSTestSerializationIndirectInheritancePrototype::JSTestSerializationIndirectInheritancePrototype): 128 (WebCore::JSTestSerializationIndirectInheritanceConstructor::prototypeForStructure): 129 * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: 130 (WebCore::JSTestSerializationInheritPrototype::JSTestSerializationInheritPrototype): 131 (WebCore::JSTestSerializationInheritConstructor::prototypeForStructure): 132 * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: 133 (WebCore::JSTestSerializationInheritFinalPrototype::JSTestSerializationInheritFinalPrototype): 134 (WebCore::JSTestSerializationInheritFinalConstructor::prototypeForStructure): 135 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: 136 (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype): 137 * bindings/scripts/test/JS/JSTestStringifier.cpp: 138 (WebCore::JSTestStringifierPrototype::JSTestStringifierPrototype): 139 * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: 140 (WebCore::JSTestStringifierAnonymousOperationPrototype::JSTestStringifierAnonymousOperationPrototype): 141 * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: 142 (WebCore::JSTestStringifierNamedOperationPrototype::JSTestStringifierNamedOperationPrototype): 143 * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: 144 (WebCore::JSTestStringifierOperationImplementedAsPrototype::JSTestStringifierOperationImplementedAsPrototype): 145 * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: 146 (WebCore::JSTestStringifierOperationNamedToStringPrototype::JSTestStringifierOperationNamedToStringPrototype): 147 * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: 148 (WebCore::JSTestStringifierReadOnlyAttributePrototype::JSTestStringifierReadOnlyAttributePrototype): 149 * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: 150 (WebCore::JSTestStringifierReadWriteAttributePrototype::JSTestStringifierReadWriteAttributePrototype): 151 * bindings/scripts/test/JS/JSTestTypedefs.cpp: 152 (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype): 153 1 154 2019-06-22 Mike Gorse <mgorse@suse.com> 2 155 -
trunk/Source/WebCore/bindings/js/JSDOMIterator.h
r239427 r246714 266 266 267 267 JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, next, 0, 0, JSC::NoIntrinsic); 268 } 269 270 } 268 didBecomePrototype(); 269 } 270 271 } -
trunk/Source/WebCore/bindings/js/JSDOMWindowProperties.h
r239191 r246714 31 31 namespace WebCore { 32 32 33 class JSDOMWindowProperties : public JSDOMObject {33 class JSDOMWindowProperties final : public JSDOMObject { 34 34 public: 35 35 static JSDOMWindowProperties* create(JSC::Structure* structure, JSC::JSGlobalObject& globalObject) … … 56 56 : JSDOMObject(structure, globalObject) 57 57 { 58 didBecomePrototype(); 58 59 } 59 60 }; -
trunk/Source/WebCore/bindings/js/JSWindowProxy.cpp
r245082 r246714 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
r246490 r246714 7089 7089 push(@$outputArray, " : JSC::JSNonFinalObject(vm, structure)\n"); 7090 7090 push(@$outputArray, " {\n"); 7091 push(@$outputArray, " didBecomePrototype();\n"); 7091 7092 push(@$outputArray, " }\n"); 7092 7093 … … 7323 7324 if (!$generatingNamedConstructor and $interface->parentType) { 7324 7325 my $parentClassName = "JS" . $interface->parentType->name; 7325 push(@$outputArray, " return ${parentClassName}::getConstructor(vm, &globalObject);\n"); 7326 push(@$outputArray, " auto result = ${parentClassName}::getConstructor(vm, &globalObject);\n"); 7327 push(@$outputArray, " result.getObject()->didBecomePrototype();\n"); 7328 push(@$outputArray, " return result;\n"); 7326 7329 } else { 7327 7330 AddToImplIncludes("<JavaScriptCore/FunctionPrototype.h>"); -
trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp
r245082 r246714 63 63 : JSC::JSNonFinalObject(vm, structure) 64 64 { 65 didBecomePrototype(); 65 66 } 66 67 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSMapLike.cpp
r245082 r246714 82 82 : JSC::JSNonFinalObject(vm, structure) 83 83 { 84 didBecomePrototype(); 84 85 } 85 86 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSReadOnlyMapLike.cpp
r245082 r246714 79 79 : JSC::JSNonFinalObject(vm, structure) 80 80 { 81 didBecomePrototype(); 81 82 } 82 83 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
r245082 r246714 76 76 : JSC::JSNonFinalObject(vm, structure) 77 77 { 78 didBecomePrototype(); 78 79 } 79 80 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp
r245082 r246714 88 88 : JSC::JSNonFinalObject(vm, structure) 89 89 { 90 didBecomePrototype(); 90 91 } 91 92 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp
r245082 r246714 75 75 : JSC::JSNonFinalObject(vm, structure) 76 76 { 77 didBecomePrototype(); 77 78 } 78 79 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp
r245082 r246714 93 93 : JSC::JSNonFinalObject(vm, structure) 94 94 { 95 didBecomePrototype(); 95 96 } 96 97 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp
r245082 r246714 64 64 : JSC::JSNonFinalObject(vm, structure) 65 65 { 66 didBecomePrototype(); 66 67 } 67 68 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp
r246490 r246714 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
r245082 r246714 85 85 : JSC::JSNonFinalObject(vm, structure) 86 86 { 87 didBecomePrototype(); 87 88 } 88 89 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp
r245314 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
r245082 r246714 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
r246490 r246714 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
r245082 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp
r245082 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h
r245082 r246714 103 103 : JSC::JSNonFinalObject(vm, structure) 104 104 { 105 didBecomePrototype(); 105 106 } 106 107 public: -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp
r245082 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp
r245082 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp
r245082 r246714 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
r245082 r246714 169 169 : JSC::JSNonFinalObject(vm, structure) 170 170 { 171 didBecomePrototype(); 171 172 } 172 173 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp
r245082 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp
r245082 r246714 74 74 : JSC::JSNonFinalObject(vm, structure) 75 75 { 76 didBecomePrototype(); 76 77 } 77 78 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp
r245082 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp
r245082 r246714 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp
r246490 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp
r246490 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp
r246490 r246714 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp
r245082 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp
r246490 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp
r246490 r246714 66 66 : JSC::JSNonFinalObject(vm, structure) 67 67 { 68 didBecomePrototype(); 68 69 } 69 70 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp
r246490 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp
r246490 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp
r246490 r246714 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp
r246490 r246714 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp
r246490 r246714 65 65 : JSC::JSNonFinalObject(vm, structure) 66 66 { 67 didBecomePrototype(); 67 68 } 68 69 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp
r246490 r246714 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp
r246490 r246714 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp
r245082 r246714 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
r246636 r246714 1820 1820 : JSC::JSNonFinalObject(vm, structure) 1821 1821 { 1822 didBecomePrototype(); 1822 1823 } 1823 1824 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp
r245082 r246714 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp
r245082 r246714 68 68 : JSC::JSNonFinalObject(vm, structure) 69 69 { 70 didBecomePrototype(); 70 71 } 71 72 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp
r246490 r246714 73 73 : JSC::JSNonFinalObject(vm, structure) 74 74 { 75 didBecomePrototype(); 75 76 } 76 77 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp
r245082 r246714 64 64 : JSC::JSNonFinalObject(vm, structure) 65 65 { 66 didBecomePrototype(); 66 67 } 67 68 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp
r245082 r246714 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
r245082 r246714 105 105 : JSC::JSNonFinalObject(vm, structure) 106 106 { 107 didBecomePrototype(); 107 108 } 108 109 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp
r245082 r246714 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
r245082 r246714 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
r245082 r246714 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
r245082 r246714 87 87 : JSC::JSNonFinalObject(vm, structure) 88 88 { 89 didBecomePrototype(); 89 90 } 90 91 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.cpp
r245082 r246714 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp
r245082 r246714 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp
r245082 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp
r245082 r246714 70 70 : JSC::JSNonFinalObject(vm, structure) 71 71 { 72 didBecomePrototype(); 72 73 } 73 74 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp
r245082 r246714 69 69 : JSC::JSNonFinalObject(vm, structure) 70 70 { 71 didBecomePrototype(); 71 72 } 72 73 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp
r245082 r246714 71 71 : JSC::JSNonFinalObject(vm, structure) 72 72 { 73 didBecomePrototype(); 73 74 } 74 75 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp
r245082 r246714 72 72 : JSC::JSNonFinalObject(vm, structure) 73 73 { 74 didBecomePrototype(); 74 75 } 75 76 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp
r245082 r246714 115 115 : JSC::JSNonFinalObject(vm, structure) 116 116 { 117 didBecomePrototype(); 117 118 } 118 119
Note: See TracChangeset
for help on using the changeset viewer.