forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make TrustTokenStore origins type-safe
At a fundamental level, TrustTokenStore requires that all of its url::Origin arguments have unique serializations, in order to key persistent state by their serializations. It currently enforces this by requiring that all of its operations' origin parameters be non-opaque and either HTTP or HTTPS. SuitableTrustTokenOrigin is a url::Origin wrapper encoding slightly stricter preconditions (IsPotentiallyTrustworthy and HTTP or HTTPS) under which an origin is suitable for use in a Trust Tokens operation. This change modifies TrustTokenStore's interface to take SuitableTrustTokenOrigins rather than url::Origins. SuitableTrustTokenOrigin's properties are not exactly the same as what TrustTokenStore needs to require in order to satisfy its contract (put in state keyed to an origin, get out state corresponding to the same origin), but all use of the store is expected to be of origins that satisfy SuitableTrustTokenOrigin's requirements, so the difference between the preconditions it enforces and TrustTokenStore's current interface seems mostly academic. This change makes the interface much simpler (not to mention safer) as preconditions can now be enforced implicitly rather than through method comments and DCHECKs. R=csharrison Bug: 1042962 Change-Id: I38db356efe0d85f76662d814ee973c0e2a5c9349 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2134598 Commit-Queue: David Van Cleve <davidvc@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Auto-Submit: David Van Cleve <davidvc@chromium.org> Cr-Commit-Position: refs/heads/master@{#757577}
- Loading branch information
David Van Cleve
authored and
Commit Bot
committed
Apr 8, 2020
1 parent
507e933
commit 292fe40
Showing
9 changed files
with
231 additions
and
198 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.