Index: content/common/origin_trials/trial_token_validator.cc |
diff --git a/content/common/origin_trials/trial_token_validator.cc b/content/common/origin_trials/trial_token_validator.cc |
index b7d61fec4b1969e21fc6de8cce55143c1a3fc14f..69f3bac7926df4dfb5c3297d4857baf6d26ec438 100644 |
--- a/content/common/origin_trials/trial_token_validator.cc |
+++ b/content/common/origin_trials/trial_token_validator.cc |
@@ -13,16 +13,17 @@ namespace content { |
bool TrialTokenValidator::ValidateToken(const std::string& token, |
const url::Origin& origin, |
base::StringPiece featureName) { |
- scoped_ptr<TrialToken> trial_token = TrialToken::Parse(token); |
- |
// TODO(iclelland): Allow for multiple signing keys, and iterate over all |
// active keys here. https://crbug.com/543220 |
ContentClient* content_client = GetContentClient(); |
base::StringPiece public_key = content_client->GetOriginTrialPublicKey(); |
+ if (public_key.empty()) { |
+ return false; |
+ } |
+ scoped_ptr<TrialToken> trial_token = TrialToken::From(token, public_key); |
- return !public_key.empty() && trial_token && |
- trial_token->IsAppropriate(origin, featureName) && |
- trial_token->IsValid(base::Time::Now(), public_key); |
+ return trial_token && |
+ trial_token->IsValidForFeature(origin, featureName, base::Time::Now()); |
} |
} // namespace content |