Index: content/child/origin_trials/trial_token_validator.cc |
diff --git a/content/child/origin_trials/trial_token_validator.cc b/content/child/origin_trials/trial_token_validator.cc |
index b1015c54a692b362889bc6d3352f605b3b1e26c3..4c984f3e825ee05ad3a541888e607b475837fb80 100644 |
--- a/content/child/origin_trials/trial_token_validator.cc |
+++ b/content/child/origin_trials/trial_token_validator.cc |
@@ -6,6 +6,7 @@ |
#include "base/time/time.h" |
#include "content/common/origin_trials/trial_token.h" |
+#include "content/public/common/content_client.h" |
namespace content { |
@@ -15,10 +16,16 @@ TrialTokenValidator::~TrialTokenValidator() {} |
bool TrialTokenValidator::validateToken(const blink::WebString& token, |
const blink::WebString& origin, |
const blink::WebString& featureName) { |
- scoped_ptr<TrialToken> trialToken = TrialToken::Parse(token.utf8()); |
- return trialToken && |
- trialToken->IsAppropriate(origin.utf8(), featureName.utf8()) && |
- trialToken->IsValid(base::Time::Now()); |
+ scoped_ptr<TrialToken> trial_token = TrialToken::Parse(token.utf8()); |
+ |
+ ContentClient* content_client = GetContentClient(); |
+ CHECK(content_client); |
+ |
+ base::StringPiece public_key = content_client->GetOriginTrialPublicKey(); |
+ |
+ return !public_key.empty() && trial_token && |
+ trial_token->IsAppropriate(origin.utf8(), featureName.utf8()) && |
+ trial_token->IsValid(base::Time::Now(), public_key); |
} |
} // namespace content |