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

Unified Diff: third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp

Issue 1840193006: Move token gathering into parser Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add file lost with git reset Created 4 years, 9 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: 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)
{
}

Powered by Google App Engine
This is Rietveld 408576698