Index: content/common/origin_trials/trial_token.h |
diff --git a/content/common/origin_trials/trial_token.h b/content/common/origin_trials/trial_token.h |
index ca040c27421fa945989e9740834d250d14ea32c3..73eb3616f677faa51779ae62c6281e54ecb6342a 100644 |
--- a/content/common/origin_trials/trial_token.h |
+++ b/content/common/origin_trials/trial_token.h |
@@ -13,6 +13,8 @@ |
#include "content/common/content_export.h" |
#include "url/origin.h" |
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size); |
+ |
namespace blink { |
enum class WebOriginTrialTokenStatus; |
} |
@@ -60,7 +62,12 @@ class CONTENT_EXPORT TrialToken { |
base::Time expiry_time() { return expiry_time_; } |
protected: |
+ // Tests can access the Parse method directly to validate it, and so are |
+ // declared as friends here. All other access to Parse should be made through |
+ // TrialToken::From, which will always also ensure that there is a valid |
+ // signature attached to the token. |
friend class TrialTokenTest; |
+ friend int ::LLVMFuzzerTestOneInput(const uint8_t*, size_t); |
// If the string represents a properly signed and well-formed token, the token |
// payload is returned in the |out_token_payload| parameter and success is |