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

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

Issue 1875593003: Revert of Store the list of trial tokens in OriginTrialContext (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/OriginTrialContextTest.cpp
diff --git a/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp b/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
index 64a24a383e3502e068aad4d1f70c5e54788ed8be..843129ea6e19430f67f023d30eb036d603f0edd3 100644
--- a/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
+++ b/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
@@ -68,15 +68,60 @@
DISALLOW_COPY_AND_ASSIGN(MockTokenValidator);
};
+// Concrete subclass of OriginTrialContext which simply maintains a vector of
+// token strings to use for tests.
+class TestOriginTrialContext : public OriginTrialContext {
+public:
+ TestOriginTrialContext()
+ : m_parent(new NullExecutionContext())
+ {
+ }
+
+ ~TestOriginTrialContext() override = default;
+
+ ExecutionContext* getExecutionContext() override { return m_parent.get(); }
+
+ void addToken(const String& token)
+ {
+ m_tokens.append(token);
+ }
+
+ void updateSecurityOrigin(const String& origin)
+ {
+ KURL pageURL(ParsedURLString, origin);
+ RefPtr<SecurityOrigin> pageOrigin = SecurityOrigin::create(pageURL);
+ m_parent->setSecurityOrigin(pageOrigin);
+ m_parent->setIsSecureContext(SecurityOrigin::isSecure(pageURL));
+ }
+
+ Vector<String> getTokens() override
+ {
+ Vector<String> tokens;
+ for (String token : m_tokens) {
+ tokens.append(token);
+ }
+ return tokens;
+ }
+
+ DEFINE_INLINE_VIRTUAL_TRACE()
+ {
+ visitor->trace(m_parent);
+ OriginTrialContext::trace(visitor);
+ }
+
+private:
+ Member<NullExecutionContext> m_parent;
+ Vector<String> m_tokens;
+};
+
} // namespace
class OriginTrialContextTest : public ::testing::Test {
protected:
OriginTrialContextTest()
: m_frameworkWasEnabled(RuntimeEnabledFeatures::experimentalFrameworkEnabled())
- , m_executionContext(new NullExecutionContext())
, m_tokenValidator(adoptPtr(new MockTokenValidator()))
- , m_originTrialContext(new OriginTrialContext(m_executionContext.get()))
+ , m_originTrialContext(new TestOriginTrialContext)
{
RuntimeEnabledFeatures::setExperimentalFrameworkEnabled(true);
}
@@ -88,17 +133,9 @@
MockTokenValidator* tokenValidator() { return m_tokenValidator.get(); }
- void updateSecurityOrigin(const String& origin)
- {
- KURL pageURL(ParsedURLString, origin);
- RefPtr<SecurityOrigin> pageOrigin = SecurityOrigin::create(pageURL);
- m_executionContext->setSecurityOrigin(pageOrigin);
- m_executionContext->setIsSecureContext(SecurityOrigin::isSecure(pageURL));
- }
-
bool isFeatureEnabled(const String& origin, const String& featureName, const String& token, String* errorMessage)
{
- updateSecurityOrigin(origin);
+ m_originTrialContext->updateSecurityOrigin(origin);
m_originTrialContext->addToken(token);
return m_originTrialContext->isFeatureEnabled(featureName, errorMessage, tokenValidator());
}
@@ -110,9 +147,8 @@
private:
const bool m_frameworkWasEnabled;
- Persistent<NullExecutionContext> m_executionContext;
OwnPtr<MockTokenValidator> m_tokenValidator;
- Persistent<OriginTrialContext> m_originTrialContext;
+ Persistent<TestOriginTrialContext> m_originTrialContext;
};
TEST_F(OriginTrialContextTest, EnabledNonExistingFeature)

Powered by Google App Engine
This is Rietveld 408576698