| Index: third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| diff --git a/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp b/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| index 6d3f81da71111c51b9c5f3b4e3e81f5b73e912e3..3dec89198744a075f6c90ef647f74b336cbb63bb 100644
|
| --- a/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| +++ b/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| @@ -33,7 +33,7 @@ String getInvalidTokenMessage(const String& featureName)
|
|
|
| const char OriginTrialContext::kTrialHeaderName[] = "origin-trial";
|
|
|
| -OriginTrialContext::OriginTrialContext() {}
|
| +OriginTrialContext::OriginTrialContext() : m_finalized(false) {}
|
|
|
| bool OriginTrialContext::isFeatureEnabled(const String& featureName, String* errorMessage, WebTrialTokenValidator* validator)
|
| {
|
| @@ -68,6 +68,22 @@ bool OriginTrialContext::isFeatureEnabled(const String& featureName, String* err
|
| return hasValidToken(getTokens(), featureName, errorMessage, validator);
|
| }
|
|
|
| +Vector<String> OriginTrialContext::getTokens()
|
| +{
|
| + // Default implementation: Just return the list of tokens.
|
| + // TODO: Eliminate this copy; make the tokens (and the vector) const
|
| + Vector<String> tokens;
|
| + for (String token : m_tokens) {
|
| + tokens.append(token);
|
| + }
|
| + return tokens;
|
| +}
|
| +
|
| +void OriginTrialContext::resetOriginTrialsForTesting()
|
| +{
|
| + m_tokens.clear();
|
| +}
|
| +
|
| bool OriginTrialContext::hasValidToken(Vector<String> tokens, const String& featureName, String* errorMessage, WebTrialTokenValidator* validator)
|
| {
|
| WebSecurityOrigin origin(getExecutionContext()->getSecurityOrigin());
|
| @@ -99,6 +115,19 @@ bool OriginTrialContext::hasValidToken(Vector<String> tokens, const String& feat
|
| return false;
|
| }
|
|
|
| +void OriginTrialContext::addToken(const String& token)
|
| +{
|
| + if (!m_finalized) {
|
| + m_tokens.append(token);
|
| + }
|
| +}
|
| +
|
| +void OriginTrialContext::finalizeTokens()
|
| +{
|
| + m_finalized = true;
|
| +}
|
| +
|
| +
|
| DEFINE_TRACE(OriginTrialContext)
|
| {
|
| }
|
|
|