[webkit-changes] [WebKit/WebKit] efab24: Optimize matchIntegrityMetadata()
Chris Dumez
noreply at github.com
Wed Mar 8 17:12:03 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: efab2420412f966978181e4acf1dac6f3c63c049
https://github.com/WebKit/WebKit/commit/efab2420412f966978181e4acf1dac6f3c63c049
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-03-08 (Wed, 08 Mar 2023)
Changed paths:
M Source/WebCore/loader/ResourceCryptographicDigest.h
M Source/WebCore/loader/SubresourceIntegrity.cpp
M Source/WebCore/loader/SubresourceIntegrity.h
M Source/WebCore/loader/cache/CachedResource.cpp
M Source/WebCore/loader/cache/CachedResource.h
Log Message:
-----------
Optimize matchIntegrityMetadata()
https://bugs.webkit.org/show_bug.cgi?id=253528
Reviewed by Ryosuke Niwa.
Optimize matchIntegrityMetadata():
- Avoid a function call when the integrityMetadata string is empty, which is the
common case.
- Cache the cryptographic digest on the CachedResource to avoid repeated crypto
operations for the same resource. This impacts 3 sub-resources on Speedometer
which now leverage the cache instead of recomputing every time.
* Source/WebCore/loader/ResourceCryptographicDigest.h:
* Source/WebCore/loader/SubresourceIntegrity.cpp:
(WebCore::matchIntegrityMetadataSlow):
(WebCore::matchIntegrityMetadata): Deleted.
* Source/WebCore/loader/SubresourceIntegrity.h:
(WebCore::matchIntegrityMetadata):
* Source/WebCore/loader/cache/CachedResource.cpp:
(WebCore::CachedResource::setBodyDataFrom):
(WebCore::CachedResource::finishLoading):
(WebCore::CachedResource::error):
(WebCore::CachedResource::clearCachedCryptographicDigests):
(WebCore::CachedResource::cryptographicDigest const):
* Source/WebCore/loader/cache/CachedResource.h:
Canonical link: https://commits.webkit.org/261392@main
More information about the webkit-changes
mailing list