Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bbe1fd08c84508af0e8824856b928da3f641879e
https://github.com/WebKit/WebKit/commit/bbe1fd08c84508af0e8824856b928da3f641879e
Author: Alex Christensen <[email protected]>
Date: 2023-12-04 (Mon, 04 Dec 2023)
Changed paths:
M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp
Log Message:
-----------
Fix performance regression after 271209@main
https://bugs.webkit.org/show_bug.cgi?id=265826
rdar://118948980
Reviewed by Per Arne Vollan.
271209@main introduced a CompletionHandler to
SpeculativeLoad::willSendRedirectedRequest.
Before that change, we would just destroy the NetworkLoad and be done.
After that change, we call the redirect completion handler with an empty
ResourceRequest
before destroying the NetworkLoad, which calls updateRequest and
didCompleteWithError.
This PR changes calling the completion handler to after the call to
SpeculativeLoad::didComplete
which destroys the NetworkLoad. That way, the lambda at the end of the function
NetworkLoad::willPerformHTTPRedirection just finds a null weakThis and does
none of this
unnecessary work. I verified that this is what is going on on the sites in the
radar
that showed a performance regression, and I verified that this change removes
that unnecessary
work when not following redirects.
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
Canonical link: https://commits.webkit.org/271526@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes