⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 283424 in webkit


Ignore:
Timestamp:
Oct 1, 2021, 4:48:39 PM (5 years ago)
Author:
Alan Coon
Message:

Apply patch. rdar://problem/83784757

Location:
branches/safari-612.2.9.0-branch/Source/WebCore/bindings/scripts
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-612.2.9.0-branch/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r283423 r283424  
    20562056    push(@specials, "JSC::PropertyAttribute::ReadOnly") if IsReadonly($attribute);
    20572057    push(@specials, "JSC::PropertyAttribute::CustomAccessor") unless $isGlobalConstructor or IsJSBuiltin($interface, $attribute);
    2058     push(@specials, "JSC::PropertyAttribute::DOMLegacyAccessor") if $attribute->extendedAttributes->{LegacyActiveWindowForAccessor};
     2058    push(@specials, "JSC::PropertyAttribute::DOMLegacyAccessor") if $codeGenerator->ExtendedAttributeContains($attribute->extendedAttributes->{SetterCallWith}, "LegacyActiveWindowForAccessor");
    20592059    push(@specials, "JSC::PropertyAttribute::DOMAttribute") if IsAcceleratedDOMAttribute($interface, $attribute);
    20602060    push(@specials, "JSC::PropertyAttribute::DOMJITAttribute") if $attribute->extendedAttributes->{DOMJIT};
  • branches/safari-612.2.9.0-branch/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r280280 r283424  
    18481848static JSC_DECLARE_CUSTOM_GETTER(jsTestObj_trailing_underscore_attribute_);
    18491849static JSC_DECLARE_CUSTOM_SETTER(setJSTestObj_trailing_underscore_attribute_);
     1850static JSC_DECLARE_CUSTOM_GETTER(jsTestObj_href);
     1851static JSC_DECLARE_CUSTOM_SETTER(setJSTestObj_href);
    18501852
    18511853class JSTestObjPrototype final : public JSC::JSNonFinalObject {
     
    21822184    { "_double_leading_underscore_attribute", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObj_double_leading_underscore_attribute), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestObj_double_leading_underscore_attribute) } },
    21832185    { "trailing_underscore_attribute_", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObj_trailing_underscore_attribute_), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestObj_trailing_underscore_attribute_) } },
     2186    { "href", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMLegacyAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObj_href), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestObj_href) } },
    21842187#if ENABLE(TEST_FEATURE)
    21852188    { "enabledAtRuntimeOperation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsTestObjPrototypeFunction_enabledAtRuntimeOperation), (intptr_t) (1) } },
     
    53275330}
    53285331
     5332static inline JSValue jsTestObj_hrefGetter(JSGlobalObject& lexicalGlobalObject, JSTestObj& thisObject)
     5333{
     5334    auto& vm = JSC::getVM(&lexicalGlobalObject);
     5335    auto throwScope = DECLARE_THROW_SCOPE(vm);
     5336    auto& impl = thisObject.wrapped();
     5337    RELEASE_AND_RETURN(throwScope, (toJS<IDLUSVString>(lexicalGlobalObject, throwScope, impl.href())));
     5338}
     5339
     5340JSC_DEFINE_CUSTOM_GETTER(jsTestObj_href, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, PropertyName attributeName))
     5341{
     5342    return IDLAttribute<JSTestObj>::get<jsTestObj_hrefGetter, CastedThisErrorBehavior::Assert>(*lexicalGlobalObject, thisValue, attributeName);
     5343}
     5344
     5345static inline bool setJSTestObj_hrefSetter(JSGlobalObject& lexicalGlobalObject, JSTestObj& thisObject, JSValue value)
     5346{
     5347    auto& vm = JSC::getVM(&lexicalGlobalObject);
     5348    auto throwScope = DECLARE_THROW_SCOPE(vm);
     5349    auto& impl = thisObject.wrapped();
     5350    auto nativeValue = convert<IDLUSVString>(lexicalGlobalObject, value);
     5351    RETURN_IF_EXCEPTION(throwScope, false);
     5352    invokeFunctorPropagatingExceptionIfNecessary(lexicalGlobalObject, throwScope, [&] {
     5353        return impl.setHref(legacyActiveDOMWindowForAccessor(*jsCast<JSDOMGlobalObject*>(&lexicalGlobalObject)), firstDOMWindow(*jsCast<JSDOMGlobalObject*>(&lexicalGlobalObject)), WTFMove(nativeValue));
     5354    });
     5355    return true;
     5356}
     5357
     5358JSC_DEFINE_CUSTOM_SETTER(setJSTestObj_href, (JSGlobalObject* lexicalGlobalObject, EncodedJSValue thisValue, EncodedJSValue encodedValue, PropertyName attributeName))
     5359{
     5360    return IDLAttribute<JSTestObj>::set<setJSTestObj_hrefSetter>(*lexicalGlobalObject, thisValue, encodedValue, attributeName);
     5361}
     5362
    53295363#if ENABLE(TEST_FEATURE)
    53305364static inline JSC::EncodedJSValue jsTestObjPrototypeFunction_enabledAtRuntimeOperation1Body(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, typename IDLOperation<JSTestObj>::ClassParameter castedThis)
  • branches/safari-612.2.9.0-branch/Source/WebCore/bindings/scripts/test/TestObj.idl

    r280256 r283424  
    456456    boolean bigInt64AllowShared([AllowShared] BigInt64Array destination);
    457457    boolean bigUint64AllowShared([AllowShared] BigUint64Array destination);
     458
     459    [SetterCallWith=LegacyActiveWindowForAccessor&FirstWindow] attribute USVString href;
    458460};
    459461
Note: See TracChangeset for help on using the changeset viewer.