[webkit-changes] [WebKit/WebKit] dae38b: [IsDeprecatedWeakRefSmartPointerException] Make We...
Rupin Mittal
noreply at github.com
Wed Oct 9 03:51:22 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dae38b66a9715cd1750a2a6690fd4c955d8542d6
https://github.com/WebKit/WebKit/commit/dae38b66a9715cd1750a2a6690fd4c955d8542d6
Author: Rupin Mittal <rupin at apple.com>
Date: 2024-10-09 (Wed, 09 Oct 2024)
Changed paths:
M Source/WebCore/html/BaseDateAndTimeInputType.cpp
M Source/WebCore/html/BaseDateAndTimeInputType.h
M Source/WebCore/loader/EmptyClients.cpp
M Source/WebCore/loader/EmptyClients.h
M Source/WebCore/page/Chrome.cpp
M Source/WebCore/page/Chrome.h
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/platform/DateTimeChooser.h
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
M Source/WebKit/WebProcess/WebCoreSupport/WebDateTimeChooser.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebDateTimeChooser.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm
Log Message:
-----------
[IsDeprecatedWeakRefSmartPointerException] Make WebDateTimeChooser ref-counted
https://bugs.webkit.org/show_bug.cgi?id=281110
rdar://137563134
Reviewed by Ryosuke Niwa.
We remove IsDeprecatedWeakRefSmartPointerException by making WebDateTimeChooser
ref-counted.
WebPage holds a WeakPtr to WebDateTimeChooser and WebDateTimeChooser holds a
WeakRef to WebPage. Since WebDateTimeChooser is now ref-counted, it's possible
for it to out-live the WebPage, which would make a use of it's WeakRef m_page
member unsafe. To ensure that WebDateTimeChooser never tries to use it's WebPage
member if the WebPage has been destroyed, we change the m_page member to be a
WeakPtr instead of a WeakRef and null-check m_page before using it.
* Source/WebCore/html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::showPicker):
(WebCore::BaseDateAndTimeInputType::didChangeValueFromControl):
(WebCore::BaseDateAndTimeInputType::closeDateTimeChooser):
(WebCore::BaseDateAndTimeInputType::didEndChooser): Deleted.
* Source/WebCore/html/BaseDateAndTimeInputType.h:
* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createDateTimeChooser):
* Source/WebCore/loader/EmptyClients.h:
* Source/WebCore/page/Chrome.cpp:
(WebCore::Chrome::createDateTimeChooser):
* Source/WebCore/page/Chrome.h:
* Source/WebCore/page/ChromeClient.h:
* Source/WebCore/platform/DateTimeChooser.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createDateTimeChooser):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebDateTimeChooser.cpp:
(WebKit::WebDateTimeChooser::endChooser):
(WebKit::WebDateTimeChooser::showChooser):
* Source/WebKit/WebProcess/WebCoreSupport/WebDateTimeChooser.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChooseDate):
* Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createDateTimeChooser):
Canonical link: https://commits.webkit.org/284882@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list