Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: 8bf24b4eb7c0edeca2fa1745b4030da87ca5420a
https://github.com/WebKit/WebKit/commit/8bf24b4eb7c0edeca2fa1745b4030da87ca5420a
Author: Chris Dumez <[email protected]>
Date: 2024-10-04 (Fri, 04 Oct 2024)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
Log Message:
-----------
Cherry-pick 284431@main (64afe80b60e5).
https://bugs.webkit.org/show_bug.cgi?id=280578
REGRESSION: 282146@main made text entry in a quip document very slow
https://bugs.webkit.org/show_bug.cgi?id=280578
rdar://136905905
Reviewed by Darin Adler.
In 282146@main, I converted EventTargetSet from a `HashCountedSet<Node*>`
to a
`WeakHashCountedSet<Node>` for safety reasons. However, this set is used in
hot
code and we end up spending a lot of time in WeakHashMap's amortized cleanup
on certain pages.
To address the performance issue while maintaining safety, I am now using a
`HashCountedSet<CheckedPtr<Node>>`.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::willBeRemovedFromFrame):
(WebCore::Document::wheelEventHandlersChanged):
(WebCore::Document::didAddWheelEventHandler):
(WebCore::removeHandlerFromSet):
(WebCore::Document::didAddTouchEventHandler):
(WebCore::Document::didRemoveEventTargetNode):
(WebCore::Document::absoluteRegionForEventTargets):
* Source/WebCore/dom/Document.h:
(WebCore::Document::hasTouchEventHandlers const):
(WebCore::Document::hasWheelEventHandlers const):
Canonical link: https://commits.webkit.org/284431@main
Canonical link: https://commits.webkit.org/282416.189@webkitglib/2.46
Commit: 2f79f4ce1c38cbe9ae7434a92241557d97dc7cff
https://github.com/WebKit/WebKit/commit/2f79f4ce1c38cbe9ae7434a92241557d97dc7cff
Author: Jer Noble <[email protected]>
Date: 2024-10-04 (Fri, 04 Oct 2024)
Changed paths:
M LayoutTests/media/now-playing-status-for-video-conference-web-page.html
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
Log Message:
-----------
Cherry-pick 284177@main (02cd89be8171).
https://bugs.webkit.org/show_bug.cgi?id=277024
REGRESSION (280914@main): [macOS wk2]
media/now-playing-status-for-video-conference-web-page.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=277024
rdar://132426511
Reviewed by Youenn Fablet.
NowPlayingState.haveEverRegisteredAsNowPlayingApplication is not
consistently reset between tests, so do not rely
upon its value for testing purposes. Instead, add an Internals method that
returns whether a specific media element
currently represents the "now playing session".
* LayoutTests/media/now-playing-status-for-video-conference-web-page.html:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isActiveNowPlayingSession const):
* Source/WebCore/html/HTMLMediaElement.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::elementIsActiveNowPlayingSession const):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
Canonical link: https://commits.webkit.org/284177@main
Canonical link: https://commits.webkit.org/282416.190@webkitglib/2.46
Commit: 1772781ed47b3614e1bb8b313ba5293bd18c357f
https://github.com/WebKit/WebKit/commit/1772781ed47b3614e1bb8b313ba5293bd18c357f
Author: Jean-Yves Avenard <[email protected]>
Date: 2024-10-04 (Fri, 04 Oct 2024)
Changed paths:
M Source/WebCore/platform/graphics/MediaSourcePrivate.cpp
Log Message:
-----------
Cherry-pick 283309@main (96a00f891524).
https://bugs.webkit.org/show_bug.cgi?id=279269
media-source-current-time.html tests and
media-source-stalled-holds-sleep-assertion.html are crashing on WK1
https://bugs.webkit.org/show_bug.cgi?id=279269
rdar://135421843
Reviewed by Chris Dumez.
MediaSourcePrivate::hasAudio() can be called on the GC thread. When this
happens m_dispatcher (either main or worker thread) is suspended.
* Source/WebCore/platform/graphics/MediaSourcePrivate.cpp:
(WebCore::MediaSourcePrivate::hasAudio const):
Canonical link: https://commits.webkit.org/283309@main
Canonical link: https://commits.webkit.org/282416.191@webkitglib/2.46
Commit: 7bda62da85a6b54a6dd53d56d3439075dbc4ab84
https://github.com/WebKit/WebKit/commit/7bda62da85a6b54a6dd53d56d3439075dbc4ab84
Author: Ryan Reno <[email protected]>
Date: 2024-10-04 (Fri, 04 Oct 2024)
Changed paths:
M Source/WebCore/bindings/js/JSAudioWorkletGlobalScopeCustom.cpp
Log Message:
-----------
Cherry-pick 282644@main (2ef9bf886adc).
https://bugs.webkit.org/show_bug.cgi?id=278512
REGRESSION (280975@main) Null pointer deref crash in
WebCore::AudioWorkletGlobalScope::createProcessor
https://bugs.webkit.org/show_bug.cgi?id=278512
rdar://133250806
Reviewed by Chris Dumez.
After 280975@main, Audio Worklet processor constructors are weak
handles and may be garbage collected prematurely, especially in WK1.
This can lead to null pointer deref crashes in WebAudio WPT when trying
to construct a new Audio Worklet processor.
This change adds the AudioWorkletGlobalScope as a WebCore opaque root in
order to keep registered processor constructors alive via the
isReachableFromOpaqueRoots mechanism.
* Source/WebCore/bindings/js/JSAudioWorkletGlobalScopeCustom.cpp:
(WebCore::JSAudioWorkletGlobalScope::visitAdditionalChildren):
Canonical link: https://commits.webkit.org/282644@main
Canonical link: https://commits.webkit.org/282416.192@webkitglib/2.46
Commit: 39017e3c9324f1f1afc9b6f93b7a3c1fc20cf1d8
https://github.com/WebKit/WebKit/commit/39017e3c9324f1f1afc9b6f93b7a3c1fc20cf1d8
Author: Keith Miller <[email protected]>
Date: 2024-10-04 (Fri, 04 Oct 2024)
Changed paths:
A JSTests/stress/runString-returns-globalThis-not-globalObject.js
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/tools/JSDollarVM.cpp
Log Message:
-----------
Cherry-pick 282453@main (22b1c6974350).
https://bugs.webkit.org/show_bug.cgi?id=276934
ASSERTION FAILED: isCell()
WebKit/Source/JavaScriptCore/runtime/JSCJSValueInlines.h(598) : JSC::JSCell*
JSC::JSValue::asCell() const
https://bugs.webkit.org/show_bug.cgi?id=276934
rdar://132305364
Reviewed by Yusuke Suzuki.
Some of our debugging functions currently return the globalObject directly.
This is mostly ok because we expect to not fall over when
the globalObject is directly exposed (rather than the globalThis proxy).
That said, it seems when extending the GlobalObject it's
possible to crash because we put_by_id_direct on the result of `ToThis`,
which when is the GlobalObject (not the proxy) becomes jsUndefined().
To avoid spurious fuzzer crashes in the future this change has these
functions return the globalThis. It seems none of the testing we did
relies on the actual globalObject anyway and the globalThis is fine.
* JSTests/stress/runString-returns-globalThis-not-globalObject.js: Added.
(try.F):
(try.C):
* Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
Canonical link: https://commits.webkit.org/282453@main
Canonical link: https://commits.webkit.org/282416.193@webkitglib/2.46
Compare: https://github.com/WebKit/WebKit/compare/dfb76f4eafe3...39017e3c9324
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