Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4c99b6a9d25c8faa8994c277fc98113f6a568b77
      
https://github.com/WebKit/WebKit/commit/4c99b6a9d25c8faa8994c277fc98113f6a568b77
  Author: Darin Adler <[email protected]>
  Date:   2025-06-19 (Thu, 19 Jun 2025)

  Changed paths:
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/AccessibilityTable.cpp
    M Source/WebCore/accessibility/AccessibilityTableCell.cpp
    M Source/WebCore/accessibility/AccessibilityTableRow.cpp
    M Source/WebCore/bindings/scripts/CodeGenerator.pm
    M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
    M Source/WebCore/bindings/scripts/IDLAttributes.json
    M Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
    M Source/WebCore/bindings/scripts/test/TestObj.idl
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.h
    M Source/WebCore/dom/ElementContentEditable.idl
    M Source/WebCore/dom/ElementInternals.h
    M Source/WebCore/editing/BreakBlockquoteCommand.cpp
    M Source/WebCore/editing/CreateLinkCommand.cpp
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/editing/EditorCommand.cpp
    M Source/WebCore/editing/cocoa/DataDetection.mm
    M Source/WebCore/editing/cocoa/EditorCocoa.mm
    M Source/WebCore/html/FileInputType.cpp
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/HTMLAnchorElement.h
    M Source/WebCore/html/HTMLAnchorElement.idl
    M Source/WebCore/html/HTMLAreaElement.idl
    M Source/WebCore/html/HTMLAttachmentElement.cpp
    M Source/WebCore/html/HTMLBaseElement.cpp
    M Source/WebCore/html/HTMLBaseElement.h
    M Source/WebCore/html/HTMLBaseElement.idl
    M Source/WebCore/html/HTMLButtonElement.cpp
    M Source/WebCore/html/HTMLButtonElement.h
    M Source/WebCore/html/HTMLButtonElement.idl
    M Source/WebCore/html/HTMLDetailsElement.cpp
    M Source/WebCore/html/HTMLDetailsElement.h
    M Source/WebCore/html/HTMLDialogElement.cpp
    M Source/WebCore/html/HTMLDialogElement.h
    M Source/WebCore/html/HTMLElement.cpp
    M Source/WebCore/html/HTMLElement.h
    M Source/WebCore/html/HTMLElement.idl
    M Source/WebCore/html/HTMLFormControlElement.cpp
    M Source/WebCore/html/HTMLFormControlElement.h
    M Source/WebCore/html/HTMLFormElement.cpp
    M Source/WebCore/html/HTMLFormElement.h
    M Source/WebCore/html/HTMLFormElement.idl
    M Source/WebCore/html/HTMLIFrameElement.cpp
    M Source/WebCore/html/HTMLIFrameElement.h
    M Source/WebCore/html/HTMLIFrameElement.idl
    M Source/WebCore/html/HTMLImageElement.cpp
    M Source/WebCore/html/HTMLImageElement.h
    M Source/WebCore/html/HTMLImageElement.idl
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/html/HTMLInputElement.h
    M Source/WebCore/html/HTMLInputElement.idl
    M Source/WebCore/html/HTMLLinkElement.cpp
    M Source/WebCore/html/HTMLLinkElement.h
    M Source/WebCore/html/HTMLLinkElement.idl
    M Source/WebCore/html/HTMLMarqueeElement.cpp
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/html/HTMLMediaElement.h
    M Source/WebCore/html/HTMLMediaElement.idl
    M Source/WebCore/html/HTMLMeterElement.cpp
    M Source/WebCore/html/HTMLMeterElement.h
    M Source/WebCore/html/HTMLMeterElement.idl
    M Source/WebCore/html/HTMLOListElement.cpp
    M Source/WebCore/html/HTMLOListElement.h
    M Source/WebCore/html/HTMLOListElement.idl
    M Source/WebCore/html/HTMLOptionElement.cpp
    M Source/WebCore/html/HTMLOptionElement.h
    M Source/WebCore/html/HTMLOptionElement.idl
    M Source/WebCore/html/HTMLProgressElement.cpp
    M Source/WebCore/html/HTMLProgressElement.h
    M Source/WebCore/html/HTMLProgressElement.idl
    M Source/WebCore/html/HTMLScriptElement.cpp
    M Source/WebCore/html/HTMLScriptElement.h
    M Source/WebCore/html/HTMLScriptElement.idl
    M Source/WebCore/html/HTMLSelectElement.idl
    M Source/WebCore/html/HTMLTableCellElement.cpp
    M Source/WebCore/html/HTMLTableCellElement.h
    M Source/WebCore/html/HTMLTableCellElement.idl
    M Source/WebCore/html/HTMLTemplateElement.cpp
    M Source/WebCore/html/HTMLTemplateElement.h
    M Source/WebCore/html/HTMLTemplateElement.idl
    M Source/WebCore/html/HTMLTextAreaElement.idl
    M Source/WebCore/html/HTMLTrackElement.cpp
    M Source/WebCore/html/HTMLTrackElement.h
    M Source/WebCore/html/HTMLTrackElement.idl
    M Source/WebCore/html/HTMLVideoElement.cpp
    M Source/WebCore/html/HTMLVideoElement.h
    M Source/WebCore/html/HTMLVideoElement.idl
    M Source/WebCore/html/ImageDocument.cpp
    M Source/WebCore/html/InputType.cpp
    M Source/WebCore/html/PermissionsPolicy.cpp
    M Source/WebCore/html/PopoverInvokerElement.idl
    M Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
    M Source/WebCore/loader/ImageLoader.cpp
    M Source/WebCore/mathml/MathMLMencloseElement.cpp
    M Source/WebCore/mathml/MathMLSelectElement.cpp
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/page/text-extraction/TextExtraction.cpp
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebKitLegacy/mac/DOM/DOMHTMLBaseElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLButtonElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLEmbedElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLFormElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLImageElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLInputElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLLIElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLLinkElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLMarqueeElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLMediaElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLOListElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLObjectElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLOptionElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLPreElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLScriptElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLTableCellElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLTextAreaElement.mm
    M Source/WebKitLegacy/mac/DOM/DOMHTMLVideoElement.mm

  Log Message:
  -----------
  Add ReflectSetter
rdar://146613724
https://bugs.webkit.org/show_bug.cgi?id=289440

Reviewed by Sam Weinig.

We can cut down on hand-written code by adding [ReflectSetter], like [Reflect],
but only for the set function, not the get function. In addition, did some 
related
changes:

- removed functions that were previously used to implement setters
- removed uses of these functions, preferring to set attributes with the general
  purpose attribute setting functions rather than calling a named wrapper
- renamed some internal functions to use WebKit naming style rather than DOM, 
removing "get"
- used "without synchronization" versions of functions more consistently, might 
lead to
  small performance gains
- addded a numeric attribute setter function so we can use [ReflectSetter] with 
double
- moved some DOM function implementations out of the headers, not needed for 
optimization
  and contributes to slower build times

* Source/WebCore/WebCore.xcodeproj/project.pbxproj: Added 
PopoverInvokerElement.idl
so global searches in Xcode will see things in this file.

* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::url const): Use getURLAttribute.

* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaLevel const): Use integralAttribute and 
std::max.
(WebCore::AccessibilityObject::integralAttribute const): Renamed from 
getIntegralAttribute.
(WebCore::AccessibilityObject::setSize const): Use integralAttribute.
(WebCore::AccessibilityObject::posInSet const): Use integralAttribute.

(WebCore::AccessibilityObject::getIntegralAttribute const): Deleted.
* Source/WebCore/accessibility/AccessibilityObject.h: Renamed 
getIntegralAttribute
to integralAttribute.

* Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable const): Use integralAttribute.
(WebCore::AccessibilityTable::axColumnCount const): Use integralAttribute.
(WebCore::AccessibilityTable::axRowCount const): Use integralAttribute.

* Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::axColumnIndex const): Use integralAttribute.
(WebCore::AccessibilityTableCell::axRowIndex const): Use integralAttribute.
(WebCore::AccessibilityTableCell::axColumnSpan const): Use integralAttribute.
(WebCore::AccessibilityTableCell::axRowSpan const): Use integralAttribute.

* Source/WebCore/accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::axColumnIndex const): Use integralAttribute.
(WebCore::AccessibilityTableRow::axRowIndex const): Use integralAttribute.

* Source/WebCore/bindings/scripts/CodeGenerator.pm:
(ContentAttributeName): Support ReflectSetter.
(GetterExpression): Pass in "getter", also use numericAttribute, 
integralAttribute,
and unsignedIntegralAttribute.
(SetterExpression): Use setNumericAttribute.

* Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Updated for name change to unsignedIntegralAttribute
and integralAttribute.

* Source/WebCore/bindings/scripts/IDLAttributes.json: Added ReflectSetter.

* Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp: Use integralAttribute.
Added reflected setter tests.

(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObj_reflectedIntegralAttrGetter):
(WebCore::jsTestObj_reflectedUnsignedIntegralAttrGetter):
(WebCore::jsTestObj_reflectedCustomIntegralAttrGetter):
(WebCore::JSC_DEFINE_CUSTOM_SETTER):
(WebCore::jsTestObj_reflectedSetterStringAttrGetter):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::setJSTestObj_reflectedSetterStringAttrSetter):
(WebCore::jsTestObj_reflectedSetterUSVStringAttrGetter):
(WebCore::setJSTestObj_reflectedSetterUSVStringAttrSetter):
(WebCore::jsTestObj_reflectedSetterIntegralAttrGetter):
(WebCore::setJSTestObj_reflectedSetterIntegralAttrSetter):
(WebCore::jsTestObj_reflectedSetterUnsignedIntegralAttrGetter):
(WebCore::setJSTestObj_reflectedSetterUnsignedIntegralAttrSetter):
(WebCore::jsTestObj_reflectedSetterBooleanAttrGetter):
(WebCore::setJSTestObj_reflectedSetterBooleanAttrSetter):
(WebCore::jsTestObj_reflectedSetterElementAttrGetter):
(WebCore::setJSTestObj_reflectedSetterElementAttrSetter):
(WebCore::jsTestObj_reflectedSetterElementsArrayAttrGetter):
(WebCore::setJSTestObj_reflectedSetterElementsArrayAttrSetter):
(WebCore::jsTestObj_reflectedSetterURLAttrGetter):
(WebCore::setJSTestObj_reflectedSetterURLAttrSetter):
(WebCore::jsTestObj_reflectedSetterUSVURLAttrGetter):
(WebCore::setJSTestObj_reflectedSetterUSVURLAttrSetter):
(WebCore::jsTestObj_reflectedSetterCustomIntegralAttrGetter):
(WebCore::setJSTestObj_reflectedSetterCustomIntegralAttrSetter):
(WebCore::jsTestObj_reflectedSetterCustomBooleanAttrGetter):
(WebCore::setJSTestObj_reflectedSetterCustomBooleanAttrSetter):
(WebCore::jsTestObj_reflectedSetterCustomURLAttrGetter):
(WebCore::setJSTestObj_reflectedSetterCustomURLAttrSetter):
* Source/WebCore/bindings/scripts/test/TestObj.idl: Added reflected setter 
tests.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setDir): Use setAttributeWithoutSynchronization.

* Source/WebCore/dom/Element.cpp:
(WebCore::Element::setBooleanAttribute): Use setAttributeWIthoutSynchronization.
(WebCore::Element::integralAttribute const): Renamed from getIntegralAttribute.
Use attributeWithoutSynchronization.
(WebCore::Element::setIntegralAttribute): Use 
setAttributeWIthoutSynchronization.
(WebCore::Element::unsignedIntegralAttribute const): Renamed from
getUnsignedIntegralAttribute. Use attributeWithoutSynchronization.
(WebCore::Element::setUnsignedIntegralAttribute): Use 
setAttributeWIthoutSynchronization.
(WebCore::Element::setNumericAttribute): Added.

(WebCore::Element::getIntegralAttribute const): Deleted.
(WebCore::Element::getUnsignedIntegralAttribute const): Deleted.
* Source/WebCore/dom/Element.h: Updated for above changes.

* Source/WebCore/dom/ElementContentEditable.idl: Use ReflectSetter.

* Source/WebCore/dom/ElementInternals.h: Sorted forward declarations.

* Source/WebCore/editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply): Use 
setAttributeWithoutSynchronization.
* Source/WebCore/editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply): Use setAttributeWithoutSynchronization.
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::registerAttachmentIdentifier): Use 
attributeWithoutSynchronization.
* Source/WebCore/editing/EditorCommand.cpp:
(WebCore::executeInsertImage): Use setAttributeWithoutSynchronization.
* Source/WebCore/editing/cocoa/DataDetection.mm:
(WebCore::processDataDetectorScannerResults): Use 
setAttributeWithoutSynchronization.
* Source/WebCore/editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::insertMultiRepresentationHEIC): Use 
setAttributeWithoutSynchronization.
* Source/WebCore/html/FileInputType.cpp:
(WebCore::FileInputType::createShadowSubtree): Use 
setAttributeWithoutSynchronization.

* Source/WebCore/html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setFullURL): Moved this here out of the header.

(WebCore::HTMLAnchorElement::setHref): Deleted.
(WebCore::HTMLAnchorElement::setReferrerPolicyForBindings): Deleted.
* Source/WebCore/html/HTMLAnchorElement.h: Removed setHref
and setReferrerPolicyForBindings, and moved the implementation of setFullURL 
into
the implementation file.

* Source/WebCore/html/HTMLAnchorElement.idl: Use RelectSetter.

* Source/WebCore/html/HTMLAreaElement.idl: Use RelectSetter.

* Source/WebCore/html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::updateImage): Use 
setAttributeWithoutSychronization.
Use removeAttribute.

* Source/WebCore/html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::setHref): Deleted.
* Source/WebCore/html/HTMLBaseElement.h: Deleted setHref.
* Source/WebCore/html/HTMLBaseElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::setType): Deleted.
(WebCore::HTMLButtonElement::setCommand): Deleted.
* Source/WebCore/html/HTMLButtonElement.h: Deleted setType and setCommand.
* Source/WebCore/html/HTMLButtonElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot): Use
hasAttributeWithoutSynchronization.
(WebCore::HTMLDetailsElement::ensureDetailsExclusivityAfterMutation):
Use hasAttributeWithoutSynchronization and attributeWithoutSynchronization.
(WebCore::HTMLDetailsElement::toggleOpen): Moved this here out of the header.
* Source/WebCore/html/HTMLDetailsElement.h: Moved toggleOpen out of the header.

* Source/WebCore/html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::show): Use setAttributeWithoutSynchronization.
(WebCore::HTMLDialogElement::showModal): Use setAttributeWithoutSynchronization.
(WebCore::HTMLDialogElement::close): Use removeAttribute.
(WebCore::HTMLDialogElement::isOpen const): Moved this here out of the header.
* Source/WebCore/html/HTMLDialogElement.h: Removed unneeded declaration of
ToggleEventTask and moved isOpen out of the header.

* Source/WebCore/html/HTMLElement.cpp:
(WebCore::runPopoverFocusingSteps): Use hasAttributeWithoutSynchronization.

(WebCore::HTMLElement::setDir): Deleted.
(WebCore::HTMLElement::setAutocapitalize): Deleted.
(WebCore::HTMLElement::setInputMode): Deleted.
(WebCore::HTMLElement::setEnterKeyHint): Deleted.
* Source/WebCore/html/HTMLElement.h: Removed setDir, setInputMode, 
setAutocapitalize,
and setEnterKeyHint.
* Source/WebCore/html/HTMLElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setFormEnctype): Deleted.
(WebCore::HTMLFormControlElement::setFormMethod): Deleted.
(WebCore::HTMLFormControlElement::setFormAction): Deleted.
(WebCore::HTMLFormControlElement::setAutocomplete): Deleted.
(WebCore::HTMLFormControlElement::setPopoverTargetAction): Deleted.
* Source/WebCore/html/HTMLFormControlElement.h: Removed setFormEnctype, 
setFormMethod,
and setFormAction.

* Source/WebCore/html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::setAction): Deleted.
(WebCore::HTMLFormElement::setEnctype): Deleted.
(WebCore::HTMLFormElement::setMethod): Deleted.
(WebCore::HTMLFormElement::setAutocomplete): Deleted.
* Source/WebCore/html/HTMLFormElement.h: Removed setEnctype, setAutocomplete, 
setAction,
and setMethod.
* Source/WebCore/html/HTMLFormElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::setReferrerPolicyForBindings): Deleted.
(WebCore::HTMLIFrameElement::setLoading): Deleted.
* Source/WebCore/html/HTMLIFrameElement.h: Removed setReferrerPolicyForBindings 
and
setLoading.
* Source/WebCore/html/HTMLIFrameElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createForLegacyFactoryFunction): Use
setUnsignedIntegralAttribute.
(WebCore::HTMLImageElement::alt const): Deleted.
(WebCore::HTMLImageElement::setHeight): Deleted.
(WebCore::HTMLImageElement::src const): Deleted.
(WebCore::HTMLImageElement::setSrc): Deleted.
(WebCore::HTMLImageElement::setWidth): Deleted.
(WebCore::HTMLImageElement::setDecoding): Deleted.
(WebCore::HTMLImageElement::setCrossOrigin): Deleted.
(WebCore::HTMLImageElement::setSrcsetForBindings): Deleted.
(WebCore::HTMLImageElement::setLoadingForBindings): Deleted.
(WebCore::HTMLImageElement::setReferrerPolicyForBindings): Deleted.
(WebCore::HTMLImageElement::setFetchPriorityForBindings): Deleted.
* Source/WebCore/html/HTMLImageElement.h: Removed alt, setHeight, src, setSrc,
setCrossOrigin, setWidth, setDecodeing, setSrcsetForBindings, 
setLoadingForBindings,
setReferrerPolicyForBindings, and setFetchPriorityForBindings.
* Source/WebCore/html/HTMLImageElement.idl: Use Reflect for more cases where it 
works.
Use ReflectSetter.

* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::needsSuspensionCallback): Use 
atttributeWithoutSynchronization.
(WebCore::HTMLInputElement::addSubresourceAttributeURLs const): Use 
getURLAttribute.
(WebCore::HTMLInputElement::setType): Deleted.
(WebCore::HTMLInputElement::defaultValue const): Deleted.
(WebCore::HTMLInputElement::setDefaultValue): Deleted.
(WebCore::HTMLInputElement::alt const): Deleted.
(WebCore::HTMLInputElement::src const): Deleted.
(WebCore::HTMLInputElement::setHeight): Deleted.
(WebCore::HTMLInputElement::setWidth): Deleted.
* Source/WebCore/html/HTMLInputElement.h: Removed setHeight, defaultValue, 
setDefaultValue,
setType, setWidth, alt, and src.
* Source/WebCore/html/HTMLInputElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCrossOrigin): Deleted.
(WebCore::HTMLLinkElement::setAs): Deleted.
(WebCore::HTMLLinkElement::setReferrerPolicyForBindings): Deleted.
(WebCore::HTMLLinkElement::setFetchPriorityForBindings): Deleted.
* Source/WebCore/html/HTMLLinkElement.h: Removed setCrossOrigin, setAs,
setReferrerPolicyForBindings, and setFetchPriorityForBindings.
* Source/WebCore/html/HTMLLinkElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::loop const): Use integralAttribute.

* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::outOfBandTrackSources): Use 
attributeWithoutSynchronization.
(WebCore::HTMLMediaElement::setCrossOrigin): Deleted.
* Source/WebCore/html/HTMLMediaElement.h: Removed setCrossOrigin.
* Source/WebCore/html/HTMLMediaElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::setMin): Deleted.
(WebCore::HTMLMeterElement::setMax): Deleted.
(WebCore::HTMLMeterElement::setValue): Deleted.
(WebCore::HTMLMeterElement::setLow): Deleted.
(WebCore::HTMLMeterElement::setHigh): Deleted.
(WebCore::HTMLMeterElement::setOptimum): Deleted.
* Source/WebCore/html/HTMLMeterElement.h: Removed setMin, setMax, setValue, 
setLow,
setHigh, and setOptimum.
* Source/WebCore/html/HTMLMeterElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::setStartForBindings): Deleted.
* Source/WebCore/html/HTMLOListElement.h: Removed setStartForBindings.
* Source/WebCore/html/HTMLOListElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::createForLegacyFactoryFunction):
Use setAttributeWithoutSynchronization.
(WebCore::HTMLOptionElement::value const):
(WebCore::HTMLOptionElement::label const):
(WebCore::HTMLOptionElement::displayLabel const):
(WebCore::HTMLOptionElement::collectOptionInnerTextCollapsingWhitespace const):
(WebCore::HTMLOptionElement::setValue): Deleted.
(WebCore::HTMLOptionElement::setLabel): Deleted.
* Source/WebCore/html/HTMLOptionElement.h: Removed setValue and setLabel.
* Source/WebCore/html/HTMLOptionElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::setValue): Deleted.
* Source/WebCore/html/HTMLProgressElement.h: Removed setValue.
* Source/WebCore/html/HTMLProgressElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setCrossOrigin): Deleted.
(WebCore::HTMLScriptElement::setReferrerPolicyForBindings): Deleted.
(WebCore::HTMLScriptElement::setFetchPriorityForBindings): Deleted.
* Source/WebCore/html/HTMLScriptElement.h: Removed setCrossOrigin,
setReferrerPolicyForBindings, and setFetchPriorityForBindings.
* Source/WebCore/html/HTMLScriptElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLSelectElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::setScope): Deleted.
* Source/WebCore/html/HTMLTableCellElement.h: Removed setScope.
* Source/WebCore/html/HTMLTableCellElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::setShadowRootMode): Deleted.
* Source/WebCore/html/HTMLTemplateElement.h: Removed setShadowRootMode.
* Source/WebCore/html/HTMLTemplateElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLTextAreaElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement): Replaced pointless code that
called attributeWithoutSynchronization in the constructor. There are no
attributes yet at construction time, so this is just a slow way to get what
is always a null string.
(WebCore::HTMLTrackElement::setKind): Deleted.
(WebCore::HTMLTrackElement::srclang const): Deleted.
(WebCore::HTMLTrackElement::label const): Deleted.
* Source/WebCore/html/HTMLTrackElement.h: Deleted setKind, srclang, and label.
* Source/WebCore/html/HTMLTrackElement.idl: Use ReflectSetter.

* Source/WebCore/html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Deleted.
* Source/WebCore/html/HTMLVideoElement.h: Removed 
setWebkitWirelessVideoPlaybackDisabled.
* Source/WebCore/html/HTMLVideoElement.idl: Use ReflectSetter.

* Source/WebCore/html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Use 
setAttributeWithoutSynchronization.
(WebCore::ImageDocument::resizeImageToFit): Use setIntegralAttribute.
(WebCore::ImageDocument::restoreImageSize): Use setIntegralAttribute.

* Source/WebCore/html/InputType.cpp:
(WebCore::InputType::saveFormControlState const): Use 
attributeWithoutSynchronization.

* Source/WebCore/html/PermissionsPolicy.cpp:
(WebCore::PermissionsPolicy::processPermissionsPolicyAttribute): Use
hasAttributeWithoutSynchronization.

* Source/WebCore/html/PopoverInvokerElement.idl: Use ReflectSetter.

* Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::setARIAValueAttributesWithInteger):
Use a single call to AtomString::number for better efficiency.

* Source/WebCore/loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement): Use getURLAttribute.

* Source/WebCore/mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::parseNotationAttribute): Use
hasAttributeWithoutSynchronization.

* Source/WebCore/mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex): Use
integralAttribute.

* Source/WebCore/page/DragController.cpp:
(WebCore::documentFragmentFromDragData): Use setAttributeWithoutSynchronization.

* Source/WebCore/page/text-extraction/TextExtraction.cpp:
(WebCore::TextExtraction::extractItemData): Use getURLAttribute.

* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString const): Use 
attributeWithoutSynchronization.

* Source/WebKitLegacy/mac/DOM/DOMHTMLBaseElement.mm:
(-[DOMHTMLBaseElement setHref:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLButtonElement.mm:
(-[DOMHTMLButtonElement setType:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLElement.mm:
(-[DOMHTMLElement setDir:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLElement setAutocapitalize:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLEmbedElement.mm:
(-[DOMHTMLEmbedElement height]): Use integralAttribute.
(-[DOMHTMLEmbedElement width]): Use integralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLFormElement.mm:
(-[DOMHTMLFormElement setAutocomplete:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLFormElement setEnctype:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLFormElement setEncoding:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLFormElement setMethod:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLImageElement.mm:
(-[DOMHTMLImageElement setCrossOrigin:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLImageElement setHeight:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLImageElement hspace]): Use integralAttribute.
(-[DOMHTMLImageElement vspace]): Use integralAttribute.
(-[DOMHTMLImageElement setWidth:]): Use setIntegralAttribute.
(-[DOMHTMLImageElement altDisplayString]): Use attributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement setAutocomplete:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement setFormAction:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement setFormEnctype:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement setFormMethod:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement setHeight:]): Use setUnsignedIntegralAttribute.
(-[DOMHTMLInputElement max]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement min]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement pattern]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement placeholder]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement step]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement setType:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement defaultValue]): Use attributeWithoutSynchronization.
(-[DOMHTMLInputElement setDefaultValue:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLInputElement setWidth:]): Use setUnsignedIntegralAttribute.
(-[DOMHTMLInputElement altDisplayString]): Use attributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLLIElement.mm:
(-[DOMHTMLLIElement value]): Use integralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLLinkElement.mm:
(-[DOMHTMLLinkElement setCrossOrigin:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLMarqueeElement.mm:
(-[DOMHTMLMarqueeElement hspace]): Use unsignedIntegralAttribute.
(-[DOMHTMLMarqueeElement vspace]): Use unsignedIntegralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLMediaElement.mm:
(-[DOMHTMLMediaElement setCrossOrigin:]): Use 
setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLOListElement.mm:
(-[DOMHTMLOListElement setStart:]): Use setIntegralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLObjectElement.mm:
(-[DOMHTMLObjectElement hspace]): Use integralAttribute.
(-[DOMHTMLObjectElement vspace]): Use integralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLOptionElement.mm:
(-[DOMHTMLOptionElement setLabel:]): Use setAttributeWithoutSynchronization.
(-[DOMHTMLOptionElement setValue:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLPreElement.mm:
(-[DOMHTMLPreElement width]): Use integralAttribute.
* Source/WebKitLegacy/mac/DOM/DOMHTMLScriptElement.mm:
(-[DOMHTMLScriptElement htmlFor]): Use attributeWithoutSynchronization.
(-[DOMHTMLScriptElement event]): Use attributeWithoutSynchronization.
(-[DOMHTMLScriptElement charset]): Use attributeWithoutSynchronization.
(-[DOMHTMLScriptElement type]): Use attributeWithoutSynchronization.
(-[DOMHTMLScriptElement setCrossOrigin:]): Use 
setAttributeWithoutSynchronization.
(-[DOMHTMLScriptElement nonce]): Use attributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLTableCellElement.mm:
(-[DOMHTMLTableCellElement setScope:]): Use setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLTextAreaElement.mm:
(-[DOMHTMLTextAreaElement setAutocomplete:]): Use 
setAttributeWithoutSynchronization.
* Source/WebKitLegacy/mac/DOM/DOMHTMLVideoElement.mm:
(-[DOMHTMLVideoElement width]): Use unsignedIntegralAttribute.
(-[DOMHTMLVideoElement height]): Use unsignedIntegralAttribute.

Canonical link: https://commits.webkit.org/296427@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to