blob: fa8a1175b66bd065c8d7d0983ae476bd7d0fc0ff [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/origin_trials/web_trial_token_validator_impl.h"
#include "base/time/time.h"
#include "third_party/WebKit/common/origin_trials/trial_token.h"
#include "third_party/WebKit/common/origin_trials/trial_token_validator.h"
namespace content {
WebTrialTokenValidatorImpl::WebTrialTokenValidatorImpl(
std::unique_ptr<blink::TrialTokenValidator> validator)
: validator_(std::move(validator)) {
DCHECK(validator_.get()) << "Should not pass null validator.";
}
WebTrialTokenValidatorImpl::~WebTrialTokenValidatorImpl() {}
blink::OriginTrialTokenStatus WebTrialTokenValidatorImpl::ValidateToken(
const blink::WebString& token,
const blink::WebSecurityOrigin& origin,
blink::WebString* feature_name) {
std::string feature;
blink::OriginTrialTokenStatus status = validator_->ValidateToken(
token.Utf8(), origin, &feature, base::Time::Now());
if (status == blink::OriginTrialTokenStatus::kSuccess)
*feature_name = blink::WebString::FromUTF8(feature);
return status;
}
} // namespace content