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

Unified Diff: content/common/origin_trials/trial_token_validator.cc

Issue 2555333006: Deflake origin trial token validator tests (Closed)
Patch Set: Switch WrapUnique to MakeUnique Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
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 bb1c232a6b80e04ea6e35f1f3052ff609514a999..3412ed98bd26e6145f25769484afbb5c423dbdb2 100644
--- a/content/common/origin_trials/trial_token_validator.cc
+++ b/content/common/origin_trials/trial_token_validator.cc
@@ -21,7 +21,8 @@ namespace content {
blink::WebOriginTrialTokenStatus TrialTokenValidator::ValidateToken(
const std::string& token,
const url::Origin& origin,
- std::string* feature_name) {
+ std::string* feature_name,
+ base::Time current_time) {
ContentClient* content_client = GetContentClient();
const OriginTrialPolicy* origin_trial_policy =
content_client->GetOriginTrialPolicy();
@@ -40,7 +41,7 @@ blink::WebOriginTrialTokenStatus TrialTokenValidator::ValidateToken(
if (status != blink::WebOriginTrialTokenStatus::kSuccess)
return status;
- status = trial_token->IsValid(origin, base::Time::Now());
+ status = trial_token->IsValid(origin, current_time);
if (status != blink::WebOriginTrialTokenStatus::kSuccess)
return status;
@@ -54,19 +55,20 @@ blink::WebOriginTrialTokenStatus TrialTokenValidator::ValidateToken(
return blink::WebOriginTrialTokenStatus::kSuccess;
}
-bool TrialTokenValidator::RequestEnablesFeature(
- const net::URLRequest* request,
- base::StringPiece feature_name) {
+bool TrialTokenValidator::RequestEnablesFeature(const net::URLRequest* request,
+ base::StringPiece feature_name,
+ base::Time current_time) {
// TODO(mek): Possibly cache the features that are availble for request in
// UserData associated with the request.
return RequestEnablesFeature(request->url(), request->response_headers(),
- feature_name);
+ feature_name, current_time);
}
bool TrialTokenValidator::RequestEnablesFeature(
const GURL& request_url,
const net::HttpResponseHeaders* response_headers,
- base::StringPiece feature_name) {
+ base::StringPiece feature_name,
+ base::Time current_time) {
if (!base::FeatureList::IsEnabled(features::kOriginTrials))
return false;
@@ -79,7 +81,7 @@ bool TrialTokenValidator::RequestEnablesFeature(
while (response_headers->EnumerateHeader(&iter, "Origin-Trial", &token)) {
std::string token_feature;
// TODO(mek): Log the validation errors to histograms?
- if (ValidateToken(token, origin, &token_feature) ==
+ if (ValidateToken(token, origin, &token_feature, current_time) ==
blink::WebOriginTrialTokenStatus::kSuccess)
if (token_feature == feature_name)
return true;
@@ -90,7 +92,8 @@ bool TrialTokenValidator::RequestEnablesFeature(
std::unique_ptr<TrialTokenValidator::FeatureToTokensMap>
TrialTokenValidator::GetValidTokensFromHeaders(
const url::Origin& origin,
- const net::HttpResponseHeaders* headers) {
+ const net::HttpResponseHeaders* headers,
+ base::Time current_time) {
std::unique_ptr<FeatureToTokensMap> tokens(
base::MakeUnique<FeatureToTokensMap>());
if (!base::FeatureList::IsEnabled(features::kOriginTrials))
@@ -103,7 +106,8 @@ TrialTokenValidator::GetValidTokensFromHeaders(
std::string token;
while (headers->EnumerateHeader(&iter, "Origin-Trial", &token)) {
std::string token_feature;
- if (TrialTokenValidator::ValidateToken(token, origin, &token_feature) ==
+ if (TrialTokenValidator::ValidateToken(token, origin, &token_feature,
+ current_time) ==
blink::WebOriginTrialTokenStatus::kSuccess) {
(*tokens)[token_feature].push_back(token);
}
@@ -113,7 +117,8 @@ TrialTokenValidator::GetValidTokensFromHeaders(
std::unique_ptr<TrialTokenValidator::FeatureToTokensMap>
TrialTokenValidator::GetValidTokens(const url::Origin& origin,
- const FeatureToTokensMap& tokens) {
+ const FeatureToTokensMap& tokens,
+ base::Time current_time) {
std::unique_ptr<FeatureToTokensMap> out_tokens(
base::MakeUnique<FeatureToTokensMap>());
if (!base::FeatureList::IsEnabled(features::kOriginTrials))
@@ -125,7 +130,8 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin,
for (const auto& feature : tokens) {
for (const std::string& token : feature.second) {
std::string token_feature;
- if (TrialTokenValidator::ValidateToken(token, origin, &token_feature) ==
+ if (TrialTokenValidator::ValidateToken(token, origin, &token_feature,
+ current_time) ==
blink::WebOriginTrialTokenStatus::kSuccess) {
DCHECK_EQ(token_feature, feature.first);
(*out_tokens)[feature.first].push_back(token);
« no previous file with comments | « content/common/origin_trials/trial_token_validator.h ('k') | content/common/origin_trials/trial_token_validator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698