Skip to content

Conversation

@Ahmad-S792
Copy link
Contributor

@Ahmad-S792 Ahmad-S792 commented Sep 17, 2025

55f58b7

Remove non-standard `overflowchanged`
https://bugs.webkit.org/show_bug.cgi?id=218402
rdar://71129110

Reviewed by Simon Fraser.

This landed in past 281672@main but got reverted on assumption of causing
regression on webmail.biglobe.ne.jp in 289380@main but it seems the website
claims on blog news post that it is still broken in iOS 26 [1]. So this was
not cause of regression, so this is second attempt to land this.

[1] https://support.biglobe.ne.jp/news/news752.html (Use Translation)

This patch aligns WebKit with Gecko / Firefox, Blink / Chromium by
removing non-standard `overflowchanged`.

It was removed from Blink in 2015 [2]:

[2] chromium/chromium@86665f6

It was never supported by Gecko / Firefox.

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::createEvent):
(WebCore::Document::addListenerTypeIfNeeded):
(WebCore::Document::enqueueOverflowEvent): Deleted.
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/EventInterfaces.in:
* Source/WebCore/dom/EventNames.json:
* Source/WebCore/dom/OverflowEvent.cpp: Removed.
* Source/WebCore/dom/OverflowEvent.h: Removed.
* Source/WebCore/dom/OverflowEvent.idl: Removed.
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::didLayout):
(WebCore::LocalFrameView::updateOverflowStatus): Deleted.
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layout):
(WebCore::OverflowEventDispatcher::OverflowEventDispatcher): Deleted.
(WebCore::OverflowEventDispatcher::~OverflowEventDispatcher): Deleted.
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebKitLegacy/mac/DOM/DOMEvents.mm:
(kitClass):
* Source/WebKitLegacy/mac/DOM/DOMOverflowEvent.mm:
(-[DOMOverflowEvent orient]):
(-[DOMOverflowEvent horizontalOverflow]):
(-[DOMOverflowEvent verticalOverflow]):
(-[DOMOverflowEvent initOverflowEvent:horizontalOverflow:verticalOverflow:]):

> Test Updates / Removals:
* LayoutTests/fast/dom/Window/resources/window-properties.js:
* LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/fast/dom/wrapper-classes-expected.txt:
* LayoutTests/fast/dom/wrapper-classes.html:
* LayoutTests/fast/dynamic/paused-event-dispatch-expected.txt: Removed.
* LayoutTests/fast/dynamic/paused-event-dispatch.html: Removed.
* LayoutTests/fast/dynamic/resources/paused-event-dispatch-iframe.html: Removed.
* LayoutTests/fast/events/change-overflow-on-overflow-change-expected.txt: Removed.
* LayoutTests/fast/events/change-overflow-on-overflow-change.html: Removed.
* LayoutTests/fast/events/constructors/overflow-event-constructor-expected.txt: Removed.
* LayoutTests/fast/events/constructors/overflow-event-constructor.html: Removed.
* LayoutTests/fast/events/event-creation-expected.txt:
* LayoutTests/fast/events/event-creation.html:
* LayoutTests/fast/events/overflow-events-expected.txt: Removed.
* LayoutTests/fast/events/overflow-events-writing-mode-expected.txt: Removed.
* LayoutTests/fast/events/overflow-events-writing-mode.html: Removed.
* LayoutTests/fast/events/overflow-events.html: Removed.
* LayoutTests/fast/events/overflow-viewport-renderer-deleted.html: Removed.
* LayoutTests/fast/events/overflowchanged-inside-selection-collapse-crash-expected.txt: Removed.
* LayoutTests/fast/events/overflowchanged-inside-selection-collapse-crash.html: Removed.
* LayoutTests/fast/overflow/horizontal-overflow-with-offset-expected.txt: Removed.
* LayoutTests/fast/overflow/horizontal-overflow-with-offset.html: Removed.
* LayoutTests/fast/overflow/vertical-overflow-with-offset-expected.txt: Removed.
* LayoutTests/fast/overflow/vertical-overflow-with-offset.html: Removed.
* LayoutTests/js/dom/constructor-length.html:
* LayoutTests/platform/glib/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/platform/glib/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/ios/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
* LayoutTests/platform/mac/fast/dom/wrapper-classes-objc.html:
* LayoutTests/platform/mac/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/win/js/dom/constructor-length-expected.txt:

> SafeCPP Expectation Updates:
* Source/WebKitLegacy/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebKitLegacy/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations:

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

5202e89

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple Internal
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win ✅ 🛠 ios-apple
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 🧪 win-tests ✅ 🛠 mac-apple
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe ✅ 🛠 vision-apple
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🛠 🧪 jsc ✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 🧪 jsc-arm64 ✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 tv ✅ 🛠 mac-safer-cpp ✅ 🛠 jsc-armv7
✅ 🛠 tv-sim ❌ 🧪 jsc-armv7-tests
✅ 🛠 watch
✅ 🛠 watch-sim

@Ahmad-S792 Ahmad-S792 requested review from a team, cdumez and rniwa as code owners September 17, 2025 00:13
@Ahmad-S792 Ahmad-S792 self-assigned this Sep 17, 2025
@Ahmad-S792 Ahmad-S792 added the DOM For bugs specific to XML/HTML DOM elements (including parsing). label Sep 17, 2025
@Ahmad-S792 Ahmad-S792 marked this pull request as draft September 17, 2025 00:19
@Ahmad-S792 Ahmad-S792 changed the title Remove non-standard overflowchanged Remove non-standard overflowchanged https://bugs.webkit.org/show_bug.cgi?id=218402 rdar://71129110 Sep 17, 2025
@Ahmad-S792 Ahmad-S792 force-pushed the eng/Remove-support-for-the-non-standard-overflow-event branch from 7e281dd to c123980 Compare September 17, 2025 01:10
@Ahmad-S792 Ahmad-S792 force-pushed the eng/Remove-support-for-the-non-standard-overflow-event branch from c123980 to ef60dc7 Compare September 17, 2025 01:11
@Ahmad-S792 Ahmad-S792 changed the title Remove non-standard overflowchanged https://bugs.webkit.org/show_bug.cgi?id=218402 rdar://71129110 Remove non-standard overflowchanged Sep 17, 2025
@Ahmad-S792 Ahmad-S792 force-pushed the eng/Remove-support-for-the-non-standard-overflow-event branch from ef60dc7 to 8648c4d Compare September 17, 2025 01:15
@webkit-ews-buildbot
Copy link
Collaborator

Safer C++ Build #53737 (8648c4d)

⚠️ Found 1 fixed file! Please update expectations in Source/[Project]/SaferCPPExpectations by running the following command and update your pull request:

  • Tools/Scripts/update-safer-cpp-expectations -p WebKitLegacy --MemoryUnsafeCastChecker mac/DOM/DOMOverflowEvent.mm --UncountedCallArgsChecker mac/DOM/DOMOverflowEvent.mm

@Ahmad-S792 Ahmad-S792 force-pushed the eng/Remove-support-for-the-non-standard-overflow-event branch from 8648c4d to 5202e89 Compare September 17, 2025 18:44
@Ahmad-S792 Ahmad-S792 marked this pull request as ready for review September 18, 2025 00:09
@Ahmad-S792 Ahmad-S792 requested a review from smfr September 18, 2025 00:09
@Ahmad-S792 Ahmad-S792 added the merge-queue Applied to send a pull request to merge-queue label Sep 18, 2025
https://bugs.webkit.org/show_bug.cgi?id=218402
rdar://71129110

Reviewed by Simon Fraser.

This landed in past 281672@main but got reverted on assumption of causing
regression on webmail.biglobe.ne.jp in 289380@main but it seems the website
claims on blog news post that it is still broken in iOS 26 [1]. So this was
not cause of regression, so this is second attempt to land this.

[1] https://support.biglobe.ne.jp/news/news752.html (Use Translation)

This patch aligns WebKit with Gecko / Firefox, Blink / Chromium by
removing non-standard `overflowchanged`.

It was removed from Blink in 2015 [2]:

[2] chromium/chromium@86665f6

It was never supported by Gecko / Firefox.

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::createEvent):
(WebCore::Document::addListenerTypeIfNeeded):
(WebCore::Document::enqueueOverflowEvent): Deleted.
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/EventInterfaces.in:
* Source/WebCore/dom/EventNames.json:
* Source/WebCore/dom/OverflowEvent.cpp: Removed.
* Source/WebCore/dom/OverflowEvent.h: Removed.
* Source/WebCore/dom/OverflowEvent.idl: Removed.
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::didLayout):
(WebCore::LocalFrameView::updateOverflowStatus): Deleted.
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layout):
(WebCore::OverflowEventDispatcher::OverflowEventDispatcher): Deleted.
(WebCore::OverflowEventDispatcher::~OverflowEventDispatcher): Deleted.
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebKitLegacy/mac/DOM/DOMEvents.mm:
(kitClass):
* Source/WebKitLegacy/mac/DOM/DOMOverflowEvent.mm:
(-[DOMOverflowEvent orient]):
(-[DOMOverflowEvent horizontalOverflow]):
(-[DOMOverflowEvent verticalOverflow]):
(-[DOMOverflowEvent initOverflowEvent:horizontalOverflow:verticalOverflow:]):

> Test Updates / Removals:
* LayoutTests/fast/dom/Window/resources/window-properties.js:
* LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/fast/dom/wrapper-classes-expected.txt:
* LayoutTests/fast/dom/wrapper-classes.html:
* LayoutTests/fast/dynamic/paused-event-dispatch-expected.txt: Removed.
* LayoutTests/fast/dynamic/paused-event-dispatch.html: Removed.
* LayoutTests/fast/dynamic/resources/paused-event-dispatch-iframe.html: Removed.
* LayoutTests/fast/events/change-overflow-on-overflow-change-expected.txt: Removed.
* LayoutTests/fast/events/change-overflow-on-overflow-change.html: Removed.
* LayoutTests/fast/events/constructors/overflow-event-constructor-expected.txt: Removed.
* LayoutTests/fast/events/constructors/overflow-event-constructor.html: Removed.
* LayoutTests/fast/events/event-creation-expected.txt:
* LayoutTests/fast/events/event-creation.html:
* LayoutTests/fast/events/overflow-events-expected.txt: Removed.
* LayoutTests/fast/events/overflow-events-writing-mode-expected.txt: Removed.
* LayoutTests/fast/events/overflow-events-writing-mode.html: Removed.
* LayoutTests/fast/events/overflow-events.html: Removed.
* LayoutTests/fast/events/overflow-viewport-renderer-deleted.html: Removed.
* LayoutTests/fast/events/overflowchanged-inside-selection-collapse-crash-expected.txt: Removed.
* LayoutTests/fast/events/overflowchanged-inside-selection-collapse-crash.html: Removed.
* LayoutTests/fast/overflow/horizontal-overflow-with-offset-expected.txt: Removed.
* LayoutTests/fast/overflow/horizontal-overflow-with-offset.html: Removed.
* LayoutTests/fast/overflow/vertical-overflow-with-offset-expected.txt: Removed.
* LayoutTests/fast/overflow/vertical-overflow-with-offset.html: Removed.
* LayoutTests/js/dom/constructor-length.html:
* LayoutTests/platform/glib/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/platform/glib/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/ios/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt:
* LayoutTests/platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
* LayoutTests/platform/mac/fast/dom/wrapper-classes-objc.html:
* LayoutTests/platform/mac/js/dom/constructor-length-expected.txt:
* LayoutTests/platform/win/js/dom/constructor-length-expected.txt:

> SafeCPP Expectation Updates:
* Source/WebKitLegacy/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/WebKitLegacy/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations:

Canonical link: https://commits.webkit.org/300125@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Remove-support-for-the-non-standard-overflow-event branch from 5202e89 to 55f58b7 Compare September 18, 2025 00:41
@webkit-commit-queue
Copy link
Collaborator

Committed 300125@main (55f58b7): https://commits.webkit.org/300125@main

Reviewed commits have been landed. Closing PR #50833 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 55f58b7 into WebKit:main Sep 18, 2025
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Sep 18, 2025
@Ahmad-S792 Ahmad-S792 deleted the eng/Remove-support-for-the-non-standard-overflow-event branch September 18, 2025 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DOM For bugs specific to XML/HTML DOM elements (including parsing).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants