summaryrefslogtreecommitdiff
path: root/chromium/third_party/WebKit/Source/core/origin_trials
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-05 17:15:33 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-11 07:47:18 +0000
commit7324afb043a0b1e623d8e8eb906cdc53bdeb4685 (patch)
treea3fe2d74ea9c9e142c390dac4ca0e219382ace46 /chromium/third_party/WebKit/Source/core/origin_trials
parent6a4cabb866f66d4128a97cdc6d9d08ce074f1247 (diff)
downloadqtwebengine-chromium-7324afb043a0b1e623d8e8eb906cdc53bdeb4685.tar.gz
BASELINE: Update Chromium to 58.0.3029.54
Change-Id: I67f57065a7afdc8e4614adb5c0230281428df4d1 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/origin_trials')
-rw-r--r--chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp40
-rw-r--r--chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h5
-rw-r--r--chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp2
3 files changed, 22 insertions, 25 deletions
diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
index c27eb23a7e3..6f9317af308 100644
--- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
+++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
@@ -20,11 +20,10 @@
#include "public/platform/WebOriginTrialTokenStatus.h"
#include "public/platform/WebSecurityOrigin.h"
#include "public/platform/WebTrialTokenValidator.h"
+#include "v8/include/v8.h"
#include "wtf/Vector.h"
#include "wtf/text/StringBuilder.h"
-#include <v8.h>
-
namespace blink {
namespace {
@@ -86,9 +85,9 @@ String extractTokenOrQuotedString(const String& headerValue, unsigned& pos) {
} // namespace
-OriginTrialContext::OriginTrialContext(ExecutionContext* host,
+OriginTrialContext::OriginTrialContext(ExecutionContext& context,
WebTrialTokenValidator* validator)
- : m_host(host), m_trialTokenValidator(validator) {}
+ : Supplement<ExecutionContext>(context), m_trialTokenValidator(validator) {}
// static
const char* OriginTrialContext::supplementName() {
@@ -96,14 +95,14 @@ const char* OriginTrialContext::supplementName() {
}
// static
-OriginTrialContext* OriginTrialContext::from(ExecutionContext* host,
+OriginTrialContext* OriginTrialContext::from(ExecutionContext* context,
CreateMode create) {
OriginTrialContext* originTrials = static_cast<OriginTrialContext*>(
- Supplement<ExecutionContext>::from(host, supplementName()));
+ Supplement<ExecutionContext>::from(context, supplementName()));
if (!originTrials && create == CreateIfNotExists) {
originTrials = new OriginTrialContext(
- host, Platform::current()->trialTokenValidator());
- Supplement<ExecutionContext>::provideTo(*host, supplementName(),
+ *context, Platform::current()->trialTokenValidator());
+ Supplement<ExecutionContext>::provideTo(*context, supplementName(),
originTrials);
}
return originTrials;
@@ -127,28 +126,28 @@ std::unique_ptr<Vector<String>> OriginTrialContext::parseHeaderValue(
}
// static
-void OriginTrialContext::addTokensFromHeader(ExecutionContext* host,
+void OriginTrialContext::addTokensFromHeader(ExecutionContext* context,
const String& headerValue) {
if (headerValue.isEmpty())
return;
std::unique_ptr<Vector<String>> tokens(parseHeaderValue(headerValue));
if (!tokens)
return;
- addTokens(host, tokens.get());
+ addTokens(context, tokens.get());
}
// static
-void OriginTrialContext::addTokens(ExecutionContext* host,
+void OriginTrialContext::addTokens(ExecutionContext* context,
const Vector<String>* tokens) {
if (!tokens || tokens->isEmpty())
return;
- from(host)->addTokens(*tokens);
+ from(context)->addTokens(*tokens);
}
// static
std::unique_ptr<Vector<String>> OriginTrialContext::getTokens(
- ExecutionContext* host) {
- OriginTrialContext* context = from(host, DontCreateIfNotExists);
+ ExecutionContext* executionContext) {
+ OriginTrialContext* context = from(executionContext, DontCreateIfNotExists);
if (!context || context->m_tokens.isEmpty())
return nullptr;
return std::unique_ptr<Vector<String>>(new Vector<String>(context->m_tokens));
@@ -186,9 +185,9 @@ void OriginTrialContext::addTokens(const Vector<String>& tokens) {
void OriginTrialContext::initializePendingFeatures() {
if (!m_enabledTrials.size())
return;
- if (!m_host->isDocument())
+ if (!supplementable()->isDocument())
return;
- LocalFrame* frame = toDocument(m_host.get())->frame();
+ LocalFrame* frame = toDocument(supplementable())->frame();
if (!frame)
return;
ScriptState* scriptState = ScriptState::forMainWorld(frame);
@@ -201,7 +200,7 @@ void OriginTrialContext::initializePendingFeatures() {
if (m_installedTrials.contains(enabledTrial))
continue;
installPendingConditionalFeature(enabledTrial, scriptState);
- m_installedTrials.add(enabledTrial);
+ m_installedTrials.insert(enabledTrial);
}
}
@@ -216,7 +215,7 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) {
DCHECK(!token.isEmpty());
// Origin trials are only enabled for secure origins
- if (!m_host->isSecureContext()) {
+ if (!supplementable()->isSecureContext()) {
tokenValidationResultHistogram().count(
static_cast<int>(WebOriginTrialTokenStatus::Insecure));
return false;
@@ -228,14 +227,14 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) {
return false;
}
- WebSecurityOrigin origin(m_host->getSecurityOrigin());
+ WebSecurityOrigin origin(supplementable()->getSecurityOrigin());
WebString trialName;
bool valid = false;
WebOriginTrialTokenStatus tokenResult =
m_trialTokenValidator->validateToken(token, origin, &trialName);
if (tokenResult == WebOriginTrialTokenStatus::Success) {
valid = true;
- m_enabledTrials.add(trialName);
+ m_enabledTrials.insert(trialName);
}
tokenValidationResultHistogram().count(static_cast<int>(tokenResult));
@@ -243,7 +242,6 @@ bool OriginTrialContext::enableTrialFromToken(const String& token) {
}
DEFINE_TRACE(OriginTrialContext) {
- visitor->trace(m_host);
Supplement<ExecutionContext>::trace(visitor);
}
diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h
index 2a31580b5f6..dda09977493 100644
--- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h
+++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.h
@@ -25,7 +25,7 @@ class WebTrialTokenValidator;
// context. This class is not for direct use by feature implementers.
// Instead, the OriginTrials generated namespace provides a method for each
// trial to check if it is enabled. Experimental features must be defined in
-// RuntimeEnabledFeatures.in, which is used to generate OriginTrials.h/cpp.
+// RuntimeEnabledFeatures.json5, which is used to generate OriginTrials.h/cpp.
//
// Origin trials are defined by string names, provided by the implementers. The
// framework does not maintain an enum or constant list for trial names.
@@ -40,7 +40,7 @@ class CORE_EXPORT OriginTrialContext final
public:
enum CreateMode { CreateIfNotExists, DontCreateIfNotExists };
- OriginTrialContext(ExecutionContext*, WebTrialTokenValidator*);
+ OriginTrialContext(ExecutionContext&, WebTrialTokenValidator*);
static const char* supplementName();
@@ -90,7 +90,6 @@ class CORE_EXPORT OriginTrialContext final
// the token is valid.
bool enableTrialFromToken(const String& token);
- Member<ExecutionContext> m_host;
Vector<String> m_tokens;
HashSet<String> m_enabledTrials;
HashSet<String> m_installedTrials;
diff --git a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
index 9ca6eafa57d..4261d607f62 100644
--- a/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
+++ b/chromium/third_party/WebKit/Source/core/origin_trials/OriginTrialContextTest.cpp
@@ -74,7 +74,7 @@ class OriginTrialContextTest : public ::testing::Test {
: m_frameworkWasEnabled(RuntimeEnabledFeatures::originTrialsEnabled()),
m_executionContext(new NullExecutionContext()),
m_tokenValidator(WTF::makeUnique<MockTokenValidator>()),
- m_originTrialContext(new OriginTrialContext(m_executionContext.get(),
+ m_originTrialContext(new OriginTrialContext(*m_executionContext,
m_tokenValidator.get())),
m_histogramTester(new HistogramTester()) {
RuntimeEnabledFeatures::setOriginTrialsEnabled(true);