[webkit-changes] [WebKit/WebKit] 3cc50b: ProgressTracker should have a WeakPtr instead of a...
Alex Christensen
noreply at github.com
Wed Jan 8 21:46:37 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3cc50bc287a862a00f885e5699d6377d9a1c236c
https://github.com/WebKit/WebKit/commit/3cc50bc287a862a00f885e5699d6377d9a1c236c
Author: Alex Christensen <achristensen at apple.com>
Date: 2025-01-08 (Wed, 08 Jan 2025)
Changed paths:
M Source/WebCore/loader/ProgressTracker.cpp
M Source/WebCore/loader/ProgressTracker.h
Log Message:
-----------
ProgressTracker should have a WeakPtr instead of a RefPtr<LocalFrame>
https://bugs.webkit.org/show_bug.cgi?id=285649
rdar://142492439
Reviewed by Charlie Wolfe.
There are common crashes resulting from the ProgressTracker destructor
destroying a Frame. The ProgressTracker does not need to keep the Frame
alive, so use a WeakPtr instead.
Since it can now become null at any point, I added null checks before
using it everywhere. Since it no longer keeps the LocalFrame alive,
I create a RefPtr on the stack before using it.
* Source/WebCore/loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):
(WebCore::ProgressTracker::progressHeartbeatTimerFired):
* Source/WebCore/loader/ProgressTracker.h:
Canonical link: https://commits.webkit.org/288634@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