Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: content/child/origin_trials/trial_token_validator.cc

Issue 1653263005: [Experimental Framework] Move the trial token public key out of content and into the embedder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase; fix DLL export error in VS compile Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/child/origin_trials/trial_token_validator.h" 5 #include "content/child/origin_trials/trial_token_validator.h"
6 6
7 #include "base/time/time.h" 7 #include "base/time/time.h"
8 #include "content/common/origin_trials/trial_token.h" 8 #include "content/common/origin_trials/trial_token.h"
9 #include "content/public/common/content_client.h"
9 10
10 namespace content { 11 namespace content {
11 12
12 TrialTokenValidator::TrialTokenValidator() {} 13 TrialTokenValidator::TrialTokenValidator() {}
13 TrialTokenValidator::~TrialTokenValidator() {} 14 TrialTokenValidator::~TrialTokenValidator() {}
14 15
15 bool TrialTokenValidator::validateToken(const blink::WebString& token, 16 bool TrialTokenValidator::validateToken(const blink::WebString& token,
16 const blink::WebString& origin, 17 const blink::WebString& origin,
17 const blink::WebString& featureName) { 18 const blink::WebString& featureName) {
18 scoped_ptr<TrialToken> trialToken = TrialToken::Parse(token.utf8()); 19 scoped_ptr<TrialToken> trial_token = TrialToken::Parse(token.utf8());
19 return trialToken && 20
20 trialToken->IsAppropriate(origin.utf8(), featureName.utf8()) && 21 ContentClient* content_client = GetContentClient();
21 trialToken->IsValid(base::Time::Now()); 22 CHECK(content_client);
23
24 base::StringPiece public_key = content_client->GetOriginTrialPublicKey();
25
26 return !public_key.empty() && trial_token &&
27 trial_token->IsAppropriate(origin.utf8(), featureName.utf8()) &&
28 trial_token->IsValid(base::Time::Now(), public_key);
22 } 29 }
23 30
24 } // namespace content 31 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698