Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a6c2be651136ac9e13e22606b8e883f92c2b1503
      
https://github.com/WebKit/WebKit/commit/a6c2be651136ac9e13e22606b8e883f92c2b1503
  Author: Megan Gardner <[email protected]>
  Date:   2026-01-13 (Tue, 13 Jan 2026)

  Changed paths:
    M Source/WebCore/html/HTMLSelectElement.cpp
    M Source/WebCore/html/HTMLSelectElement.h
    M Source/WebCore/platform/PopupMenuClient.h
    M Source/WebCore/rendering/RenderMenuList.cpp
    M Source/WebCore/rendering/RenderMenuList.h
    M Source/WebCore/rendering/RenderSearchField.cpp
    M Source/WebCore/rendering/RenderSearchField.h
    M Source/WebKitLegacy/mac/WebCoreSupport/PopupMenuMac.h
    M Source/WebKitLegacy/mac/WebCoreSupport/PopupMenuMac.mm

  Log Message:
  -----------
  Crashing in WebKit::WebPopupMenu::didChangeSelectedIndex.
https://bugs.webkit.org/show_bug.cgi?id=305237
rdar://167878765

Reviewed by Abrar Rahman Protyasha.

Refactor RenderMenuList and HTMLSelectElement to have
the PopupMenuClient be the HTMLSelectElement, since
we can have a pointer that we can check to the element
instead of a reference that is destroyed already to
the renderer.

* Source/WebCore/html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::valueChanged):
(WebCore::HTMLSelectElement::itemText const):
(WebCore::HTMLSelectElement::itemLabel const):
(WebCore::HTMLSelectElement::itemIcon const):
(WebCore::HTMLSelectElement::itemToolTip const):
(WebCore::HTMLSelectElement::itemAccessibilityText const):
(WebCore::HTMLSelectElement::itemIsEnabled const):
(WebCore::HTMLSelectElement::itemStyle const):
(WebCore::HTMLSelectElement::menuStyle const):
(WebCore::HTMLSelectElement::clientInsetLeft const):
(WebCore::HTMLSelectElement::clientInsetRight const):
(WebCore::HTMLSelectElement::clientPaddingLeft const):
(WebCore::HTMLSelectElement::clientPaddingRight const):
(WebCore::HTMLSelectElement::listSize const):
(WebCore::HTMLSelectElement::popupSelectedIndex const):
(WebCore::HTMLSelectElement::popupDidHide):
(WebCore::HTMLSelectElement::itemIsSeparator const):
(WebCore::HTMLSelectElement::itemIsLabel const):
(WebCore::HTMLSelectElement::itemIsSelected const):
(WebCore::HTMLSelectElement::setTextFromItem):
(WebCore::HTMLSelectElement::listBoxSelectItem):
(WebCore::HTMLSelectElement::fontSelector const):
(WebCore::HTMLSelectElement::hostWindow const):
(WebCore::HTMLSelectElement::createScrollbar):
* Source/WebCore/html/HTMLSelectElement.h:
* Source/WebCore/platform/PopupMenuClient.h:
(WebCore::PopupMenuClient::popupMultiple const):
(WebCore::PopupMenuClient::multiple const): Deleted.
* Source/WebCore/rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::getItemBackgroundColor const):
(WebCore::RenderMenuList::popupMenuSize):
(WebCore::RenderMenuList::clientPaddingLeft const):
(WebCore::RenderMenuList::clientPaddingRight const):
(WebCore::RenderMenuList::hostWindow const):
(WebCore::RenderMenuList::adjustInnerStyle):
(RenderMenuList::setTextFromOption):
(RenderMenuList::showPopup):
(RenderMenuList::popupDidHide):
(RenderMenuList::valueChanged): Deleted.
(RenderMenuList::listBoxSelectItem): Deleted.
(RenderMenuList::multiple const): Deleted.
(RenderMenuList::itemText const): Deleted.
(RenderMenuList::itemLabel const): Deleted.
(RenderMenuList::itemIcon const): Deleted.
(RenderMenuList::itemAccessibilityText const): Deleted.
(RenderMenuList::itemToolTip const): Deleted.
(RenderMenuList::itemIsEnabled const): Deleted.
(RenderMenuList::itemStyle const): Deleted.
(RenderMenuList::getItemBackgroundColor const): Deleted.
(RenderMenuList::menuStyle const): Deleted.
(RenderMenuList::hostWindow const): Deleted.
(RenderMenuList::createScrollbar): Deleted.
(RenderMenuList::clientInsetLeft const): Deleted.
(RenderMenuList::clientInsetRight const): Deleted.
(RenderMenuList::clientPaddingLeft const): Deleted.
(RenderMenuList::clientPaddingRight const): Deleted.
(RenderMenuList::listSize const): Deleted.
(RenderMenuList::selectedIndex const): Deleted.
(RenderMenuList::itemIsSeparator const): Deleted.
(RenderMenuList::itemIsLabel const): Deleted.
(RenderMenuList::itemIsSelected const): Deleted.
(RenderMenuList::setTextFromItem): Deleted.
(RenderMenuList::fontSelector const): Deleted.
* Source/WebCore/rendering/RenderMenuList.h:
* Source/WebCore/rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::popupSelectedIndex const):
(WebCore::RenderSearchField::selectedIndex const): Deleted.
* Source/WebCore/rendering/RenderSearchField.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to